From 2fd707d850fa112e5d9f35797ee6145066c3d44d Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 10 Jul 2024 09:59:23 -0700 Subject: [PATCH 01/89] Disable noEmitOnError (#59223) --- src/tsconfig-base.json | 1 - 1 file changed, 1 deletion(-) diff --git a/src/tsconfig-base.json b/src/tsconfig-base.json index fa600e7f687..e4615aa7854 100644 --- a/src/tsconfig-base.json +++ b/src/tsconfig-base.json @@ -13,7 +13,6 @@ "declarationMap": true, "sourceMap": true, "composite": true, - "noEmitOnError": true, "emitDeclarationOnly": true, "strict": true, From ed17a89c1e13a8667f62210422ae8de089c09713 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 10 Jul 2024 13:05:12 -0700 Subject: [PATCH 02/89] Write non-missing undefined on mapped type results into output (#59208) --- src/compiler/checker.ts | 16 +++-- ...eused(exactoptionalpropertytypes=false).js | 39 +++++++++++ ...(exactoptionalpropertytypes=false).symbols | 65 +++++++++++++++++++ ...ed(exactoptionalpropertytypes=false).types | 53 +++++++++++++++ ...Reused(exactoptionalpropertytypes=true).js | 39 +++++++++++ ...d(exactoptionalpropertytypes=true).symbols | 65 +++++++++++++++++++ ...sed(exactoptionalpropertytypes=true).types | 53 +++++++++++++++ ...itUsingAlternativeContainingModules1.types | 12 ++-- ...itUsingAlternativeContainingModules2.types | 16 ++--- .../identityAndDivergentNormalizedTypes.types | 4 +- .../isomorphicMappedTypeInference.types | 8 +-- .../reference/mappedTypeErrors.types | 4 +- ...ExactOptionalPropertyTypesNodeNotReused.ts | 22 +++++++ 13 files changed, 370 insertions(+), 26 deletions(-) create mode 100644 tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=false).js create mode 100644 tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=false).symbols create mode 100644 tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=false).types create mode 100644 tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=true).js create mode 100644 tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=true).symbols create mode 100644 tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=true).types create mode 100644 tests/cases/compiler/declarationEmitExactOptionalPropertyTypesNodeNotReused.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 6e63f64ac48..7cde9314450 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -6113,11 +6113,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { ) { const originalType = type; if (addUndefined) { - type = getOptionalType(type); + type = getOptionalType(type, !isParameter(host)); } const clone = tryReuseExistingNonParameterTypeNode(context, typeNode, type, host); if (clone) { - if (addUndefined && !someType(getTypeFromTypeNode(context, typeNode), t => !!(t.flags & TypeFlags.Undefined))) { + // explicitly add `| undefined` if it's missing from the input type nodes and the type contains `undefined` (and not the missing type) + if (addUndefined && containsNonMissingUndefinedType(type) && !someType(getTypeFromTypeNode(context, typeNode), t => !!(t.flags & TypeFlags.Undefined))) { return factory.createUnionTypeNode([clone, factory.createKeywordTypeNode(SyntaxKind.UndefinedKeyword)]); } return clone; @@ -8252,7 +8253,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { * @param symbol - The symbol is used both to find an existing annotation if declaration is not provided, and to determine if `unique symbol` should be printed */ function serializeTypeForDeclaration(context: NodeBuilderContext, declaration: Declaration | undefined, type: Type, symbol: Symbol) { - const addUndefined = declaration && (isParameter(declaration) || isJSDocParameterTag(declaration)) && requiresAddingImplicitUndefined(declaration); + const addUndefinedForParameter = declaration && (isParameter(declaration) || isJSDocParameterTag(declaration)) && requiresAddingImplicitUndefined(declaration); const enclosingDeclaration = context.enclosingDeclaration; const oldFlags = context.flags; if (declaration && hasInferredType(declaration) && !(context.flags & NodeBuilderFlags.NoSyntacticPrinter)) { @@ -8266,6 +8267,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (declWithExistingAnnotation && !isFunctionLikeDeclaration(declWithExistingAnnotation) && !isGetAccessorDeclaration(declWithExistingAnnotation)) { // try to reuse the existing annotation const existing = getNonlocalEffectiveTypeAnnotationNode(declWithExistingAnnotation)!; + // explicitly add `| undefined` to optional mapped properties whose type contains `undefined` (and not `missing`) + const addUndefined = addUndefinedForParameter || !!(symbol.flags & SymbolFlags.Property && symbol.flags & SymbolFlags.Optional && isOptionalDeclaration(declWithExistingAnnotation) && (symbol as MappedSymbol).links?.mappedType && containsNonMissingUndefinedType(type)); const result = !isTypePredicateNode(existing) && tryReuseExistingTypeNode(context, existing, type, declWithExistingAnnotation, addUndefined); if (result) { context.flags = oldFlags; @@ -8283,7 +8286,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const decl = declaration ?? symbol.valueDeclaration ?? symbol.declarations?.[0]; const expr = decl && isDeclarationWithPossibleInnerTypeNodeReuse(decl) ? getPossibleTypeNodeReuseExpression(decl) : undefined; - const result = expressionOrTypeToTypeNode(context, expr, type, addUndefined); + const result = expressionOrTypeToTypeNode(context, expr, type, addUndefinedForParameter); context.flags = oldFlags; return result; } @@ -21425,6 +21428,11 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return !!((type.flags & TypeFlags.Union ? (type as UnionType).types[0] : type).flags & TypeFlags.Undefined); } + function containsNonMissingUndefinedType(type: Type) { + const candidate = type.flags & TypeFlags.Union ? (type as UnionType).types[0] : type; + return !!(candidate.flags & TypeFlags.Undefined) && candidate !== missingType; + } + function isStringIndexSignatureOnlyType(type: Type): boolean { return type.flags & TypeFlags.Object && !isGenericMappedType(type) && getPropertiesOfType(type).length === 0 && getIndexInfosOfType(type).length === 1 && !!getIndexInfoOfType(type, stringType) || type.flags & TypeFlags.UnionOrIntersection && every((type as UnionOrIntersectionType).types, isStringIndexSignatureOnlyType) || diff --git a/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=false).js b/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=false).js new file mode 100644 index 00000000000..2de748b45e6 --- /dev/null +++ b/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=false).js @@ -0,0 +1,39 @@ +//// [tests/cases/compiler/declarationEmitExactOptionalPropertyTypesNodeNotReused.ts] //// + +//// [declarationEmitExactOptionalPropertyTypesNodeNotReused.ts] +type InexactOptionals = { + [K in keyof A as undefined extends A[K] ? K : never]?: undefined extends A[K] + ? A[K] | undefined + : A[K]; +} & { + [K in keyof A as undefined extends A[K] ? never : K]: A[K]; +}; + +type In = { + foo?: string; + bar: number; + baz: undefined; +} + +type Out = InexactOptionals + +const foo = () => (x: Out & A) => null + +export const baddts = foo() + + +//// [declarationEmitExactOptionalPropertyTypesNodeNotReused.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.baddts = void 0; +var foo = function () { return function (x) { return null; }; }; +exports.baddts = foo(); + + +//// [declarationEmitExactOptionalPropertyTypesNodeNotReused.d.ts] +export declare const baddts: (x: { + foo?: string | undefined; + baz?: undefined; +} & { + bar: number; +}) => null; diff --git a/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=false).symbols b/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=false).symbols new file mode 100644 index 00000000000..779755660a4 --- /dev/null +++ b/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=false).symbols @@ -0,0 +1,65 @@ +//// [tests/cases/compiler/declarationEmitExactOptionalPropertyTypesNodeNotReused.ts] //// + +=== declarationEmitExactOptionalPropertyTypesNodeNotReused.ts === +type InexactOptionals = { +>InexactOptionals : Symbol(InexactOptionals, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 0)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) + + [K in keyof A as undefined extends A[K] ? K : never]?: undefined extends A[K] +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 1, 5)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 1, 5)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 1, 5)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 1, 5)) + + ? A[K] | undefined +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 1, 5)) + + : A[K]; +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 1, 5)) + +} & { + [K in keyof A as undefined extends A[K] ? never : K]: A[K]; +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 5, 5)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 5, 5)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 5, 5)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 5, 5)) + +}; + +type In = { +>In : Symbol(In, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 6, 2)) + + foo?: string; +>foo : Symbol(foo, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 8, 11)) + + bar: number; +>bar : Symbol(bar, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 9, 17)) + + baz: undefined; +>baz : Symbol(baz, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 10, 16)) +} + +type Out = InexactOptionals +>Out : Symbol(Out, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 12, 1)) +>InexactOptionals : Symbol(InexactOptionals, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 0)) +>In : Symbol(In, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 6, 2)) + +const foo = () => (x: Out & A) => null +>foo : Symbol(foo, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 16, 5)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 16, 13)) +>x : Symbol(x, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 16, 27)) +>Out : Symbol(Out, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 12, 1)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 16, 13)) + +export const baddts = foo() +>baddts : Symbol(baddts, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 18, 12)) +>foo : Symbol(foo, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 16, 5)) + diff --git a/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=false).types b/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=false).types new file mode 100644 index 00000000000..05a99feaa03 --- /dev/null +++ b/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=false).types @@ -0,0 +1,53 @@ +//// [tests/cases/compiler/declarationEmitExactOptionalPropertyTypesNodeNotReused.ts] //// + +=== declarationEmitExactOptionalPropertyTypesNodeNotReused.ts === +type InexactOptionals = { +>InexactOptionals : InexactOptionals +> : ^^^^^^^^^^^^^^^^^^^ + + [K in keyof A as undefined extends A[K] ? K : never]?: undefined extends A[K] + ? A[K] | undefined + : A[K]; +} & { + [K in keyof A as undefined extends A[K] ? never : K]: A[K]; +}; + +type In = { +>In : In +> : ^^ + + foo?: string; +>foo : string | undefined +> : ^^^^^^^^^^^^^^^^^^ + + bar: number; +>bar : number +> : ^^^^^^ + + baz: undefined; +>baz : undefined +> : ^^^^^^^^^ +} + +type Out = InexactOptionals +>Out : Out +> : ^^^ + +const foo = () => (x: Out & A) => null +>foo : () => (x: Out & A) => null +> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>() => (x: Out & A) => null : () => (x: Out & A) => null +> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>(x: Out & A) => null : (x: Out & A) => null +> : ^ ^^ ^^^^^^^^^ +>x : { foo?: string | undefined; baz?: undefined; } & { bar: number; } & A +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ + +export const baddts = foo() +>baddts : (x: { foo?: string | undefined; baz?: undefined; } & { bar: number; }) => null +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ +>foo() : (x: { foo?: string | undefined; baz?: undefined; } & { bar: number; }) => null +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ +>foo : () => (x: Out & A) => null +> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ + diff --git a/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=true).js b/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=true).js new file mode 100644 index 00000000000..2de748b45e6 --- /dev/null +++ b/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=true).js @@ -0,0 +1,39 @@ +//// [tests/cases/compiler/declarationEmitExactOptionalPropertyTypesNodeNotReused.ts] //// + +//// [declarationEmitExactOptionalPropertyTypesNodeNotReused.ts] +type InexactOptionals = { + [K in keyof A as undefined extends A[K] ? K : never]?: undefined extends A[K] + ? A[K] | undefined + : A[K]; +} & { + [K in keyof A as undefined extends A[K] ? never : K]: A[K]; +}; + +type In = { + foo?: string; + bar: number; + baz: undefined; +} + +type Out = InexactOptionals + +const foo = () => (x: Out & A) => null + +export const baddts = foo() + + +//// [declarationEmitExactOptionalPropertyTypesNodeNotReused.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.baddts = void 0; +var foo = function () { return function (x) { return null; }; }; +exports.baddts = foo(); + + +//// [declarationEmitExactOptionalPropertyTypesNodeNotReused.d.ts] +export declare const baddts: (x: { + foo?: string | undefined; + baz?: undefined; +} & { + bar: number; +}) => null; diff --git a/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=true).symbols b/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=true).symbols new file mode 100644 index 00000000000..779755660a4 --- /dev/null +++ b/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=true).symbols @@ -0,0 +1,65 @@ +//// [tests/cases/compiler/declarationEmitExactOptionalPropertyTypesNodeNotReused.ts] //// + +=== declarationEmitExactOptionalPropertyTypesNodeNotReused.ts === +type InexactOptionals = { +>InexactOptionals : Symbol(InexactOptionals, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 0)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) + + [K in keyof A as undefined extends A[K] ? K : never]?: undefined extends A[K] +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 1, 5)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 1, 5)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 1, 5)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 1, 5)) + + ? A[K] | undefined +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 1, 5)) + + : A[K]; +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 1, 5)) + +} & { + [K in keyof A as undefined extends A[K] ? never : K]: A[K]; +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 5, 5)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 5, 5)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 5, 5)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 22)) +>K : Symbol(K, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 5, 5)) + +}; + +type In = { +>In : Symbol(In, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 6, 2)) + + foo?: string; +>foo : Symbol(foo, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 8, 11)) + + bar: number; +>bar : Symbol(bar, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 9, 17)) + + baz: undefined; +>baz : Symbol(baz, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 10, 16)) +} + +type Out = InexactOptionals +>Out : Symbol(Out, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 12, 1)) +>InexactOptionals : Symbol(InexactOptionals, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 0, 0)) +>In : Symbol(In, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 6, 2)) + +const foo = () => (x: Out & A) => null +>foo : Symbol(foo, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 16, 5)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 16, 13)) +>x : Symbol(x, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 16, 27)) +>Out : Symbol(Out, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 12, 1)) +>A : Symbol(A, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 16, 13)) + +export const baddts = foo() +>baddts : Symbol(baddts, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 18, 12)) +>foo : Symbol(foo, Decl(declarationEmitExactOptionalPropertyTypesNodeNotReused.ts, 16, 5)) + diff --git a/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=true).types b/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=true).types new file mode 100644 index 00000000000..05a99feaa03 --- /dev/null +++ b/tests/baselines/reference/declarationEmitExactOptionalPropertyTypesNodeNotReused(exactoptionalpropertytypes=true).types @@ -0,0 +1,53 @@ +//// [tests/cases/compiler/declarationEmitExactOptionalPropertyTypesNodeNotReused.ts] //// + +=== declarationEmitExactOptionalPropertyTypesNodeNotReused.ts === +type InexactOptionals = { +>InexactOptionals : InexactOptionals +> : ^^^^^^^^^^^^^^^^^^^ + + [K in keyof A as undefined extends A[K] ? K : never]?: undefined extends A[K] + ? A[K] | undefined + : A[K]; +} & { + [K in keyof A as undefined extends A[K] ? never : K]: A[K]; +}; + +type In = { +>In : In +> : ^^ + + foo?: string; +>foo : string | undefined +> : ^^^^^^^^^^^^^^^^^^ + + bar: number; +>bar : number +> : ^^^^^^ + + baz: undefined; +>baz : undefined +> : ^^^^^^^^^ +} + +type Out = InexactOptionals +>Out : Out +> : ^^^ + +const foo = () => (x: Out & A) => null +>foo : () => (x: Out & A) => null +> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>() => (x: Out & A) => null : () => (x: Out & A) => null +> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ +>(x: Out & A) => null : (x: Out & A) => null +> : ^ ^^ ^^^^^^^^^ +>x : { foo?: string | undefined; baz?: undefined; } & { bar: number; } & A +> : ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^ + +export const baddts = foo() +>baddts : (x: { foo?: string | undefined; baz?: undefined; } & { bar: number; }) => null +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ +>foo() : (x: { foo?: string | undefined; baz?: undefined; } & { bar: number; }) => null +> : ^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^ +>foo : () => (x: Out & A) => null +> : ^ ^^^^^^^^^^^^^ ^^ ^^^^^^^^^ + diff --git a/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules1.types b/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules1.types index 744dd7c4291..6a76d95abaf 100644 --- a/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules1.types +++ b/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules1.types @@ -372,13 +372,13 @@ export { type UseQueryReturnType, useQuery }; export { UseQueryReturnType, useQuery } from './useQuery-CPqkvEsh.js'; >UseQueryReturnType : any > : ^^^ ->useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +>useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: (number | (() => number | undefined)) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ === src/index.mts === import { useQuery } from '@tanstack/vue-query' ->useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +>useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: (number | (() => number | undefined)) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ const baseUrl = 'https://api.publicapis.org/' >baseUrl : "https://api.publicapis.org/" @@ -544,8 +544,8 @@ export const useEntries = () => { return useQuery({ >useQuery({ queryKey: entryKeys.list(), queryFn: testApi.getEntries, select: (data) => data.slice(0, 10) }) : import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ +>useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: (number | (() => number | undefined)) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").UseQueryReturnType +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ >{ queryKey: entryKeys.list(), queryFn: testApi.getEntries, select: (data) => data.slice(0, 10) } : { queryKey: readonly ["entries", "list"]; queryFn: () => Promise; select: (data: IEntry[]) => IEntry[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules2.types b/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules2.types index 2d35ec9aec8..4ebf94645ea 100644 --- a/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules2.types +++ b/tests/baselines/reference/declarationEmitUsingAlternativeContainingModules2.types @@ -378,15 +378,15 @@ export { b as UseQueryReturnType, u as useQuery } from './useQuery-CPqkvEsh.js'; > : ^^^ >UseQueryReturnType : any > : ^^^ ->u : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ ->useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ +>u : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: (number | (() => number | undefined)) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ +>useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: (number | (() => number | undefined)) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ === src/index.mts === import { useQuery } from '@tanstack/vue-query' ->useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ +>useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: (number | (() => number | undefined)) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ const baseUrl = 'https://api.publicapis.org/' >baseUrl : "https://api.publicapis.org/" @@ -552,8 +552,8 @@ export const useEntries = () => { return useQuery({ >useQuery({ queryKey: entryKeys.list(), queryFn: testApi.getEntries, select: (data) => data.slice(0, 10) }) : import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->useQuery : (options: { enabled?: boolean; refetchInterval?: number; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: number | (() => number | undefined); } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b -> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ +>useQuery : (options: { enabled?: boolean | undefined; refetchInterval?: number | undefined; select?: ((data: TQueryFnData) => TData) | undefined; retry?: (number | boolean | ((failureCount: number, error: TError) => boolean)) | undefined; queryFn?: ((context: { queryKey: TQueryKey; }) => TQueryFnData | Promise) | undefined; queryKey?: TQueryKey | undefined; initialData?: TQueryFnData | undefined; initialDataUpdatedAt?: (number | (() => number | undefined)) | undefined; } & { initialData?: undefined; }) => import("node_modules/@tanstack/vue-query/build/modern/useQuery-CPqkvEsh").b +> : ^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^ >{ queryKey: entryKeys.list(), queryFn: testApi.getEntries, select: (data) => data.slice(0, 10) } : { queryKey: readonly ["entries", "list"]; queryFn: () => Promise; select: (data: IEntry[]) => IEntry[]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/identityAndDivergentNormalizedTypes.types b/tests/baselines/reference/identityAndDivergentNormalizedTypes.types index e0185367cf6..43c575386ab 100644 --- a/tests/baselines/reference/identityAndDivergentNormalizedTypes.types +++ b/tests/baselines/reference/identityAndDivergentNormalizedTypes.types @@ -51,8 +51,8 @@ const post = ( {body, ...options}: Omit & {body: PostBody} >body : PostBody > : ^^^^^^^^^^^^^^ ->options : { cache?: RequestCache; credentials?: RequestCredentials; headers?: HeadersInit; integrity?: string; keepalive?: boolean; method?: string; mode?: RequestMode; priority?: RequestPriority; redirect?: RequestRedirect; referrer?: string; referrerPolicy?: ReferrerPolicy; signal?: AbortSignal | null; window?: null; } -> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^ +>options : { cache?: RequestCache | undefined; credentials?: RequestCredentials | undefined; headers?: HeadersInit | undefined; integrity?: string | undefined; keepalive?: boolean | undefined; method?: string | undefined; mode?: RequestMode | undefined; priority?: RequestPriority | undefined; redirect?: RequestRedirect | undefined; referrer?: string | undefined; referrerPolicy?: ReferrerPolicy | undefined; signal?: (AbortSignal | null) | undefined; window?: null | undefined; } +> : ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >body : PostBody > : ^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/isomorphicMappedTypeInference.types b/tests/baselines/reference/isomorphicMappedTypeInference.types index 964f6623422..1a75f09c084 100644 --- a/tests/baselines/reference/isomorphicMappedTypeInference.types +++ b/tests/baselines/reference/isomorphicMappedTypeInference.types @@ -630,10 +630,10 @@ function f10(foo: Foo) { > : ^^^ let y = clone(foo); // { a?: number, b: string } ->y : { a?: number; b: string; } -> : ^^^^^^ ^^^^^ ^^^ ->clone(foo) : { a?: number; b: string; } -> : ^^^^^^ ^^^^^ ^^^ +>y : { a?: number | undefined; b: string; } +> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ +>clone(foo) : { a?: number | undefined; b: string; } +> : ^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ >clone : (obj: { readonly [P in keyof T]: T[P]; }) => T > : ^ ^^ ^^ ^^^^^ >foo : Foo diff --git a/tests/baselines/reference/mappedTypeErrors.types b/tests/baselines/reference/mappedTypeErrors.types index 662502504d3..32839343182 100644 --- a/tests/baselines/reference/mappedTypeErrors.types +++ b/tests/baselines/reference/mappedTypeErrors.types @@ -718,8 +718,8 @@ let x2: Partial = { a: 'no' }; // Error > : ^^^^ let x3: { [P in keyof T2]: T2[P]} = { a: 'no' }; // Error ->x3 : { [x: string]: any; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>x3 : { [x: string]: any; a?: number | undefined; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >{ a: 'no' } : { a: string; } > : ^^^^^^^^^^^^^^ >a : string diff --git a/tests/cases/compiler/declarationEmitExactOptionalPropertyTypesNodeNotReused.ts b/tests/cases/compiler/declarationEmitExactOptionalPropertyTypesNodeNotReused.ts new file mode 100644 index 00000000000..5722a47a553 --- /dev/null +++ b/tests/cases/compiler/declarationEmitExactOptionalPropertyTypesNodeNotReused.ts @@ -0,0 +1,22 @@ +// @declaration: true +// @strict: true +// @exactOptionalPropertyTypes: true,false +type InexactOptionals = { + [K in keyof A as undefined extends A[K] ? K : never]?: undefined extends A[K] + ? A[K] | undefined + : A[K]; +} & { + [K in keyof A as undefined extends A[K] ? never : K]: A[K]; +}; + +type In = { + foo?: string; + bar: number; + baz: undefined; +} + +type Out = InexactOptionals + +const foo = () => (x: Out & A) => null + +export const baddts = foo() From 635db122d662e6706d20f9ce262d2fffe778d884 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 10 Jul 2024 14:01:59 -0700 Subject: [PATCH 03/89] Bump actions/upload-artifact from 4.3.3 to 4.3.4 in the github-actions group (#59169) Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/ci.yml | 2 +- .github/workflows/release-branch-artifact.yaml | 2 +- .github/workflows/scorecard.yml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index fe8909edae2..e87db78e03e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -312,7 +312,7 @@ jobs: - name: Upload baseline diff artifact if: ${{ failure() && steps.check-baselines.conclusion == 'failure' }} - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 with: name: fix_baselines.patch path: fix_baselines.patch diff --git a/.github/workflows/release-branch-artifact.yaml b/.github/workflows/release-branch-artifact.yaml index 537f05ebb90..99ca4f39cdf 100644 --- a/.github/workflows/release-branch-artifact.yaml +++ b/.github/workflows/release-branch-artifact.yaml @@ -44,7 +44,7 @@ jobs: npm pack ./ mv typescript-*.tgz typescript.tgz - name: Upload built tarfile - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 with: name: tgz path: typescript.tgz diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index b8171ab3b0e..2996a66cef6 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -47,7 +47,7 @@ jobs: # Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF # format to the repository Actions tab. - name: 'Upload artifact' - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 with: name: SARIF file path: results.sarif From 972e9a70c661140ed5df6d780b977acc38237bd4 Mon Sep 17 00:00:00 2001 From: Armando Aguirre Date: Wed, 10 Jul 2024 14:18:45 -0700 Subject: [PATCH 04/89] Added affectsSourceFile to importHelpers and jsxImportSource (#59195) Co-authored-by: Armando Aguirre Sepulveda --- src/compiler/commandLineParser.ts | 2 + src/testRunner/tests.ts | 1 + .../tsserver/projectImportHelpers.ts | 71 ++ ...-orphan,-and-orphan-script-info-changes.js | 6 +- ...he-source-file-if-script-info-is-orphan.js | 6 +- .../import-helpers-successfully.js | 907 ++++++++++++++++++ 6 files changed, 987 insertions(+), 6 deletions(-) create mode 100644 src/testRunner/unittests/tsserver/projectImportHelpers.ts create mode 100644 tests/baselines/reference/tsserver/importHelpers/import-helpers-successfully.js diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index f802e17beed..25b5895544c 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -795,6 +795,7 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ type: "boolean", affectsEmit: true, affectsBuildInfo: true, + affectsSourceFile: true, category: Diagnostics.Emit, description: Diagnostics.Allow_importing_helper_functions_from_tslib_once_per_project_instead_of_including_them_per_file, defaultValueDescription: false, @@ -1265,6 +1266,7 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ affectsEmit: true, affectsBuildInfo: true, affectsModuleResolution: true, + affectsSourceFile: true, category: Diagnostics.Language_and_Environment, description: Diagnostics.Specify_module_specifier_used_to_import_the_JSX_factory_functions_when_using_jsx_Colon_react_jsx_Asterisk, defaultValueDescription: "react", diff --git a/src/testRunner/tests.ts b/src/testRunner/tests.ts index 9cdb432d5c5..1959f2c0d36 100644 --- a/src/testRunner/tests.ts +++ b/src/testRunner/tests.ts @@ -200,6 +200,7 @@ export * from "./unittests/tsserver/pasteEdits.js"; export * from "./unittests/tsserver/plugins.js"; export * from "./unittests/tsserver/pluginsAsync.js"; export * from "./unittests/tsserver/projectErrors.js"; +export * from "./unittests/tsserver/projectImportHelpers.js"; export * from "./unittests/tsserver/projectReferenceCompileOnSave.js"; export * from "./unittests/tsserver/projectReferenceErrors.js"; export * from "./unittests/tsserver/projectReferences.js"; diff --git a/src/testRunner/unittests/tsserver/projectImportHelpers.ts b/src/testRunner/unittests/tsserver/projectImportHelpers.ts new file mode 100644 index 00000000000..b8333c35dec --- /dev/null +++ b/src/testRunner/unittests/tsserver/projectImportHelpers.ts @@ -0,0 +1,71 @@ +import * as ts from "../../_namespaces/ts.js"; +import { jsonToReadableText } from "../helpers.js"; +import { + baselineTsserverLogs, + openFilesForSession, + TestSession, +} from "../helpers/tsserver.js"; +import { createServerHost } from "../helpers/virtualFileSystemWithWatch.js"; + +describe("unittests:: tsserver:: projectImportHelpers::", () => { + it("import helpers sucessfully", () => { + const type1 = { + path: "/a/type.ts", + content: ` +export type Foo { + bar: number; +};`, + }; + const file1 = { + path: "/a/file1.ts", + content: ` +import { Foo } from "./type"; +const a: Foo = { bar : 1 }; +a.bar;`, + }; + const file2 = { + path: "/a/file2.ts", + content: ` +import { Foo } from "./type"; +const a: Foo = { bar : 2 }; +a.bar;`, + }; + + const config1 = { + path: "/a/tsconfig.json", + content: jsonToReadableText({ + extends: "../tsconfig.json", + compilerOptions: { + importHelpers: true, + }, + }), + }; + + const file3 = { + path: "/file3.js", + content: "console.log('noop');", + }; + const config2 = { + path: "/tsconfig.json", + content: jsonToReadableText({ + include: ["**/*"], + }), + }; + + const host = createServerHost([config2, config1, type1, file1, file2, file3]); + const session = new TestSession(host); + + openFilesForSession([file3, file1], session); + + session.executeCommandSeq({ + command: ts.server.protocol.CommandTypes.References, + arguments: { + file: file1.path, + line: 4, + offset: 3, + }, + }); + + baselineTsserverLogs("importHelpers", "import helpers successfully", session); + }); +}); diff --git a/tests/baselines/reference/tsserver/documentRegistry/Caches-the-source-file-if-script-info-is-orphan,-and-orphan-script-info-changes.js b/tests/baselines/reference/tsserver/documentRegistry/Caches-the-source-file-if-script-info-is-orphan,-and-orphan-script-info-changes.js index 556bfb407ed..b2b5446c594 100644 --- a/tests/baselines/reference/tsserver/documentRegistry/Caches-the-source-file-if-script-info-is-orphan,-and-orphan-script-info-changes.js +++ b/tests/baselines/reference/tsserver/documentRegistry/Caches-the-source-file-if-script-info-is-orphan,-and-orphan-script-info-changes.js @@ -200,7 +200,7 @@ ScriptInfos:: /user/username/projects/myproject/tsconfig.json DocumentRegistry:: - Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined + Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined /user/username/projects/myproject/index.ts: TS 1 /user/username/projects/myproject/module1.d.ts: TS 1 /a/lib/lib.d.ts: TS 1 @@ -265,7 +265,7 @@ Info seq [hh:mm:ss:mss] Files (2) Info seq [hh:mm:ss:mss] ----------------------------------------------- DocumentRegistry:: - Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined + Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined /user/username/projects/myproject/index.ts: TS 1 /a/lib/lib.d.ts: TS 1 Info seq [hh:mm:ss:mss] FileWatcher:: Triggered with /user/username/projects/myproject/module1.d.ts 1:: WatchInfo: /user/username/projects/myproject/module1.d.ts 500 undefined WatchType: Closed Script info @@ -359,7 +359,7 @@ Info seq [hh:mm:ss:mss] Files (3) Info seq [hh:mm:ss:mss] ----------------------------------------------- DocumentRegistry:: - Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined + Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined /user/username/projects/myproject/index.ts: TS 1 /a/lib/lib.d.ts: TS 1 /user/username/projects/myproject/module1.d.ts: TS 1 \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/documentRegistry/Caches-the-source-file-if-script-info-is-orphan.js b/tests/baselines/reference/tsserver/documentRegistry/Caches-the-source-file-if-script-info-is-orphan.js index 87115a94a44..c5968da12d6 100644 --- a/tests/baselines/reference/tsserver/documentRegistry/Caches-the-source-file-if-script-info-is-orphan.js +++ b/tests/baselines/reference/tsserver/documentRegistry/Caches-the-source-file-if-script-info-is-orphan.js @@ -200,7 +200,7 @@ ScriptInfos:: /user/username/projects/myproject/tsconfig.json DocumentRegistry:: - Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined + Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined /user/username/projects/myproject/index.ts: TS 1 /user/username/projects/myproject/module1.d.ts: TS 1 /a/lib/lib.d.ts: TS 1 @@ -265,7 +265,7 @@ Info seq [hh:mm:ss:mss] Files (2) Info seq [hh:mm:ss:mss] ----------------------------------------------- DocumentRegistry:: - Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined + Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined /user/username/projects/myproject/index.ts: TS 1 /a/lib/lib.d.ts: TS 1 Before request @@ -351,7 +351,7 @@ Info seq [hh:mm:ss:mss] Files (3) Info seq [hh:mm:ss:mss] ----------------------------------------------- DocumentRegistry:: - Key:: undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined + Key:: undefined|undefined|undefined|undefined|false|undefined|undefined|undefined|undefined|undefined|undefined|undefined /user/username/projects/myproject/index.ts: TS 1 /a/lib/lib.d.ts: TS 1 /user/username/projects/myproject/module1.d.ts: TS 1 \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/importHelpers/import-helpers-successfully.js b/tests/baselines/reference/tsserver/importHelpers/import-helpers-successfully.js new file mode 100644 index 00000000000..d2a636da061 --- /dev/null +++ b/tests/baselines/reference/tsserver/importHelpers/import-helpers-successfully.js @@ -0,0 +1,907 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/tsconfig.json] +{ + "include": [ + "**/*" + ] +} + +//// [/a/tsconfig.json] +{ + "extends": "../tsconfig.json", + "compilerOptions": { + "importHelpers": true + } +} + +//// [/a/type.ts] + +export type Foo { + bar: number; +}; + +//// [/a/file1.ts] + +import { Foo } from "./type"; +const a: Foo = { bar : 1 }; +a.bar; + +//// [/a/file2.ts] + +import { Foo } from "./type"; +const a: Foo = { bar : 2 }; +a.bar; + +//// [/file3.js] +console.log('noop'); + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/file3.js" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /file3.js ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /file3.js to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/a/file1.ts", + "/a/file2.ts", + "/a/type.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/file1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/file2.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/type.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /tsconfig.json WatchType: Missing file +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /a/type.ts Text-1 "\nexport type Foo {\n bar: number;\n};" + /a/file1.ts Text-1 "\nimport { Foo } from \"./type\";\nconst a: Foo = { bar : 1 };\na.bar;" + /a/file2.ts Text-1 "\nimport { Foo } from \"./type\";\nconst a: Foo = { bar : 2 };\na.bar;" + + + a/type.ts + Imported via "./type" from file 'a/file1.ts' + Imported via "./type" from file 'a/file2.ts' + Matched by include pattern '**/*' in 'tsconfig.json' + a/file1.ts + Matched by include pattern '**/*' in 'tsconfig.json' + a/file2.ts + Matched by include pattern '**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "aace87d7c1572ff43c6978074161b586788b4518c7a9d06c79c03e613b6ce5a3", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 3, + "tsSize": 168, + "tsx": 0, + "tsxSize": 0, + "dts": 0, + "dtsSize": 0, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": {}, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": true, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/file3.js", + "configFile": "/tsconfig.json", + "diagnostics": [ + { + "text": "File '/a/lib/lib.d.ts' not found.\n The file is in the program because:\n Default library for target 'es5'", + "code": 6053, + "category": "error" + }, + { + "text": "Cannot find global type 'Array'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Boolean'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Function'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'IArguments'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Number'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Object'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'RegExp'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'String'.", + "code": 2318, + "category": "error" + } + ] + } + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (1) + /file3.js SVC-1-0 "console.log('noop');" + + + file3.js + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +TI:: Creating typing installer + +PolledWatches:: +/a/lib/lib.d.ts: *new* + {"pollingInterval":500} + +FsWatches:: +/a/file1.ts: *new* + {} +/a/file2.ts: *new* + {} +/a/type.ts: *new* + {} +/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 0 +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/a/file1.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/a/file2.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/a/type.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/file3.js (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* + +TI:: [hh:mm:ss:mss] Global cache location '/a/data', safe file path '/safeList.json', types map path /typesMap.json +TI:: [hh:mm:ss:mss] Processing cache location '/a/data' +TI:: [hh:mm:ss:mss] Trying to find '/a/data/package.json'... +TI:: [hh:mm:ss:mss] Finished processing cache location '/a/data' +TI:: [hh:mm:ss:mss] Npm config file: /a/data/package.json +TI:: [hh:mm:ss:mss] Npm config file: '/a/data/package.json' is missing, creating new one... +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with a/data :: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Scheduled: /tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with a/data :: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with a/data/package.json :: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Config: /tsconfig.json Detected new package.json: /a/data/package.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/package.json 250 undefined WatchType: package.json file +Info seq [hh:mm:ss:mss] Project: /tsconfig.json Detected file add/remove of non supported extension: a/data/package.json +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with a/data/package.json :: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +TI:: [hh:mm:ss:mss] Updating types-registry npm package... +TI:: [hh:mm:ss:mss] npm install --ignore-scripts types-registry@latest +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with a/data/node_modules :: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Scheduled: /tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with a/data/node_modules :: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with a/data/node_modules/types-registry :: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Scheduled: /tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with a/data/node_modules/types-registry :: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with a/data/node_modules/types-registry/index.json :: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Project: /tsconfig.json Detected file add/remove of non supported extension: a/data/node_modules/types-registry/index.json +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with a/data/node_modules/types-registry/index.json :: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +TI:: [hh:mm:ss:mss] Updated types-registry npm package +TI:: typing installer creation complete +//// [/a/data/package.json] +{ "private": true } + +//// [/a/data/node_modules/types-registry/index.json] +{ + "entries": {} +} + + +PolledWatches:: +/a/lib/lib.d.ts: + {"pollingInterval":500} + +FsWatches:: +/a/data/package.json: *new* + {} +/a/file1.ts: + {} +/a/file2.ts: + {} +/a/type.ts: + {} +/tsconfig.json: + {} + +FsWatchesRecursive:: +/: + {} + +Timeout callback:: count: 2 +5: /tsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* + +Projects:: +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 0 +/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + noOpenRef: false *changed* + +TI:: [hh:mm:ss:mss] Got install request + { + "projectName": "/dev/null/inferredProject1*", + "fileNames": [ + "/file3.js" + ], + "compilerOptions": { + "target": 1, + "jsx": 1, + "allowNonTsExtensions": true, + "allowJs": true, + "noEmitForJsFiles": true, + "maxNodeModuleJsDepth": 2 + }, + "typeAcquisition": { + "enable": true, + "include": [], + "exclude": [] + }, + "unresolvedImports": [], + "projectRootPath": "/", + "kind": "discover" + } +TI:: [hh:mm:ss:mss] Failed to load safelist from types map file '/typesMap.json' +TI:: [hh:mm:ss:mss] Explicitly included types: [] +TI:: [hh:mm:ss:mss] Inferred typings from unresolved imports: [] +TI:: [hh:mm:ss:mss] Finished typings discovery: + { + "cachedTypingPaths": [], + "newTypingNames": [], + "filesToWatch": [ + "/bower_components", + "/node_modules" + ] + } +TI:: [hh:mm:ss:mss] Sending response: + { + "kind": "action::watchTypingLocations", + "projectName": "/dev/null/inferredProject1*", + "files": [ + "/bower_components", + "/node_modules" + ] + } +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /bower_components 1 undefined Project: /dev/null/inferredProject1* WatchType: Directory location for typing installer +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /bower_components 1 undefined Project: /dev/null/inferredProject1* WatchType: Directory location for typing installer +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Directory location for typing installer +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Directory location for typing installer +TI:: [hh:mm:ss:mss] Sending response: + { + "projectName": "/dev/null/inferredProject1*", + "typeAcquisition": { + "enable": true, + "include": [], + "exclude": [] + }, + "compilerOptions": { + "target": 1, + "jsx": 1, + "allowNonTsExtensions": true, + "allowJs": true, + "noEmitForJsFiles": true, + "maxNodeModuleJsDepth": 2 + }, + "typings": [], + "unresolvedImports": [], + "kind": "action::set" + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "setTypings", + "body": { + "projectName": "/dev/null/inferredProject1*", + "typeAcquisition": { + "enable": true, + "include": [], + "exclude": [] + }, + "compilerOptions": { + "target": 1, + "jsx": 1, + "allowNonTsExtensions": true, + "allowJs": true, + "noEmitForJsFiles": true, + "maxNodeModuleJsDepth": 2 + }, + "typings": [], + "unresolvedImports": [], + "kind": "action::set" + } + } +TI:: [hh:mm:ss:mss] No new typings were requested as a result of typings discovery +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (1) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /file3.js ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 1, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"pollingInterval":500} +/bower_components: *new* + {"pollingInterval":500} +/node_modules: *new* + {"pollingInterval":500} + +FsWatches:: +/a/data/package.json: + {} +/a/file1.ts: + {} +/a/file2.ts: + {} +/a/type.ts: + {} +/tsconfig.json: + {} + +FsWatchesRecursive:: +/: + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 *changed* +/tsconfig.json (Configured) + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: true + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/a/file1.ts" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /a/file1.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/file1.ts ProjectRootPath: undefined:: Result: /a/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /a/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/tsconfig.json 2000 undefined Project: /a/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/a/tsconfig.json", + "reason": "Creating possible configured project for /a/file1.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /a/tsconfig.json : { + "rootNames": [ + "/a/file1.ts", + "/a/file2.ts", + "/a/type.ts" + ], + "options": { + "importHelpers": true, + "configFilePath": "/a/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Config: /a/tsconfig.json WatchType: Extended config file +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: 1 undefined Config: /a/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: 1 undefined Config: /a/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /a/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /a/tsconfig.json WatchType: Missing file +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /a/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/a/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /a/type.ts Text-1 "\nexport type Foo {\n bar: number;\n};" + /a/file1.ts Text-1 "\nimport { Foo } from \"./type\";\nconst a: Foo = { bar : 1 };\na.bar;" + /a/file2.ts Text-1 "\nimport { Foo } from \"./type\";\nconst a: Foo = { bar : 2 };\na.bar;" + + + type.ts + Imported via "./type" from file 'file1.ts' + Imported via "./type" from file 'file2.ts' + Matched by include pattern '../**/*' in 'tsconfig.json' + file1.ts + Matched by include pattern '../**/*' in 'tsconfig.json' + file2.ts + Matched by include pattern '../**/*' in 'tsconfig.json' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/a/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "bcbb3eb9a7f46ab3b8f574ad3733f3e5a7ce50557c14c0c6192f1203aedcacca", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 3, + "tsSize": 168, + "tsx": 0, + "tsxSize": 0, + "dts": 0, + "dtsSize": 0, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "importHelpers": true + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": true, + "files": false, + "include": true, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/a/file1.ts", + "configFile": "/a/tsconfig.json", + "diagnostics": [ + { + "text": "File '/a/lib/lib.d.ts' not found.\n The file is in the program because:\n Default library for target 'es5'", + "code": 6053, + "category": "error" + }, + { + "text": "Cannot find global type 'Array'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Boolean'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Function'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'IArguments'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Number'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'Object'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'RegExp'.", + "code": 2318, + "category": "error" + }, + { + "text": "Cannot find global type 'String'.", + "code": 2318, + "category": "error" + } + ] + } + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Same program as before +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/a/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (1) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /file3.js ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileName: /a/file1.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json,/a/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 2, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"pollingInterval":500} +/bower_components: + {"pollingInterval":500} +/node_modules: + {"pollingInterval":500} + +FsWatches:: +/a/data/package.json: + {} +/a/file2.ts: + {} +/a/tsconfig.json: *new* + {} +/a/type.ts: + {} +/tsconfig.json: + {} + +FsWatches *deleted*:: +/a/file1.ts: + {} + +FsWatchesRecursive:: +/: + {} + +Projects:: +/a/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 1 + dirty: false *changed* + +ScriptInfos:: +/a/file1.ts (Open) *changed* + open: true *changed* + version: Text-1 + containingProjects: 2 *changed* + /tsconfig.json + /a/tsconfig.json *default* *new* +/a/file2.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /tsconfig.json + /a/tsconfig.json *new* +/a/type.ts *changed* + version: Text-1 + containingProjects: 2 *changed* + /tsconfig.json + /a/tsconfig.json *new* +/file3.js (Open) + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "references", + "arguments": { + "file": "/a/file1.ts", + "line": 4, + "offset": 3 + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] Finding references to /a/file1.ts position 61 in project /a/tsconfig.json +Info seq [hh:mm:ss:mss] Finding references to /a/file1.ts position 61 in project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/type.d.ts 2000 undefined Project: /a/tsconfig.json WatchType: Missing generated file +Info seq [hh:mm:ss:mss] response: + { + "response": { + "refs": [ + { + "file": "/a/type.ts", + "start": { + "line": 3, + "offset": 5 + }, + "end": { + "line": 3, + "offset": 8 + }, + "contextStart": { + "line": 3, + "offset": 5 + }, + "contextEnd": { + "line": 3, + "offset": 17 + }, + "lineText": " bar: number;", + "isWriteAccess": false + }, + { + "file": "/a/file1.ts", + "start": { + "line": 3, + "offset": 18 + }, + "end": { + "line": 3, + "offset": 21 + }, + "contextStart": { + "line": 3, + "offset": 18 + }, + "contextEnd": { + "line": 3, + "offset": 25 + }, + "lineText": "const a: Foo = { bar : 1 };", + "isWriteAccess": true + }, + { + "file": "/a/file1.ts", + "start": { + "line": 4, + "offset": 3 + }, + "end": { + "line": 4, + "offset": 6 + }, + "lineText": "a.bar;", + "isWriteAccess": false + }, + { + "file": "/a/file2.ts", + "start": { + "line": 3, + "offset": 18 + }, + "end": { + "line": 3, + "offset": 21 + }, + "contextStart": { + "line": 3, + "offset": 18 + }, + "contextEnd": { + "line": 3, + "offset": 25 + }, + "lineText": "const a: Foo = { bar : 2 };", + "isWriteAccess": true + }, + { + "file": "/a/file2.ts", + "start": { + "line": 4, + "offset": 3 + }, + "end": { + "line": 4, + "offset": 6 + }, + "lineText": "a.bar;", + "isWriteAccess": false + } + ], + "symbolName": "bar", + "symbolStartOffset": 3, + "symbolDisplayString": "(property) bar: number" + }, + "responseRequired": true + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"pollingInterval":500} +/a/type.d.ts: *new* + {"pollingInterval":2000} +/bower_components: + {"pollingInterval":500} +/node_modules: + {"pollingInterval":500} + +FsWatches:: +/a/data/package.json: + {} +/a/file2.ts: + {} +/a/tsconfig.json: + {} +/a/type.ts: + {} +/tsconfig.json: + {} + +FsWatchesRecursive:: +/: + {} + +Projects:: +/a/tsconfig.json (Configured) *changed* + projectStateVersion: 1 + projectProgramVersion: 1 + documentPositionMappers: 1 *changed* + /a/type.d.ts: identitySourceMapConsumer *new* +/dev/null/inferredProject1* (Inferred) + projectStateVersion: 1 + projectProgramVersion: 1 +/tsconfig.json (Configured) + projectStateVersion: 2 + projectProgramVersion: 1 From 64f89e7961d92cc33194d695ef17dab22362cf08 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 10 Jul 2024 15:37:12 -0700 Subject: [PATCH 05/89] Fix codefix crash on circular aliases (#59215) --- src/services/exportInfoMap.ts | 2 + ...importFixes_ambientCircularDefaultCrash.js | 333 ++++++++++++++++++ ...importFixes_ambientCircularDefaultCrash.ts | 19 + 3 files changed, 354 insertions(+) create mode 100644 tests/baselines/reference/tsserver/fourslashServer/importFixes_ambientCircularDefaultCrash.js create mode 100644 tests/cases/fourslash/server/importFixes_ambientCircularDefaultCrash.ts diff --git a/src/services/exportInfoMap.ts b/src/services/exportInfoMap.ts index 6bc8d84c4fe..41d683a2b3c 100644 --- a/src/services/exportInfoMap.ts +++ b/src/services/exportInfoMap.ts @@ -580,6 +580,7 @@ function isImportableSymbol(symbol: Symbol, checker: TypeChecker) { export function forEachNameOfDefaultExport(defaultExport: Symbol, checker: TypeChecker, compilerOptions: CompilerOptions, preferCapitalizedNames: boolean, cb: (name: string) => T | undefined): T | undefined { let chain: Symbol[] | undefined; let current: Symbol | undefined = defaultExport; + const seen = new Map(); while (current) { // The predecessor to this function also looked for a name on the `localSymbol` @@ -597,6 +598,7 @@ export function forEachNameOfDefaultExport(defaultExport: Symbol, checker: Ty } chain = append(chain, current); + if (!addToSeen(seen, current)) break; current = current.flags & SymbolFlags.Alias ? checker.getImmediateAliasedSymbol(current) : undefined; } diff --git a/tests/baselines/reference/tsserver/fourslashServer/importFixes_ambientCircularDefaultCrash.js b/tests/baselines/reference/tsserver/fourslashServer/importFixes_ambientCircularDefaultCrash.js new file mode 100644 index 00000000000..01a73d2ee55 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/importFixes_ambientCircularDefaultCrash.js @@ -0,0 +1,333 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/index.ts] +my + +//// [/lib.d.ts] +lib.d.ts-Text + +//// [/lib.decorators.d.ts] +lib.decorators.d.ts-Text + +//// [/lib.decorators.legacy.d.ts] +lib.decorators.legacy.d.ts-Text + +//// [/tsconfig.json] +{ + "compilerOptions": { + "module": "preserve" + } +} + +//// [/types.d.ts] +declare module "mymod" { + import mymod from "mymod"; + export default mymod; +} + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/tsconfig.json" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /tsconfig.json to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/index.ts", + "/lib.d.ts", + "/lib.decorators.d.ts", + "/lib.decorators.legacy.d.ts", + "/types.d.ts" + ], + "options": { + "module": 200, + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /index.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /types.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /index.ts Text-1 "my" + /lib.d.ts Text-1 lib.d.ts-Text + /types.d.ts Text-1 "declare module \"mymod\" {\n import mymod from \"mymod\";\n export default mymod;\n}" + + + lib.decorators.d.ts + Library referenced via 'decorators' from file 'lib.d.ts' + Matched by default include pattern '**/*' + lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file 'lib.d.ts' + Matched by default include pattern '**/*' + index.ts + Matched by default include pattern '**/*' + lib.d.ts + Matched by default include pattern '**/*' + types.d.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/tsconfig.json", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (4) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /tsconfig.json SVC-1-0 "{\n \"compilerOptions\": {\n \"module\": \"preserve\"\n }\n}" + + + lib.d.ts + Default library for target 'es5' + lib.decorators.d.ts + Library referenced via 'decorators' from file 'lib.d.ts' + lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file 'lib.d.ts' + tsconfig.json + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (4) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /tsconfig.json ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 0, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/index.ts: *new* + {"pollingInterval":500} +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/tsconfig.json: *new* + {"pollingInterval":2000} +/types.d.ts: *new* + {"pollingInterval":500} + +watchedDirectoriesRecursive:: +: *new* + {} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + noOpenRef: true + +ScriptInfos:: +/index.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.d.ts *new* + version: Text-1 + containingProjects: 2 + /tsconfig.json + /dev/null/inferredProject1* +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 2 + /tsconfig.json + /dev/null/inferredProject1* +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 2 + /tsconfig.json + /dev/null/inferredProject1* +/tsconfig.json (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* +/types.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "preferences": { + "includeCompletionsForModuleExports": true, + "includeCompletionsWithInsertText": true + } + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 1, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "syntacticDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "syntacticDiagnosticsSync", + "request_seq": 2, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 3, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "semanticDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "semanticDiagnosticsSync", + "request_seq": 3, + "success": true, + "body": [ + { + "message": "Cannot find name 'my'.", + "start": 0, + "length": 2, + "category": "error", + "code": 2304, + "startLocation": { + "line": 1, + "offset": 1 + }, + "endLocation": { + "line": 1, + "offset": 3 + } + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 4, + "type": "request", + "arguments": { + "file": "/index.ts", + "includeLinePosition": true + }, + "command": "suggestionDiagnosticsSync" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "suggestionDiagnosticsSync", + "request_seq": 4, + "success": true, + "body": [] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 5, + "type": "request", + "arguments": { + "file": "/index.ts", + "startLine": 1, + "startOffset": 1, + "endLine": 1, + "endOffset": 3, + "errorCodes": [ + 2304 + ] + }, + "command": "getCodeFixes" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getCodeFixes", + "request_seq": 5, + "success": true, + "body": [] + } \ No newline at end of file diff --git a/tests/cases/fourslash/server/importFixes_ambientCircularDefaultCrash.ts b/tests/cases/fourslash/server/importFixes_ambientCircularDefaultCrash.ts new file mode 100644 index 00000000000..31b65f11e97 --- /dev/null +++ b/tests/cases/fourslash/server/importFixes_ambientCircularDefaultCrash.ts @@ -0,0 +1,19 @@ +/// + +// @Filename: /tsconfig.json +//// { +//// "compilerOptions": { +//// "module": "preserve" +//// } +//// } + +// @Filename: /types.d.ts +//// declare module "mymod" { +//// import mymod from "mymod"; +//// export default mymod; +//// } + +// @Filename: /index.ts +//// my/**/ + +verify.importFixModuleSpecifiers("", []); From e450c463c610136ee86392f90025e03071334def Mon Sep 17 00:00:00 2001 From: Oleksandr T Date: Thu, 11 Jul 2024 01:37:49 +0300 Subject: [PATCH 06/89] fix(59011): TypeScript generates invalid types if @import tags are spread over multiple lines (#59026) --- src/compiler/parser.ts | 2 +- src/compiler/scanner.ts | 12 +- src/compiler/types.ts | 2 + tests/baselines/reference/importTag18.js | 34 +++++ tests/baselines/reference/importTag18.symbols | 20 +++ tests/baselines/reference/importTag18.types | 22 ++++ tests/baselines/reference/importTag19.js | 32 +++++ tests/baselines/reference/importTag19.symbols | 19 +++ tests/baselines/reference/importTag19.types | 21 ++++ tests/baselines/reference/importTag20.js | 34 +++++ tests/baselines/reference/importTag20.symbols | 20 +++ tests/baselines/reference/importTag20.types | 22 ++++ tests/baselines/reference/importTag6.types | 12 +- tests/baselines/reference/importTag7.types | 12 +- ...natureHelpInferenceJsDocImportTag.baseline | 118 ++++++++++++++++++ tests/cases/conformance/jsdoc/importTag18.ts | 19 +++ tests/cases/conformance/jsdoc/importTag19.ts | 18 +++ tests/cases/conformance/jsdoc/importTag20.ts | 19 +++ .../signatureHelpInferenceJsDocImportTag.ts | 23 ++++ 19 files changed, 445 insertions(+), 16 deletions(-) create mode 100644 tests/baselines/reference/importTag18.js create mode 100644 tests/baselines/reference/importTag18.symbols create mode 100644 tests/baselines/reference/importTag18.types create mode 100644 tests/baselines/reference/importTag19.js create mode 100644 tests/baselines/reference/importTag19.symbols create mode 100644 tests/baselines/reference/importTag19.types create mode 100644 tests/baselines/reference/importTag20.js create mode 100644 tests/baselines/reference/importTag20.symbols create mode 100644 tests/baselines/reference/importTag20.types create mode 100644 tests/baselines/reference/signatureHelpInferenceJsDocImportTag.baseline create mode 100644 tests/cases/conformance/jsdoc/importTag18.ts create mode 100644 tests/cases/conformance/jsdoc/importTag19.ts create mode 100644 tests/cases/conformance/jsdoc/importTag20.ts create mode 100644 tests/cases/fourslash/signatureHelpInferenceJsDocImportTag.ts diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index 03bd93f05a9..f5f3c485214 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -2637,7 +2637,7 @@ namespace Parser { function createIdentifier(isIdentifier: boolean, diagnosticMessage?: DiagnosticMessage, privateIdentifierDiagnosticMessage?: DiagnosticMessage): Identifier { if (isIdentifier) { identifierCount++; - const pos = getNodePos(); + const pos = scanner.hasPrecedingJSDocLeadingAsterisks() ? scanner.getTokenStart() : getNodePos(); // Store original token kind if it is not just an Identifier so we can report appropriate error later in type checker const originalKeywordKind = token(); const text = internIdentifier(scanner.getTokenValue()); diff --git a/src/compiler/scanner.ts b/src/compiler/scanner.ts index fe0a99d8648..c996687dc5c 100644 --- a/src/compiler/scanner.ts +++ b/src/compiler/scanner.ts @@ -65,6 +65,8 @@ export interface Scanner { hasPrecedingLineBreak(): boolean; /** @internal */ hasPrecedingJSDocComment(): boolean; + /** @internal */ + hasPrecedingJSDocLeadingAsterisks(): boolean; isIdentifier(): boolean; isReservedWord(): boolean; isUnterminated(): boolean; @@ -1059,6 +1061,7 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean hasExtendedUnicodeEscape: () => (tokenFlags & TokenFlags.ExtendedUnicodeEscape) !== 0, hasPrecedingLineBreak: () => (tokenFlags & TokenFlags.PrecedingLineBreak) !== 0, hasPrecedingJSDocComment: () => (tokenFlags & TokenFlags.PrecedingJSDocComment) !== 0, + hasPrecedingJSDocLeadingAsterisks: () => (tokenFlags & TokenFlags.PrecedingJSDocLeadingAsterisks) !== 0, isIdentifier: () => token === SyntaxKind.Identifier || token > SyntaxKind.LastReservedWord, isReservedWord: () => token >= SyntaxKind.FirstReservedWord && token <= SyntaxKind.LastReservedWord, isUnterminated: () => (tokenFlags & TokenFlags.Unterminated) !== 0, @@ -1874,7 +1877,6 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean function scan(): SyntaxKind { fullStartPos = pos; tokenFlags = TokenFlags.None; - let asteriskSeen = false; while (true) { tokenStart = pos; if (pos >= end) { @@ -1995,9 +1997,13 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean return pos += 2, token = SyntaxKind.AsteriskAsteriskToken; } pos++; - if (skipJsDocLeadingAsterisks && !asteriskSeen && (tokenFlags & TokenFlags.PrecedingLineBreak)) { + if ( + skipJsDocLeadingAsterisks && + (tokenFlags & TokenFlags.PrecedingJSDocLeadingAsterisks) === 0 && + (tokenFlags & TokenFlags.PrecedingLineBreak) + ) { // decoration at the start of a JSDoc comment line - asteriskSeen = true; + tokenFlags |= TokenFlags.PrecedingJSDocLeadingAsterisks; continue; } return token = SyntaxKind.AsteriskToken; diff --git a/src/compiler/types.ts b/src/compiler/types.ts index ce510d44e99..096f9e915fd 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -2812,6 +2812,8 @@ export const enum TokenFlags { /** @internal */ ContainsInvalidSeparator = 1 << 14, // e.g. `0_1` /** @internal */ + PrecedingJSDocLeadingAsterisks = 1 << 15, + /** @internal */ BinaryOrOctalSpecifier = BinarySpecifier | OctalSpecifier, /** @internal */ WithSpecifier = HexSpecifier | BinaryOrOctalSpecifier, diff --git a/tests/baselines/reference/importTag18.js b/tests/baselines/reference/importTag18.js new file mode 100644 index 00000000000..e6526792832 --- /dev/null +++ b/tests/baselines/reference/importTag18.js @@ -0,0 +1,34 @@ +//// [tests/cases/conformance/jsdoc/importTag18.ts] //// + +//// [a.ts] +export interface Foo {} + +//// [b.js] +/** + * @import { + * Foo + * } from "./a" + */ + +/** + * @param {Foo} a + */ +export function foo(a) {} + + + + +//// [a.d.ts] +export interface Foo { +} +//// [b.d.ts] +/** + * @import { + * Foo + * } from "./a" + */ +/** + * @param {Foo} a + */ +export function foo(a: Foo): void; +import type { Foo } from "./a"; diff --git a/tests/baselines/reference/importTag18.symbols b/tests/baselines/reference/importTag18.symbols new file mode 100644 index 00000000000..1bffb3f5ac8 --- /dev/null +++ b/tests/baselines/reference/importTag18.symbols @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/jsdoc/importTag18.ts] //// + +=== a.ts === +export interface Foo {} +>Foo : Symbol(Foo, Decl(a.ts, 0, 0)) + +=== b.js === +/** + * @import { + * Foo + * } from "./a" + */ + +/** + * @param {Foo} a + */ +export function foo(a) {} +>foo : Symbol(foo, Decl(b.js, 0, 0)) +>a : Symbol(a, Decl(b.js, 9, 20)) + diff --git a/tests/baselines/reference/importTag18.types b/tests/baselines/reference/importTag18.types new file mode 100644 index 00000000000..f5be5b5fdfe --- /dev/null +++ b/tests/baselines/reference/importTag18.types @@ -0,0 +1,22 @@ +//// [tests/cases/conformance/jsdoc/importTag18.ts] //// + +=== a.ts === + +export interface Foo {} + +=== b.js === +/** + * @import { + * Foo + * } from "./a" + */ + +/** + * @param {Foo} a + */ +export function foo(a) {} +>foo : (a: Foo) => void +> : ^ ^^^^^^^^^^^^^^ +>a : Foo +> : ^^^ + diff --git a/tests/baselines/reference/importTag19.js b/tests/baselines/reference/importTag19.js new file mode 100644 index 00000000000..6fa10599ab6 --- /dev/null +++ b/tests/baselines/reference/importTag19.js @@ -0,0 +1,32 @@ +//// [tests/cases/conformance/jsdoc/importTag19.ts] //// + +//// [a.ts] +export interface Foo {} + +//// [b.js] +/** + * @import { Foo } + * from "./a" + */ + +/** + * @param {Foo} a + */ +export function foo(a) {} + + + + +//// [a.d.ts] +export interface Foo { +} +//// [b.d.ts] +/** + * @import { Foo } + * from "./a" + */ +/** + * @param {Foo} a + */ +export function foo(a: Foo): void; +import type { Foo } from "./a"; diff --git a/tests/baselines/reference/importTag19.symbols b/tests/baselines/reference/importTag19.symbols new file mode 100644 index 00000000000..b84bb04edb6 --- /dev/null +++ b/tests/baselines/reference/importTag19.symbols @@ -0,0 +1,19 @@ +//// [tests/cases/conformance/jsdoc/importTag19.ts] //// + +=== a.ts === +export interface Foo {} +>Foo : Symbol(Foo, Decl(a.ts, 0, 0)) + +=== b.js === +/** + * @import { Foo } + * from "./a" + */ + +/** + * @param {Foo} a + */ +export function foo(a) {} +>foo : Symbol(foo, Decl(b.js, 0, 0)) +>a : Symbol(a, Decl(b.js, 8, 20)) + diff --git a/tests/baselines/reference/importTag19.types b/tests/baselines/reference/importTag19.types new file mode 100644 index 00000000000..4d32f46633d --- /dev/null +++ b/tests/baselines/reference/importTag19.types @@ -0,0 +1,21 @@ +//// [tests/cases/conformance/jsdoc/importTag19.ts] //// + +=== a.ts === + +export interface Foo {} + +=== b.js === +/** + * @import { Foo } + * from "./a" + */ + +/** + * @param {Foo} a + */ +export function foo(a) {} +>foo : (a: Foo) => void +> : ^ ^^^^^^^^^^^^^^ +>a : Foo +> : ^^^ + diff --git a/tests/baselines/reference/importTag20.js b/tests/baselines/reference/importTag20.js new file mode 100644 index 00000000000..ac9fea8b08f --- /dev/null +++ b/tests/baselines/reference/importTag20.js @@ -0,0 +1,34 @@ +//// [tests/cases/conformance/jsdoc/importTag20.ts] //// + +//// [a.ts] +export interface Foo {} + +//// [b.js] +/** + * @import + * { Foo + * } from './a' + */ + +/** + * @param {Foo} a + */ +export function foo(a) {} + + + + +//// [a.d.ts] +export interface Foo { +} +//// [b.d.ts] +/** + * @import + * { Foo + * } from './a' + */ +/** + * @param {Foo} a + */ +export function foo(a: Foo): void; +import type { Foo } from './a'; diff --git a/tests/baselines/reference/importTag20.symbols b/tests/baselines/reference/importTag20.symbols new file mode 100644 index 00000000000..8a7ff4a31f2 --- /dev/null +++ b/tests/baselines/reference/importTag20.symbols @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/jsdoc/importTag20.ts] //// + +=== a.ts === +export interface Foo {} +>Foo : Symbol(Foo, Decl(a.ts, 0, 0)) + +=== b.js === +/** + * @import + * { Foo + * } from './a' + */ + +/** + * @param {Foo} a + */ +export function foo(a) {} +>foo : Symbol(foo, Decl(b.js, 0, 0)) +>a : Symbol(a, Decl(b.js, 9, 20)) + diff --git a/tests/baselines/reference/importTag20.types b/tests/baselines/reference/importTag20.types new file mode 100644 index 00000000000..c7b4890295b --- /dev/null +++ b/tests/baselines/reference/importTag20.types @@ -0,0 +1,22 @@ +//// [tests/cases/conformance/jsdoc/importTag20.ts] //// + +=== a.ts === + +export interface Foo {} + +=== b.js === +/** + * @import + * { Foo + * } from './a' + */ + +/** + * @param {Foo} a + */ +export function foo(a) {} +>foo : (a: Foo) => void +> : ^ ^^^^^^^^^^^^^^ +>a : Foo +> : ^^^ + diff --git a/tests/baselines/reference/importTag6.types b/tests/baselines/reference/importTag6.types index b6df22ac877..3918c3df371 100644 --- a/tests/baselines/reference/importTag6.types +++ b/tests/baselines/reference/importTag6.types @@ -25,10 +25,10 @@ export interface B { * @param { B } b */ function f(a, b) {} ->f : (a: * A, b: * B) => void -> : ^ ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ->a : * A -> : ^^^^^^^ ->b : * B -> : ^^^^^^^ +>f : (a: A, b: B) => void +> : ^ ^^^^^ ^^^^^^^^^^^^ +>a : A +> : ^ +>b : B +> : ^ diff --git a/tests/baselines/reference/importTag7.types b/tests/baselines/reference/importTag7.types index e80491c8496..2732407d162 100644 --- a/tests/baselines/reference/importTag7.types +++ b/tests/baselines/reference/importTag7.types @@ -24,10 +24,10 @@ export interface B { * @param { B } b */ function f(a, b) {} ->f : (a: * A, b: * B) => void -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^ ->a : * A -> : ^^^ ->b : * B -> : ^^^ +>f : (a: A, b: B) => void +> : ^ ^^^^^ ^^^^^^^^^^^^ +>a : A +> : ^ +>b : B +> : ^ diff --git a/tests/baselines/reference/signatureHelpInferenceJsDocImportTag.baseline b/tests/baselines/reference/signatureHelpInferenceJsDocImportTag.baseline new file mode 100644 index 00000000000..caf87c8c3b4 --- /dev/null +++ b/tests/baselines/reference/signatureHelpInferenceJsDocImportTag.baseline @@ -0,0 +1,118 @@ +// === SignatureHelp === +=== /tests/cases/fourslash/b.js === +// /** +// * @import { +// * Foo +// * } from './a' +// */ +// +// /** +// * @param {Foo} a +// */ +// function foo(a) {} +// foo() +// ^ +// | ---------------------------------------------------------------------- +// | foo(**a: Foo**): void +// | @param a +// | ---------------------------------------------------------------------- + +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/b.js", + "position": 98, + "name": "" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "foo", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "a", + "documentation": [], + "displayParts": [ + { + "text": "a", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Foo", + "kind": "aliasName" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [ + { + "name": "param", + "text": [ + { + "text": "a", + "kind": "text" + } + ] + } + ] + } + ], + "applicableSpan": { + "start": 98, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + } +] \ No newline at end of file diff --git a/tests/cases/conformance/jsdoc/importTag18.ts b/tests/cases/conformance/jsdoc/importTag18.ts new file mode 100644 index 00000000000..bdbb2bc7a09 --- /dev/null +++ b/tests/cases/conformance/jsdoc/importTag18.ts @@ -0,0 +1,19 @@ +// @declaration: true +// @emitDeclarationOnly: true +// @checkJs: true +// @allowJs: true + +// @filename: a.ts +export interface Foo {} + +// @filename: b.js +/** + * @import { + * Foo + * } from "./a" + */ + +/** + * @param {Foo} a + */ +export function foo(a) {} diff --git a/tests/cases/conformance/jsdoc/importTag19.ts b/tests/cases/conformance/jsdoc/importTag19.ts new file mode 100644 index 00000000000..efb688097c7 --- /dev/null +++ b/tests/cases/conformance/jsdoc/importTag19.ts @@ -0,0 +1,18 @@ +// @declaration: true +// @emitDeclarationOnly: true +// @checkJs: true +// @allowJs: true + +// @filename: a.ts +export interface Foo {} + +// @filename: b.js +/** + * @import { Foo } + * from "./a" + */ + +/** + * @param {Foo} a + */ +export function foo(a) {} diff --git a/tests/cases/conformance/jsdoc/importTag20.ts b/tests/cases/conformance/jsdoc/importTag20.ts new file mode 100644 index 00000000000..29e1e4cdc87 --- /dev/null +++ b/tests/cases/conformance/jsdoc/importTag20.ts @@ -0,0 +1,19 @@ +// @declaration: true +// @emitDeclarationOnly: true +// @checkJs: true +// @allowJs: true + +// @filename: a.ts +export interface Foo {} + +// @filename: b.js +/** + * @import + * { Foo + * } from './a' + */ + +/** + * @param {Foo} a + */ +export function foo(a) {} diff --git a/tests/cases/fourslash/signatureHelpInferenceJsDocImportTag.ts b/tests/cases/fourslash/signatureHelpInferenceJsDocImportTag.ts new file mode 100644 index 00000000000..5e7f4b236bf --- /dev/null +++ b/tests/cases/fourslash/signatureHelpInferenceJsDocImportTag.ts @@ -0,0 +1,23 @@ +/// + +// @allowJS: true +// @checkJs: true +// @module: esnext + +// @filename: a.ts +////export interface Foo {} + +// @filename: b.js +/////** +//// * @import { +//// * Foo +//// * } from './a' +//// */ +//// +/////** +//// * @param {Foo} a +//// */ +////function foo(a) {} +////foo(/**/) + +verify.baselineSignatureHelp(); From 46410044add2e9f53cea58e445de18dcda53443f Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Thu, 11 Jul 2024 11:05:52 -0700 Subject: [PATCH 07/89] Improve error message for unserializable private and protected class members (#59229) --- src/compiler/diagnosticMessages.json | 2 +- src/compiler/transformers/declarations.ts | 5 +- ...rationEmitMixinPrivateProtected.errors.txt | 24 +- ...assExpressionInDeclarationFile2.errors.txt | 18 +- .../multiFile/dts-errors-with-incremental.js | 108 +++++-- .../tsbuild/noCheck/multiFile/dts-errors.js | 35 +- .../outFile/dts-errors-with-incremental.js | 96 ++++-- .../tsbuild/noCheck/outFile/dts-errors.js | 35 +- ...ble-changes-with-incremental-as-modules.js | 48 ++- ...aration-enable-changes-with-incremental.js | 48 ++- ...tion-enable-changes-with-multiple-files.js | 202 +++++++++--- ...-errors-with-declaration-enable-changes.js | 21 +- .../dts-errors-with-incremental-as-modules.js | 94 ++++-- .../multiFile/dts-errors-with-incremental.js | 94 ++++-- ...dts-enabled-with-incremental-as-modules.js | 16 +- ...rs-without-dts-enabled-with-incremental.js | 16 +- .../tsbuild/noEmit/multiFile/dts-errors.js | 35 +- ...ble-changes-with-incremental-as-modules.js | 72 ++++- ...aration-enable-changes-with-incremental.js | 72 ++++- ...tion-enable-changes-with-multiple-files.js | 304 ++++++++++++++---- ...-errors-with-declaration-enable-changes.js | 21 +- .../dts-errors-with-incremental-as-modules.js | 86 ++++- .../outFile/dts-errors-with-incremental.js | 86 ++++- .../tsbuild/noEmit/outFile/dts-errors.js | 35 +- ...rrors-with-declaration-with-incremental.js | 31 +- .../multiFile/dts-errors-with-declaration.js | 14 +- ...rrors-with-declaration-with-incremental.js | 31 +- .../outFile/dts-errors-with-declaration.js | 14 +- .../dts-errors-with-incremental-as-modules.js | 87 +++-- .../multiFile/dts-errors-with-incremental.js | 87 +++-- ...dts-enabled-with-incremental-as-modules.js | 16 +- ...rs-without-dts-enabled-with-incremental.js | 16 +- .../noEmit/multiFile/dts-errors.js | 28 +- .../dts-errors-with-incremental-as-modules.js | 79 ++++- .../outFile/dts-errors-with-incremental.js | 79 ++++- .../tsbuildWatch/noEmit/outFile/dts-errors.js | 28 +- ...Error-with-declaration-with-incremental.js | 35 +- .../noEmitOnError-with-declaration.js | 14 +- .../noEmitOnError-with-incremental.js | 8 +- ...Error-with-declaration-with-incremental.js | 31 +- .../outFile/noEmitOnError-with-declaration.js | 14 +- .../when-file-with-no-error-changes.js | 56 +++- ...ing-errors-only-changed-file-is-emitted.js | 28 +- .../when-file-with-no-error-changes.js | 48 ++- ...ixing-error-files-all-files-are-emitted.js | 24 +- ...ion-field-with-declaration-emit-enabled.js | 35 +- ...e-to-modifier-of-class-expression-field.js | 8 +- .../multiFile/dts-errors-with-incremental.js | 122 +++++-- .../tsc/noCheck/multiFile/dts-errors.js | 42 ++- .../outFile/dts-errors-with-incremental.js | 110 +++++-- .../tsc/noCheck/outFile/dts-errors.js | 42 ++- ...tion-enable-changes-with-multiple-files.js | 202 +++++++++--- .../dts-errors-with-incremental-as-modules.js | 94 ++++-- .../multiFile/dts-errors-with-incremental.js | 94 ++++-- ...dts-enabled-with-incremental-as-modules.js | 16 +- ...rs-without-dts-enabled-with-incremental.js | 16 +- .../tsc/noEmit/multiFile/dts-errors.js | 35 +- ...tion-enable-changes-with-multiple-files.js | 304 ++++++++++++++---- .../dts-errors-with-incremental-as-modules.js | 86 ++++- .../outFile/dts-errors-with-incremental.js | 86 ++++- .../tsc/noEmit/outFile/dts-errors.js | 35 +- ...rrors-with-declaration-with-incremental.js | 31 +- .../multiFile/dts-errors-with-declaration.js | 14 +- ...rrors-with-declaration-with-incremental.js | 31 +- .../outFile/dts-errors-with-declaration.js | 14 +- .../dts-errors-with-incremental-as-modules.js | 87 +++-- .../multiFile/dts-errors-with-incremental.js | 87 +++-- ...dts-enabled-with-incremental-as-modules.js | 16 +- ...rs-without-dts-enabled-with-incremental.js | 16 +- .../tscWatch/noEmit/multiFile/dts-errors.js | 28 +- .../dts-errors-with-incremental-as-modules.js | 79 ++++- .../outFile/dts-errors-with-incremental.js | 79 ++++- .../tscWatch/noEmit/outFile/dts-errors.js | 28 +- ...Error-with-declaration-with-incremental.js | 28 +- .../noEmitOnError-with-declaration.js | 7 +- .../noEmitOnError-with-incremental.js | 8 +- ...Error-with-declaration-with-incremental.js | 24 +- .../outFile/noEmitOnError-with-declaration.js | 7 +- 78 files changed, 3360 insertions(+), 892 deletions(-) diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index ee05ca893c7..93addf68f2d 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -4212,7 +4212,7 @@ "category": "Error", "code": 4092 }, - "Property '{0}' of exported class expression may not be private or protected.": { + "Property '{0}' of exported anonymous class type may not be private or protected.": { "category": "Error", "code": 4094 }, diff --git a/src/compiler/transformers/declarations.ts b/src/compiler/transformers/declarations.ts index 52210a876f2..166431a7450 100644 --- a/src/compiler/transformers/declarations.ts +++ b/src/compiler/transformers/declarations.ts @@ -357,7 +357,10 @@ export function transformDeclarations(context: TransformationContext) { function reportPrivateInBaseOfClassExpression(propertyName: string) { if (errorNameNode || errorFallbackNode) { context.addDiagnostic( - createDiagnosticForNode((errorNameNode || errorFallbackNode)!, Diagnostics.Property_0_of_exported_class_expression_may_not_be_private_or_protected, propertyName), + addRelatedInfo( + createDiagnosticForNode((errorNameNode || errorFallbackNode)!, Diagnostics.Property_0_of_exported_anonymous_class_type_may_not_be_private_or_protected, propertyName), + ...(isVariableDeclaration((errorNameNode || errorFallbackNode)!.parent) ? [createDiagnosticForNode((errorNameNode || errorFallbackNode)!, Diagnostics.Add_a_type_annotation_to_the_variable_0, errorDeclarationNameWithFallback())] : []), + ), ); } } diff --git a/tests/baselines/reference/declarationEmitMixinPrivateProtected.errors.txt b/tests/baselines/reference/declarationEmitMixinPrivateProtected.errors.txt index fc22a0e6d91..8b35fc36cc4 100644 --- a/tests/baselines/reference/declarationEmitMixinPrivateProtected.errors.txt +++ b/tests/baselines/reference/declarationEmitMixinPrivateProtected.errors.txt @@ -1,9 +1,9 @@ -another.ts(11,1): error TS4094: Property '_assertIsStripped' of exported class expression may not be private or protected. -another.ts(11,1): error TS4094: Property '_onDispose' of exported class expression may not be private or protected. -first.ts(12,1): error TS4094: Property '_assertIsStripped' of exported class expression may not be private or protected. -first.ts(12,1): error TS4094: Property '_onDispose' of exported class expression may not be private or protected. -first.ts(13,14): error TS4094: Property '_assertIsStripped' of exported class expression may not be private or protected. -first.ts(13,14): error TS4094: Property '_onDispose' of exported class expression may not be private or protected. +another.ts(11,1): error TS4094: Property '_assertIsStripped' of exported anonymous class type may not be private or protected. +another.ts(11,1): error TS4094: Property '_onDispose' of exported anonymous class type may not be private or protected. +first.ts(12,1): error TS4094: Property '_assertIsStripped' of exported anonymous class type may not be private or protected. +first.ts(12,1): error TS4094: Property '_onDispose' of exported anonymous class type may not be private or protected. +first.ts(13,14): error TS4094: Property '_assertIsStripped' of exported anonymous class type may not be private or protected. +first.ts(13,14): error TS4094: Property '_onDispose' of exported anonymous class type may not be private or protected. ==== first.ts (4 errors) ==== @@ -20,14 +20,14 @@ first.ts(13,14): error TS4094: Property '_onDispose' of exported class expressio // No error, but definition is wrong. export default mix(DisposableMixin); ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS4094: Property '_assertIsStripped' of exported class expression may not be private or protected. +!!! error TS4094: Property '_assertIsStripped' of exported anonymous class type may not be private or protected. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS4094: Property '_onDispose' of exported class expression may not be private or protected. +!!! error TS4094: Property '_onDispose' of exported anonymous class type may not be private or protected. export class Monitor extends mix(DisposableMixin) { ~~~~~~~ -!!! error TS4094: Property '_assertIsStripped' of exported class expression may not be private or protected. +!!! error TS4094: Property '_assertIsStripped' of exported anonymous class type may not be private or protected. ~~~~~~~ -!!! error TS4094: Property '_onDispose' of exported class expression may not be private or protected. +!!! error TS4094: Property '_onDispose' of exported anonymous class type may not be private or protected. protected _onDispose() { } } @@ -45,9 +45,9 @@ first.ts(13,14): error TS4094: Property '_onDispose' of exported class expressio export default class extends mix(DisposableMixin) { ~~~~~~ -!!! error TS4094: Property '_assertIsStripped' of exported class expression may not be private or protected. +!!! error TS4094: Property '_assertIsStripped' of exported anonymous class type may not be private or protected. ~~~~~~ -!!! error TS4094: Property '_onDispose' of exported class expression may not be private or protected. +!!! error TS4094: Property '_onDispose' of exported anonymous class type may not be private or protected. protected _onDispose() { } } \ No newline at end of file diff --git a/tests/baselines/reference/emitClassExpressionInDeclarationFile2.errors.txt b/tests/baselines/reference/emitClassExpressionInDeclarationFile2.errors.txt index 450f3de1c3b..e755cfdfa25 100644 --- a/tests/baselines/reference/emitClassExpressionInDeclarationFile2.errors.txt +++ b/tests/baselines/reference/emitClassExpressionInDeclarationFile2.errors.txt @@ -1,15 +1,17 @@ -emitClassExpressionInDeclarationFile2.ts(1,12): error TS4094: Property 'p' of exported class expression may not be private or protected. -emitClassExpressionInDeclarationFile2.ts(1,12): error TS4094: Property 'ps' of exported class expression may not be private or protected. -emitClassExpressionInDeclarationFile2.ts(16,17): error TS4094: Property 'property' of exported class expression may not be private or protected. -emitClassExpressionInDeclarationFile2.ts(23,14): error TS4094: Property 'property' of exported class expression may not be private or protected. +emitClassExpressionInDeclarationFile2.ts(1,12): error TS4094: Property 'p' of exported anonymous class type may not be private or protected. +emitClassExpressionInDeclarationFile2.ts(1,12): error TS4094: Property 'ps' of exported anonymous class type may not be private or protected. +emitClassExpressionInDeclarationFile2.ts(16,17): error TS4094: Property 'property' of exported anonymous class type may not be private or protected. +emitClassExpressionInDeclarationFile2.ts(23,14): error TS4094: Property 'property' of exported anonymous class type may not be private or protected. ==== emitClassExpressionInDeclarationFile2.ts (4 errors) ==== export var noPrivates = class { ~~~~~~~~~~ -!!! error TS4094: Property 'p' of exported class expression may not be private or protected. +!!! error TS4094: Property 'p' of exported anonymous class type may not be private or protected. +!!! related TS9027 emitClassExpressionInDeclarationFile2.ts:1:12: Add a type annotation to the variable noPrivates. ~~~~~~~~~~ -!!! error TS4094: Property 'ps' of exported class expression may not be private or protected. +!!! error TS4094: Property 'ps' of exported anonymous class type may not be private or protected. +!!! related TS9027 emitClassExpressionInDeclarationFile2.ts:1:12: Add a type annotation to the variable noPrivates. static getTags() { } tags() { } private static ps = -1 @@ -26,7 +28,7 @@ emitClassExpressionInDeclarationFile2.ts(23,14): error TS4094: Property 'propert export type Constructor = new(...args: any[]) => T; export function WithTags>(Base: T) { ~~~~~~~~ -!!! error TS4094: Property 'property' of exported class expression may not be private or protected. +!!! error TS4094: Property 'property' of exported anonymous class type may not be private or protected. return class extends Base { static getTags(): void { } tags(): void { } @@ -35,7 +37,7 @@ emitClassExpressionInDeclarationFile2.ts(23,14): error TS4094: Property 'propert export class Test extends WithTags(FooItem) {} ~~~~ -!!! error TS4094: Property 'property' of exported class expression may not be private or protected. +!!! error TS4094: Property 'property' of exported anonymous class type may not be private or protected. const test = new Test(); diff --git a/tests/baselines/reference/tsbuild/noCheck/multiFile/dts-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noCheck/multiFile/dts-errors-with-incremental.js index 2b8ec7f8baa..4f56ab3b48b 100644 --- a/tests/baselines/reference/tsbuild/noCheck/multiFile/dts-errors-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noCheck/multiFile/dts-errors-with-incremental.js @@ -40,11 +40,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -98,7 +103,7 @@ exports.b = 10; //// [/src/tsconfig.tsbuildinfo] -{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };",{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"semanticDiagnosticsPerFile":[1,2,3],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"checkPending":true,"version":"FakeTSVersion"} +{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };",{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"semanticDiagnosticsPerFile":[1,2,3],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"checkPending":true,"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -164,16 +169,25 @@ exports.b = 10; { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "checkPending": true, "version": "FakeTSVersion", - "size": 1007 + "size": 1140 } @@ -474,11 +488,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -520,7 +539,7 @@ exports.a = /** @class */ (function () { //// [/src/tsconfig.tsbuildinfo] -{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"semanticDiagnosticsPerFile":[2],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"checkPending":true,"version":"FakeTSVersion"} +{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"semanticDiagnosticsPerFile":[2],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"checkPending":true,"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -542,10 +561,10 @@ exports.a = /** @class */ (function () { "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "original": { @@ -582,16 +601,25 @@ exports.a = /** @class */ (function () { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "checkPending": true, "version": "FakeTSVersion", - "size": 1207 + "size": 1345 } @@ -625,11 +653,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -657,7 +690,7 @@ No shapes updated in the builder:: //// [/src/tsconfig.tsbuildinfo] -{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -679,10 +712,10 @@ No shapes updated in the builder:: "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "original": { @@ -713,15 +746,24 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 1154 + "size": 1292 } @@ -1089,11 +1131,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -1137,7 +1184,7 @@ exports.a = /** @class */ (function () { //// [/src/tsconfig.tsbuildinfo] -{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts","./c.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},{"version":"-9150421116-export const c: number = \"hello\";","signature":"1429704745-export declare const c: number;\n"}],"root":[[2,4]],"options":{"declaration":true},"semanticDiagnosticsPerFile":[2,[4,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'string' is not assignable to type 'number'."}]]],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"checkPending":true,"version":"FakeTSVersion"} +{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts","./c.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},{"version":"-9150421116-export const c: number = \"hello\";","signature":"1429704745-export declare const c: number;\n"}],"root":[[2,4]],"options":{"declaration":true},"semanticDiagnosticsPerFile":[2,[4,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'string' is not assignable to type 'number'."}]]],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"checkPending":true,"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1160,10 +1207,10 @@ exports.a = /** @class */ (function () { "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "original": { @@ -1223,16 +1270,25 @@ exports.a = /** @class */ (function () { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "checkPending": true, "version": "FakeTSVersion", - "size": 1460 + "size": 1598 } diff --git a/tests/baselines/reference/tsbuild/noCheck/multiFile/dts-errors.js b/tests/baselines/reference/tsbuild/noCheck/multiFile/dts-errors.js index 950a2216c96..f8474c1b135 100644 --- a/tests/baselines/reference/tsbuild/noCheck/multiFile/dts-errors.js +++ b/tests/baselines/reference/tsbuild/noCheck/multiFile/dts-errors.js @@ -39,11 +39,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/src/tsconfig.json'... @@ -127,11 +132,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/src/tsconfig.json'... @@ -362,11 +372,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/src/tsconfig.json'... @@ -458,11 +473,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/src/tsconfig.json'... @@ -744,11 +764,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/src/tsconfig.json'... diff --git a/tests/baselines/reference/tsbuild/noCheck/outFile/dts-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noCheck/outFile/dts-errors-with-incremental.js index 508d4c8ee1f..f300a4516fb 100644 --- a/tests/baselines/reference/tsbuild/noCheck/outFile/dts-errors-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noCheck/outFile/dts-errors-with-incremental.js @@ -42,11 +42,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -96,7 +101,7 @@ define("b", ["require", "exports"], function (require, exports) { //// [/outFile.tsbuildinfo] -{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[1,2,3],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"checkPending":true,"version":"FakeTSVersion"} +{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[1,2,3],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"checkPending":true,"version":"FakeTSVersion"} //// [/outFile.tsbuildinfo.readable.baseline.txt] { @@ -146,16 +151,25 @@ define("b", ["require", "exports"], function (require, exports) { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "checkPending": true, "version": "FakeTSVersion", - "size": 943 + "size": 1076 } @@ -432,11 +446,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -486,7 +505,7 @@ define("b", ["require", "exports"], function (require, exports) { //// [/outFile.tsbuildinfo] -{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[1,2,3],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"checkPending":true,"version":"FakeTSVersion"} +{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[1,2,3],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"checkPending":true,"version":"FakeTSVersion"} //// [/outFile.tsbuildinfo.readable.baseline.txt] { @@ -536,16 +555,25 @@ define("b", ["require", "exports"], function (require, exports) { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "checkPending": true, "version": "FakeTSVersion", - "size": 943 + "size": 1076 } @@ -579,11 +607,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -615,7 +648,7 @@ No shapes updated in the builder:: //// [/outFile.tsbuildinfo] -{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/outFile.tsbuildinfo.readable.baseline.txt] { @@ -651,15 +684,24 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 886 + "size": 1019 } @@ -1006,11 +1048,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -1068,7 +1115,7 @@ define("c", ["require", "exports"], function (require, exports) { //// [/outFile.tsbuildinfo] -{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts","./src/c.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-9150421116-export const c: number = \"hello\";"],"root":[[2,4]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[1,2,3,4],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"checkPending":true,"version":"FakeTSVersion"} +{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts","./src/c.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-9150421116-export const c: number = \"hello\";"],"root":[[2,4]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[1,2,3,4],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"checkPending":true,"version":"FakeTSVersion"} //// [/outFile.tsbuildinfo.readable.baseline.txt] { @@ -1127,16 +1174,25 @@ define("c", ["require", "exports"], function (require, exports) { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "checkPending": true, "version": "FakeTSVersion", - "size": 1010 + "size": 1143 } diff --git a/tests/baselines/reference/tsbuild/noCheck/outFile/dts-errors.js b/tests/baselines/reference/tsbuild/noCheck/outFile/dts-errors.js index 0943e341953..afae5e88d4d 100644 --- a/tests/baselines/reference/tsbuild/noCheck/outFile/dts-errors.js +++ b/tests/baselines/reference/tsbuild/noCheck/outFile/dts-errors.js @@ -41,11 +41,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/src/tsconfig.json'... @@ -125,11 +130,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/src/tsconfig.json'... @@ -364,11 +374,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/src/tsconfig.json'... @@ -465,11 +480,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/src/tsconfig.json'... @@ -766,11 +786,16 @@ Output:: [HH:MM:SS AM] Building project '/src/tsconfig.json'... -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/src/tsconfig.json'... diff --git a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-incremental-as-modules.js b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-incremental-as-modules.js index 3243a484d0b..522cc445902 100644 --- a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-incremental-as-modules.js +++ b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-incremental-as-modules.js @@ -151,11 +151,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -183,7 +188,7 @@ No shapes updated in the builder:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17],[3,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17],[3,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -231,9 +236,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -255,7 +269,7 @@ No shapes updated in the builder:: ] ], "version": "FakeTSVersion", - "size": 933 + "size": 1066 } @@ -391,11 +405,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -445,7 +464,7 @@ exports.b = 10; //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };",{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };",{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -497,15 +516,24 @@ exports.b = 10; { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 959 + "size": 1092 } diff --git a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-incremental.js b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-incremental.js index 3933ef21d63..6df06eba3f8 100644 --- a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-incremental.js @@ -136,11 +136,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -166,7 +171,7 @@ No shapes updated in the builder:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -210,9 +215,18 @@ No shapes updated in the builder:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -227,7 +241,7 @@ No shapes updated in the builder:: ] ], "version": "FakeTSVersion", - "size": 908 + "size": 1040 } @@ -350,11 +364,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -388,7 +407,7 @@ var a = /** @class */ (function () { //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -432,15 +451,24 @@ var a = /** @class */ (function () { { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 872 + "size": 1004 } diff --git a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js index 5294f6174b6..40810085eaf 100644 --- a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js +++ b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js @@ -187,21 +187,36 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 3 errors. @@ -233,7 +248,7 @@ No shapes updated in the builder:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17],[3,17],[4,17],[5,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17],[3,17],[4,17],[5,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -295,9 +310,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -307,9 +331,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -319,9 +352,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -357,7 +399,7 @@ No shapes updated in the builder:: ] ], "version": "FakeTSVersion", - "size": 1375 + "size": 1774 } @@ -525,21 +567,36 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 3 errors. @@ -617,7 +674,7 @@ exports.d = /** @class */ (function () { //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };",{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},"-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };",{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},"-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -683,9 +740,18 @@ exports.d = /** @class */ (function () { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -695,9 +761,18 @@ exports.d = /** @class */ (function () { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -707,15 +782,24 @@ exports.d = /** @class */ (function () { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 1387 + "size": 1786 } @@ -765,7 +849,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9483521475-export const a = class { public p = 10; };","signature":"4346604020-export declare const a: {\n new (): {\n p: number;\n };\n};\n"},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},"-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9483521475-export const a = class { public p = 10; };","signature":"4346604020-export declare const a: {\n new (): {\n p: number;\n };\n};\n"},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},"-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -832,9 +916,18 @@ Shape signatures in builder refreshed for:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -844,9 +937,18 @@ Shape signatures in builder refreshed for:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -858,7 +960,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 1352 + "size": 1618 } @@ -876,16 +978,26 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 2 errors. @@ -917,7 +1029,7 @@ No shapes updated in the builder:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9483521475-export const a = class { public p = 10; };","signature":"4346604020-export declare const a: {\n new (): {\n p: number;\n };\n};\n"},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},"-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true},"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17],[3,16],[4,16],[5,16]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9483521475-export const a = class { public p = 10; };","signature":"4346604020-export declare const a: {\n new (): {\n p: number;\n };\n};\n"},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},"-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true},"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17],[3,16],[4,16],[5,16]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -987,9 +1099,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -999,9 +1120,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -1037,7 +1167,7 @@ No shapes updated in the builder:: ] ], "version": "FakeTSVersion", - "size": 1409 + "size": 1675 } diff --git a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes.js b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes.js index 079a2e65c56..ceae566a8fa 100644 --- a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes.js +++ b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-declaration-enable-changes.js @@ -124,11 +124,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -184,11 +189,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -284,11 +294,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/home/src/projects/project/tsconfig.json'... diff --git a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-incremental-as-modules.js b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-incremental-as-modules.js index 096c05cebd2..2828df72898 100644 --- a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-incremental-as-modules.js +++ b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-incremental-as-modules.js @@ -40,11 +40,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -78,7 +83,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17],[3,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17],[3,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -126,9 +131,18 @@ Shape signatures in builder refreshed for:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -150,7 +164,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 933 + "size": 1066 } @@ -168,11 +182,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -471,11 +490,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -505,7 +529,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -527,10 +551,10 @@ Shape signatures in builder refreshed for:: "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "original": { @@ -561,9 +585,18 @@ Shape signatures in builder refreshed for:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -578,7 +611,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 1199 + "size": 1337 } @@ -596,11 +629,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -639,7 +677,7 @@ exports.a = /** @class */ (function () { //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -661,10 +699,10 @@ exports.a = /** @class */ (function () { "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "original": { @@ -695,15 +733,24 @@ exports.a = /** @class */ (function () { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 1163 + "size": 1301 } @@ -721,11 +768,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. diff --git a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-incremental.js index 8fa2618b063..d1948b4bbff 100644 --- a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-with-incremental.js @@ -37,11 +37,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -71,7 +76,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -115,9 +120,18 @@ Shape signatures in builder refreshed for:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -132,7 +146,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 908 + "size": 1040 } @@ -150,11 +164,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -409,11 +428,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -442,7 +466,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -463,11 +487,11 @@ Shape signatures in builder refreshed for:: "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -487,9 +511,18 @@ Shape signatures in builder refreshed for:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -504,7 +537,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 1092 + "size": 1228 } @@ -522,11 +555,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -560,7 +598,7 @@ var a = /** @class */ (function () { //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -581,11 +619,11 @@ var a = /** @class */ (function () { "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -605,15 +643,24 @@ var a = /** @class */ (function () { { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 1056 + "size": 1192 } @@ -631,11 +678,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. diff --git a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js index 2973ac52377..2ab008bb319 100644 --- a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js +++ b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js @@ -407,7 +407,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -429,10 +429,10 @@ Shape signatures in builder refreshed for:: "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "version": "-13368947479-export const b = 10;", @@ -456,7 +456,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 921 + "size": 926 } @@ -508,7 +508,7 @@ exports.a = /** @class */ (function () { //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -530,10 +530,10 @@ exports.a = /** @class */ (function () { "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "version": "-13368947479-export const b = 10;", @@ -551,7 +551,7 @@ exports.a = /** @class */ (function () { ] ], "version": "FakeTSVersion", - "size": 890 + "size": 895 } diff --git a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js index 1ee9d031e50..29a64d95fdc 100644 --- a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js @@ -360,7 +360,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -381,11 +381,11 @@ Shape signatures in builder refreshed for:: "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -402,7 +402,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 884 + "size": 888 } @@ -449,7 +449,7 @@ var a = /** @class */ (function () { //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -470,11 +470,11 @@ var a = /** @class */ (function () { "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -485,7 +485,7 @@ var a = /** @class */ (function () { ] ], "version": "FakeTSVersion", - "size": 853 + "size": 857 } diff --git a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors.js b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors.js index e466c16b3b0..4879d4ae1cf 100644 --- a/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors.js +++ b/tests/baselines/reference/tsbuild/noEmit/multiFile/dts-errors.js @@ -36,11 +36,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -96,11 +101,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -307,11 +317,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -367,11 +382,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/home/src/projects/project/tsconfig.json'... @@ -427,11 +447,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. diff --git a/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-incremental-as-modules.js b/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-incremental-as-modules.js index db2986c4b3d..f57c10c47a1 100644 --- a/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-incremental-as-modules.js +++ b/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-incremental-as-modules.js @@ -136,11 +136,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -170,7 +175,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -206,9 +211,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -218,7 +232,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 918 + "size": 1051 } @@ -236,11 +250,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -271,7 +290,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"declarationMap":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":49,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"declarationMap":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":49,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -308,9 +327,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -320,7 +348,7 @@ No shapes updated in the builder:: 49 ], "version": "FakeTSVersion", - "size": 940 + "size": 1073 } @@ -354,11 +382,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -407,7 +440,7 @@ define("b", ["require", "exports"], function (require, exports) { //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -443,15 +476,24 @@ define("b", ["require", "exports"], function (require, exports) { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 901 + "size": 1034 } diff --git a/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-incremental.js b/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-incremental.js index 1c057f6ec49..ca867b9921c 100644 --- a/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-incremental.js @@ -121,11 +121,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -152,7 +157,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -181,9 +186,18 @@ No shapes updated in the builder:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -193,7 +207,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 843 + "size": 975 } @@ -211,11 +225,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -243,7 +262,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"declarationMap":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":49,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"declarationMap":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":49,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -273,9 +292,18 @@ No shapes updated in the builder:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -285,7 +313,7 @@ No shapes updated in the builder:: 49 ], "version": "FakeTSVersion", - "size": 865 + "size": 997 } @@ -319,11 +347,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -358,7 +391,7 @@ var a = /** @class */ (function () { //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -387,15 +420,24 @@ var a = /** @class */ (function () { { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 826 + "size": 958 } diff --git a/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js b/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js index 102e0ea355f..5e7226ff275 100644 --- a/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js +++ b/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js @@ -156,21 +156,36 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 3 errors. @@ -204,7 +219,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -248,9 +263,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -260,9 +284,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -272,9 +305,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -284,7 +326,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 1362 + "size": 1761 } @@ -302,21 +344,36 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 3 errors. @@ -351,7 +408,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":49,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"pendingEmit":49,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -396,9 +453,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -408,9 +474,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -420,9 +495,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -432,7 +516,7 @@ No shapes updated in the builder:: 49 ], "version": "FakeTSVersion", - "size": 1384 + "size": 1783 } @@ -466,21 +550,36 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 3 errors. @@ -555,7 +654,7 @@ define("d", ["require", "exports"], function (require, exports) { //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -599,9 +698,18 @@ define("d", ["require", "exports"], function (require, exports) { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -611,9 +719,18 @@ define("d", ["require", "exports"], function (require, exports) { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -623,15 +740,24 @@ define("d", ["require", "exports"], function (require, exports) { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 1345 + "size": 1744 } @@ -745,16 +871,26 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 2 errors. @@ -788,7 +924,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9483521475-export const a = class { public p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9483521475-export const a = class { public p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -832,9 +968,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -844,9 +989,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -856,7 +1010,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 1215 + "size": 1481 } @@ -874,16 +1028,26 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 2 errors. @@ -918,7 +1082,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9483521475-export const a = class { public p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":49,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9483521475-export const a = class { public p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"pendingEmit":49,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -963,9 +1127,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -975,9 +1148,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -987,7 +1169,7 @@ No shapes updated in the builder:: 49 ], "version": "FakeTSVersion", - "size": 1237 + "size": 1503 } @@ -1008,11 +1190,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 1 error. @@ -1052,7 +1239,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9483521475-export const a = class { public p = 10; };","-13368947479-export const b = 10;","-15184115393-export const c = class { public p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":49,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9483521475-export const a = class { public p = 10; };","-13368947479-export const b = 10;","-15184115393-export const c = class { public p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"pendingEmit":49,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -1097,9 +1284,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -1109,6 +1305,6 @@ No shapes updated in the builder:: 49 ], "version": "FakeTSVersion", - "size": 1090 + "size": 1223 } diff --git a/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes.js b/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes.js index 3370cfbd077..cb596d12a76 100644 --- a/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes.js +++ b/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-declaration-enable-changes.js @@ -124,11 +124,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -183,11 +188,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -281,11 +291,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/home/src/projects/project/tsconfig.json'... diff --git a/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-incremental-as-modules.js b/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-incremental-as-modules.js index 8350ee6f744..de1f264878f 100644 --- a/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-incremental-as-modules.js +++ b/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-incremental-as-modules.js @@ -42,11 +42,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -79,7 +84,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -115,9 +120,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -127,7 +141,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 918 + "size": 1051 } @@ -145,11 +159,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -409,11 +428,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -446,7 +470,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -482,9 +506,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -494,7 +527,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 918 + "size": 1051 } @@ -512,11 +545,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -565,7 +603,7 @@ define("b", ["require", "exports"], function (require, exports) { //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -601,15 +639,24 @@ define("b", ["require", "exports"], function (require, exports) { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 901 + "size": 1034 } @@ -627,11 +674,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. diff --git a/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-incremental.js b/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-incremental.js index 52096d340ed..0b2e7bac091 100644 --- a/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors-with-incremental.js @@ -38,11 +38,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -71,7 +76,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -100,9 +105,18 @@ No shapes updated in the builder:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -112,7 +126,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 843 + "size": 975 } @@ -130,11 +144,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -354,11 +373,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -387,7 +411,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -416,9 +440,18 @@ No shapes updated in the builder:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -428,7 +461,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 843 + "size": 975 } @@ -446,11 +479,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -485,7 +523,7 @@ var a = /** @class */ (function () { //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -514,15 +552,24 @@ var a = /** @class */ (function () { { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 826 + "size": 958 } @@ -540,11 +587,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. diff --git a/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors.js b/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors.js index 2ccad5295c7..536603a464c 100644 --- a/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors.js +++ b/tests/baselines/reference/tsbuild/noEmit/outFile/dts-errors.js @@ -37,11 +37,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -96,11 +101,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -303,11 +313,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -362,11 +377,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/home/src/projects/project/tsconfig.json'... @@ -421,11 +441,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/multiFile/dts-errors-with-declaration-with-incremental.js b/tests/baselines/reference/tsbuild/noEmitOnError/multiFile/dts-errors-with-declaration-with-incremental.js index c7a71ad86a2..5da7217ca3c 100644 --- a/tests/baselines/reference/tsbuild/noEmitOnError/multiFile/dts-errors-with-declaration-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noEmitOnError/multiFile/dts-errors-with-declaration-with-incremental.js @@ -52,11 +52,16 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -95,7 +100,7 @@ Shape signatures in builder refreshed for:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-5014788164-export interface A {\n name: string;\n}\n","5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"referencedMap":[[3,1]],"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17],[3,17],[4,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-5014788164-export interface A {\n name: string;\n}\n","5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"referencedMap":[[3,1]],"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":53,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17],[3,17],[4,17]],"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -163,9 +168,18 @@ Shape signatures in builder refreshed for:: { "start": 53, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 53, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -194,7 +208,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 1182 + "size": 1315 } @@ -212,11 +226,16 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/multiFile/dts-errors-with-declaration.js b/tests/baselines/reference/tsbuild/noEmitOnError/multiFile/dts-errors-with-declaration.js index d6f15f28e9f..54602900f56 100644 --- a/tests/baselines/reference/tsbuild/noEmitOnError/multiFile/dts-errors-with-declaration.js +++ b/tests/baselines/reference/tsbuild/noEmitOnError/multiFile/dts-errors-with-declaration.js @@ -51,11 +51,16 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -122,11 +127,16 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/outFile/dts-errors-with-declaration-with-incremental.js b/tests/baselines/reference/tsbuild/noEmitOnError/outFile/dts-errors-with-declaration-with-incremental.js index 4b4d4649495..1f7c57a71e8 100644 --- a/tests/baselines/reference/tsbuild/noEmitOnError/outFile/dts-errors-with-declaration-with-incremental.js +++ b/tests/baselines/reference/tsbuild/noEmitOnError/outFile/dts-errors-with-declaration-with-incremental.js @@ -53,11 +53,16 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -93,7 +98,7 @@ No shapes updated in the builder:: //// [/user/username/projects/dev-build.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-5014788164-export interface A {\n name: string;\n}\n","5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"},"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-5014788164-export interface A {\n name: string;\n}\n","5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"},"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":53,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] { @@ -135,9 +140,18 @@ No shapes updated in the builder:: { "start": 53, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 53, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -147,7 +161,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 1124 + "size": 1257 } @@ -165,11 +179,16 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. diff --git a/tests/baselines/reference/tsbuild/noEmitOnError/outFile/dts-errors-with-declaration.js b/tests/baselines/reference/tsbuild/noEmitOnError/outFile/dts-errors-with-declaration.js index 2de91ad7b61..7e6e18be3d6 100644 --- a/tests/baselines/reference/tsbuild/noEmitOnError/outFile/dts-errors-with-declaration.js +++ b/tests/baselines/reference/tsbuild/noEmitOnError/outFile/dts-errors-with-declaration.js @@ -52,11 +52,16 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. @@ -120,11 +125,16 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error. diff --git a/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-with-incremental-as-modules.js b/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-with-incremental-as-modules.js index ae395d7305d..a15edbb64aa 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-with-incremental-as-modules.js +++ b/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-with-incremental-as-modules.js @@ -43,17 +43,22 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17],[3,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17],[3,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -101,9 +106,18 @@ Output:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -125,7 +139,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 935 + "size": 1068 } @@ -507,17 +521,22 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -539,10 +558,10 @@ Output:: "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "original": { @@ -573,9 +592,18 @@ Output:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -590,7 +618,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 1201 + "size": 1339 } @@ -649,17 +677,22 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -681,10 +714,10 @@ Output:: "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "original": { @@ -715,15 +748,24 @@ Output:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 1165 + "size": 1303 } //// [/home/src/projects/project/a.js] @@ -792,11 +834,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-with-incremental.js b/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-with-incremental.js index ce5289e3808..c8c64df6dbd 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-with-incremental.js +++ b/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-with-incremental.js @@ -40,17 +40,22 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -94,9 +99,18 @@ Output:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -111,7 +125,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 910 + "size": 1042 } @@ -443,17 +457,22 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -474,11 +493,11 @@ Output:: "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -498,9 +517,18 @@ Output:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -515,7 +543,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 1094 + "size": 1230 } @@ -573,17 +601,22 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -604,11 +637,11 @@ Output:: "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -628,15 +661,24 @@ Output:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 1058 + "size": 1194 } //// [/home/src/projects/project/a.js] @@ -700,11 +742,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js b/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js index 115b9ea4aa5..34819a05c53 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js +++ b/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js @@ -453,7 +453,7 @@ Output:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -475,10 +475,10 @@ Output:: "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "version": "-13368947479-export const b = 10;", @@ -502,7 +502,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 923 + "size": 928 } @@ -564,7 +564,7 @@ Output:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -586,10 +586,10 @@ Output:: "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "version": "-13368947479-export const b = 10;", @@ -607,7 +607,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 892 + "size": 897 } //// [/home/src/projects/project/a.js] diff --git a/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js b/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js index 99c67ebf4df..4dcf73f36ec 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js +++ b/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js @@ -403,7 +403,7 @@ Output:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -424,11 +424,11 @@ Output:: "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -445,7 +445,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 886 + "size": 890 } @@ -506,7 +506,7 @@ Output:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -527,11 +527,11 @@ Output:: "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -542,7 +542,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 855 + "size": 859 } //// [/home/src/projects/project/a.js] diff --git a/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors.js b/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors.js index 307218a5148..c85a39b65ca 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors.js +++ b/tests/baselines/reference/tsbuildWatch/noEmit/multiFile/dts-errors.js @@ -39,11 +39,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -303,11 +308,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -378,11 +388,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/home/src/projects/project/tsconfig.json'... [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -451,11 +466,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tsbuildWatch/noEmit/outFile/dts-errors-with-incremental-as-modules.js b/tests/baselines/reference/tsbuildWatch/noEmit/outFile/dts-errors-with-incremental-as-modules.js index 375bad2f201..cd0f9b2da48 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmit/outFile/dts-errors-with-incremental-as-modules.js +++ b/tests/baselines/reference/tsbuildWatch/noEmit/outFile/dts-errors-with-incremental-as-modules.js @@ -45,17 +45,22 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -91,9 +96,18 @@ Output:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -103,7 +117,7 @@ Output:: 17 ], "version": "FakeTSVersion", - "size": 920 + "size": 1053 } @@ -449,17 +463,22 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -495,9 +514,18 @@ Output:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -507,7 +535,7 @@ Output:: 17 ], "version": "FakeTSVersion", - "size": 920 + "size": 1053 } @@ -571,17 +599,22 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -617,15 +650,24 @@ Output:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 903 + "size": 1036 } //// [/home/src/projects/outFile.js] @@ -706,11 +748,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tsbuildWatch/noEmit/outFile/dts-errors-with-incremental.js b/tests/baselines/reference/tsbuildWatch/noEmit/outFile/dts-errors-with-incremental.js index 9e7f9ade2a5..c8e8394931f 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmit/outFile/dts-errors-with-incremental.js +++ b/tests/baselines/reference/tsbuildWatch/noEmit/outFile/dts-errors-with-incremental.js @@ -41,17 +41,22 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -80,9 +85,18 @@ Output:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -92,7 +106,7 @@ Output:: 17 ], "version": "FakeTSVersion", - "size": 845 + "size": 977 } @@ -390,17 +404,22 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -429,9 +448,18 @@ Output:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -441,7 +469,7 @@ Output:: 17 ], "version": "FakeTSVersion", - "size": 845 + "size": 977 } @@ -500,17 +528,22 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -539,15 +572,24 @@ Output:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 828 + "size": 960 } //// [/home/src/projects/outFile.js] @@ -613,11 +655,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tsbuildWatch/noEmit/outFile/dts-errors.js b/tests/baselines/reference/tsbuildWatch/noEmit/outFile/dts-errors.js index 67ea67b5990..7dd72a6089f 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmit/outFile/dts-errors.js +++ b/tests/baselines/reference/tsbuildWatch/noEmit/outFile/dts-errors.js @@ -40,11 +40,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -307,11 +312,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -383,11 +393,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Updating unchanged output timestamps of project '/home/src/projects/project/tsconfig.json'... [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -458,11 +473,16 @@ Output:: [HH:MM:SS AM] Building project '/home/src/projects/project/tsconfig.json'... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tsbuildWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration-with-incremental.js b/tests/baselines/reference/tsbuildWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration-with-incremental.js index 2ae6b355e94..da9b25be04d 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration-with-incremental.js +++ b/tests/baselines/reference/tsbuildWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration-with-incremental.js @@ -865,17 +865,22 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-5014788164-export interface A {\n name: string;\n}\n",{"version":"5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","signature":"-8511871557-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n"}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"referencedMap":[[3,1]],"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[3,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-5014788164-export interface A {\n name: string;\n}\n",{"version":"5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","signature":"-3419031754-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n"}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"referencedMap":[[3,1]],"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":53,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[3,17]],"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -907,10 +912,10 @@ Output:: "../src/main.ts": { "original": { "version": "5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n", - "signature": "-8511871557-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-3419031754-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n", - "signature": "-8511871557-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-3419031754-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "../src/other.ts": { "original": { @@ -951,9 +956,18 @@ Output:: { "start": 53, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 53, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -968,7 +982,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 1423 + "size": 1560 } @@ -1023,11 +1037,16 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tsbuildWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration.js b/tests/baselines/reference/tsbuildWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration.js index 31730361589..adce4fe545a 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration.js +++ b/tests/baselines/reference/tsbuildWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration.js @@ -663,11 +663,16 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -738,11 +743,16 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tsbuildWatch/noEmitOnError/multiFile/noEmitOnError-with-incremental.js b/tests/baselines/reference/tsbuildWatch/noEmitOnError/multiFile/noEmitOnError-with-incremental.js index 9bd0010b46e..ee224a7c2c1 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmitOnError/multiFile/noEmitOnError-with-incremental.js +++ b/tests/baselines/reference/tsbuildWatch/noEmitOnError/multiFile/noEmitOnError-with-incremental.js @@ -832,7 +832,7 @@ Output:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-5014788164-export interface A {\n name: string;\n}\n",{"version":"5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","signature":"-8511871557-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported class expression may not be private or protected."},"9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"referencedMap":[[3,1]],"version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-5014788164-export interface A {\n name: string;\n}\n",{"version":"5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","signature":"-3419031754-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},"9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"referencedMap":[[3,1]],"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -864,10 +864,10 @@ Output:: "../src/main.ts": { "original": { "version": "5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n", - "signature": "-8511871557-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-3419031754-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n", - "signature": "-8511871557-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-3419031754-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "../src/other.ts": { "version": "9084524823-console.log(\"hi\");\nexport { }\n", @@ -897,7 +897,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 1144 + "size": 1148 } //// [/user/username/projects/noEmitOnError/dev-build/src/main.js] diff --git a/tests/baselines/reference/tsbuildWatch/noEmitOnError/outFile/noEmitOnError-with-declaration-with-incremental.js b/tests/baselines/reference/tsbuildWatch/noEmitOnError/outFile/noEmitOnError-with-declaration-with-incremental.js index ac08fc8677c..c7936aad83c 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmitOnError/outFile/noEmitOnError-with-declaration-with-incremental.js +++ b/tests/baselines/reference/tsbuildWatch/noEmitOnError/outFile/noEmitOnError-with-declaration-with-incremental.js @@ -743,17 +743,22 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/user/username/projects/dev-build.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-5014788164-export interface A {\n name: string;\n}\n","5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"},"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-5014788164-export interface A {\n name: string;\n}\n","5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"},"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":53,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] { @@ -795,9 +800,18 @@ Output:: { "start": 53, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 53, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -807,7 +821,7 @@ Output:: 17 ], "version": "FakeTSVersion", - "size": 1124 + "size": 1257 } @@ -865,11 +879,16 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tsbuildWatch/noEmitOnError/outFile/noEmitOnError-with-declaration.js b/tests/baselines/reference/tsbuildWatch/noEmitOnError/outFile/noEmitOnError-with-declaration.js index 4a0320fd7f9..6d24c3a8982 100644 --- a/tests/baselines/reference/tsbuildWatch/noEmitOnError/outFile/noEmitOnError-with-declaration.js +++ b/tests/baselines/reference/tsbuildWatch/noEmitOnError/outFile/noEmitOnError-with-declaration.js @@ -669,11 +669,16 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -747,11 +752,16 @@ Output:: [HH:MM:SS AM] Building project '/user/username/projects/noEmitOnError/tsconfig.json'... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-file-with-no-error-changes.js b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-file-with-no-error-changes.js index effddb855e3..cc76ddf73c2 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-file-with-no-error-changes.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-file-with-no-error-changes.js @@ -194,11 +194,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -app/fileWithError.ts:1:12 - error TS4094: Property 'p' of exported class expression may not be private or protected. +app/fileWithError.ts:1:12 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export var myClassWithError = class {    ~~~~~~~~~~~~~~~~ + app/fileWithError.ts:1:12 + 1 export var myClassWithError = class { +    ~~~~~~~~~~~~~~~~ + Add a type annotation to the variable myClassWithError. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -217,7 +222,7 @@ exports.myClassWithError = /** @class */ (function () { //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","signature":"7927555551-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n"}],"root":[2,3],"options":{"composite":true},"emitDiagnosticsPerFile":[[2,[{"start":11,"length":16,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"emitSignatures":[[2,"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n"]],"latestChangedDtsFile":"./fileWithoutError.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","signature":"1132390746-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n"}],"root":[2,3],"options":{"composite":true},"emitDiagnosticsPerFile":[[2,[{"start":11,"length":16,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":11,"length":16,"messageText":"Add a type annotation to the variable myClassWithError.","category":1,"code":9027}]}]]],"emitSignatures":[[2,"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n"]],"latestChangedDtsFile":"./fileWithoutError.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -239,10 +244,10 @@ exports.myClassWithError = /** @class */ (function () { "./filewitherror.ts": { "original": { "version": "-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };", - "signature": "7927555551-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "1132390746-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };", - "signature": "7927555551-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "1132390746-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./filewithouterror.ts": { "original": { @@ -273,9 +278,18 @@ exports.myClassWithError = /** @class */ (function () { { "start": 11, "length": 16, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 11, + "length": 16, + "messageText": "Add a type annotation to the variable myClassWithError.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -288,7 +302,7 @@ exports.myClassWithError = /** @class */ (function () { ], "latestChangedDtsFile": "./fileWithoutError.d.ts", "version": "FakeTSVersion", - "size": 1381 + "size": 1534 } @@ -336,11 +350,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -app/fileWithError.ts:1:12 - error TS4094: Property 'p' of exported class expression may not be private or protected. +app/fileWithError.ts:1:12 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export var myClassWithError = class {    ~~~~~~~~~~~~~~~~ + app/fileWithError.ts:1:12 + 1 export var myClassWithError = class { +    ~~~~~~~~~~~~~~~~ + Add a type annotation to the variable myClassWithError. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -363,7 +382,7 @@ export declare class myClass2 { //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","signature":"7927555551-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-10959532701-export class myClass2 { }","signature":"-8459626297-export declare class myClass2 {\n}\n"}],"root":[2,3],"options":{"composite":true},"emitDiagnosticsPerFile":[[2,[{"start":11,"length":16,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"emitSignatures":[[2,"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n"]],"latestChangedDtsFile":"./fileWithoutError.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","signature":"1132390746-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-10959532701-export class myClass2 { }","signature":"-8459626297-export declare class myClass2 {\n}\n"}],"root":[2,3],"options":{"composite":true},"emitDiagnosticsPerFile":[[2,[{"start":11,"length":16,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":11,"length":16,"messageText":"Add a type annotation to the variable myClassWithError.","category":1,"code":9027}]}]]],"emitSignatures":[[2,"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n"]],"latestChangedDtsFile":"./fileWithoutError.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -385,10 +404,10 @@ export declare class myClass2 { "./filewitherror.ts": { "original": { "version": "-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };", - "signature": "7927555551-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "1132390746-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };", - "signature": "7927555551-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "1132390746-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./filewithouterror.ts": { "original": { @@ -419,9 +438,18 @@ export declare class myClass2 { { "start": 11, "length": 16, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 11, + "length": 16, + "messageText": "Add a type annotation to the variable myClassWithError.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -434,7 +462,7 @@ export declare class myClass2 { ], "latestChangedDtsFile": "./fileWithoutError.d.ts", "version": "FakeTSVersion", - "size": 1383 + "size": 1536 } diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-fixing-errors-only-changed-file-is-emitted.js b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-fixing-errors-only-changed-file-is-emitted.js index 7c363fac00e..17c3dd5bf27 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-fixing-errors-only-changed-file-is-emitted.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/introduceError/when-fixing-errors-only-changed-file-is-emitted.js @@ -194,11 +194,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -app/fileWithError.ts:1:12 - error TS4094: Property 'p' of exported class expression may not be private or protected. +app/fileWithError.ts:1:12 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export var myClassWithError = class {    ~~~~~~~~~~~~~~~~ + app/fileWithError.ts:1:12 + 1 export var myClassWithError = class { +    ~~~~~~~~~~~~~~~~ + Add a type annotation to the variable myClassWithError. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -217,7 +222,7 @@ exports.myClassWithError = /** @class */ (function () { //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","signature":"7927555551-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n"}],"root":[2,3],"options":{"composite":true},"emitDiagnosticsPerFile":[[2,[{"start":11,"length":16,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"emitSignatures":[[2,"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n"]],"latestChangedDtsFile":"./fileWithoutError.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };","signature":"1132390746-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n"}],"root":[2,3],"options":{"composite":true},"emitDiagnosticsPerFile":[[2,[{"start":11,"length":16,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":11,"length":16,"messageText":"Add a type annotation to the variable myClassWithError.","category":1,"code":9027}]}]]],"emitSignatures":[[2,"6892461904-export declare var myClassWithError: {\n new (): {\n tags(): void;\n };\n};\n"]],"latestChangedDtsFile":"./fileWithoutError.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -239,10 +244,10 @@ exports.myClassWithError = /** @class */ (function () { "./filewitherror.ts": { "original": { "version": "-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };", - "signature": "7927555551-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "1132390746-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };", - "signature": "7927555551-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "1132390746-export declare var myClassWithError: {\n new (): {\n tags(): void;\n p: number;\n };\n};\n(11,16)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./filewithouterror.ts": { "original": { @@ -273,9 +278,18 @@ exports.myClassWithError = /** @class */ (function () { { "start": 11, "length": 16, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 11, + "length": 16, + "messageText": "Add a type annotation to the variable myClassWithError.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -288,7 +302,7 @@ exports.myClassWithError = /** @class */ (function () { ], "latestChangedDtsFile": "./fileWithoutError.d.ts", "version": "FakeTSVersion", - "size": 1381 + "size": 1534 } diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-file-with-no-error-changes.js b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-file-with-no-error-changes.js index 9f9f0d052a2..926d8233f97 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-file-with-no-error-changes.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-file-with-no-error-changes.js @@ -35,11 +35,16 @@ Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... -app/fileWithError.ts:1:12 - error TS4094: Property 'p' of exported class expression may not be private or protected. +app/fileWithError.ts:1:12 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export var myClassWithError = class {    ~~~~~~~~~~~~~~~~ + app/fileWithError.ts:1:12 + 1 export var myClassWithError = class { +    ~~~~~~~~~~~~~~~~ + Add a type annotation to the variable myClassWithError. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -75,7 +80,7 @@ export declare class myClass { //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };",{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n"}],"root":[2,3],"options":{"composite":true},"emitDiagnosticsPerFile":[[2,[{"start":11,"length":16,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"emitSignatures":[2],"latestChangedDtsFile":"./fileWithoutError.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };",{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n"}],"root":[2,3],"options":{"composite":true},"emitDiagnosticsPerFile":[[2,[{"start":11,"length":16,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":11,"length":16,"messageText":"Add a type annotation to the variable myClassWithError.","category":1,"code":9027}]}]]],"emitSignatures":[2],"latestChangedDtsFile":"./fileWithoutError.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -127,9 +132,18 @@ export declare class myClass { { "start": 11, "length": 16, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 11, + "length": 16, + "messageText": "Add a type annotation to the variable myClassWithError.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -139,7 +153,7 @@ export declare class myClass { ], "latestChangedDtsFile": "./fileWithoutError.d.ts", "version": "FakeTSVersion", - "size": 1035 + "size": 1184 } @@ -202,11 +216,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -app/fileWithError.ts:1:12 - error TS4094: Property 'p' of exported class expression may not be private or protected. +app/fileWithError.ts:1:12 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export var myClassWithError = class {    ~~~~~~~~~~~~~~~~ + app/fileWithError.ts:1:12 + 1 export var myClassWithError = class { +    ~~~~~~~~~~~~~~~~ + Add a type annotation to the variable myClassWithError. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -229,7 +248,7 @@ export declare class myClass2 { //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };",{"version":"-10959532701-export class myClass2 { }","signature":"-8459626297-export declare class myClass2 {\n}\n"}],"root":[2,3],"options":{"composite":true},"emitDiagnosticsPerFile":[[2,[{"start":11,"length":16,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"emitSignatures":[2],"latestChangedDtsFile":"./fileWithoutError.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };",{"version":"-10959532701-export class myClass2 { }","signature":"-8459626297-export declare class myClass2 {\n}\n"}],"root":[2,3],"options":{"composite":true},"emitDiagnosticsPerFile":[[2,[{"start":11,"length":16,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":11,"length":16,"messageText":"Add a type annotation to the variable myClassWithError.","category":1,"code":9027}]}]]],"emitSignatures":[2],"latestChangedDtsFile":"./fileWithoutError.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -281,9 +300,18 @@ export declare class myClass2 { { "start": 11, "length": 16, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 11, + "length": 16, + "messageText": "Add a type annotation to the variable myClassWithError.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -293,7 +321,7 @@ export declare class myClass2 { ], "latestChangedDtsFile": "./fileWithoutError.d.ts", "version": "FakeTSVersion", - "size": 1037 + "size": 1186 } diff --git a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-fixing-error-files-all-files-are-emitted.js b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-fixing-error-files-all-files-are-emitted.js index 1d0451aecbb..1ea1b9c68a5 100644 --- a/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-fixing-error-files-all-files-are-emitted.js +++ b/tests/baselines/reference/tsbuildWatch/programUpdates/reportErrors/declarationEmitErrors/when-fixing-error-files-all-files-are-emitted.js @@ -35,11 +35,16 @@ Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... -app/fileWithError.ts:1:12 - error TS4094: Property 'p' of exported class expression may not be private or protected. +app/fileWithError.ts:1:12 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export var myClassWithError = class {    ~~~~~~~~~~~~~~~~ + app/fileWithError.ts:1:12 + 1 export var myClassWithError = class { +    ~~~~~~~~~~~~~~~~ + Add a type annotation to the variable myClassWithError. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -75,7 +80,7 @@ export declare class myClass { //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };",{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n"}],"root":[2,3],"options":{"composite":true},"emitDiagnosticsPerFile":[[2,[{"start":11,"length":16,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"emitSignatures":[2],"latestChangedDtsFile":"./fileWithoutError.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","./filewitherror.ts","./filewithouterror.ts"],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-8103865863-export var myClassWithError = class {\n tags() { }\n private p = 12\n };",{"version":"-11785903855-export class myClass { }","signature":"-7432826827-export declare class myClass {\n}\n"}],"root":[2,3],"options":{"composite":true},"emitDiagnosticsPerFile":[[2,[{"start":11,"length":16,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":11,"length":16,"messageText":"Add a type annotation to the variable myClassWithError.","category":1,"code":9027}]}]]],"emitSignatures":[2],"latestChangedDtsFile":"./fileWithoutError.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/solution/app/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -127,9 +132,18 @@ export declare class myClass { { "start": 11, "length": 16, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 11, + "length": 16, + "messageText": "Add a type annotation to the variable myClassWithError.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -139,7 +153,7 @@ export declare class myClass { ], "latestChangedDtsFile": "./fileWithoutError.d.ts", "version": "FakeTSVersion", - "size": 1035 + "size": 1184 } diff --git a/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field-with-declaration-emit-enabled.js b/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field-with-declaration-emit-enabled.js index 64efb458d65..f1b544c6bbd 100644 --- a/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field-with-declaration-emit-enabled.js +++ b/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field-with-declaration-emit-enabled.js @@ -180,11 +180,16 @@ Output:: 3 console.log( person.message );    ~~~~~~~ -src/project/MessageablePerson.ts:6:7 - error TS4094: Property 'message' of exported class expression may not be private or protected. +src/project/MessageablePerson.ts:6:7 - error TS4094: Property 'message' of exported anonymous class type may not be private or protected. 6 const wrapper = () => Messageable();    ~~~~~~~ + src/project/MessageablePerson.ts:6:7 + 6 const wrapper = () => Messageable(); +    ~~~~~~~ + Add a type annotation to the variable wrapper. + Found 2 errors in 2 files. @@ -198,7 +203,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped //// [/src/project/main.js] file written with same contents //// [/src/project/MessageablePerson.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true},{"version":"3462418372-const Messageable = () => {\n return class MessageableClass {\n protected message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","signature":"-21450256696-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported class expression may not be private or protected."},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","signature":"-3531856636-export {};\n"}],"root":[2,3],"options":{"declaration":true},"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":131,"length":7,"messageText":"Property 'message' is protected and only accessible within class 'MessageableClass' and its subclasses.","category":1,"code":2445}]]],"emitDiagnosticsPerFile":[[2,[{"start":116,"length":7,"messageText":"Property 'message' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true},{"version":"3462418372-const Messageable = () => {\n return class MessageableClass {\n protected message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","signature":"-6547480893-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported anonymous class type may not be private or protected."},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","signature":"-3531856636-export {};\n"}],"root":[2,3],"options":{"declaration":true},"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":131,"length":7,"messageText":"Property 'message' is protected and only accessible within class 'MessageableClass' and its subclasses.","category":1,"code":2445}]]],"emitDiagnosticsPerFile":[[2,[{"start":116,"length":7,"messageText":"Property 'message' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":116,"length":7,"messageText":"Add a type annotation to the variable wrapper.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -225,10 +230,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped "./messageableperson.ts": { "original": { "version": "3462418372-const Messageable = () => {\n return class MessageableClass {\n protected message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;", - "signature": "-21450256696-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported class expression may not be private or protected." + "signature": "-6547480893-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported anonymous class type may not be private or protected." }, "version": "3462418372-const Messageable = () => {\n return class MessageableClass {\n protected message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;", - "signature": "-21450256696-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported class expression may not be private or protected." + "signature": "-6547480893-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported anonymous class type may not be private or protected." }, "./main.ts": { "original": { @@ -278,15 +283,24 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsSkipped { "start": 116, "length": 7, - "messageText": "Property 'message' of exported class expression may not be private or protected.", + "messageText": "Property 'message' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 116, + "length": 7, + "messageText": "Add a type annotation to the variable wrapper.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 2096 + "size": 2239 } @@ -302,11 +316,16 @@ Output:: 3 console.log( person.message );    ~~~~~~~ -src/project/MessageablePerson.ts:6:7 - error TS4094: Property 'message' of exported class expression may not be private or protected. +src/project/MessageablePerson.ts:6:7 - error TS4094: Property 'message' of exported anonymous class type may not be private or protected. 6 const wrapper = () => Messageable();    ~~~~~~~ + src/project/MessageablePerson.ts:6:7 + 6 const wrapper = () => Messageable(); +    ~~~~~~~ + Add a type annotation to the variable wrapper. + Found 2 errors in 2 files. diff --git a/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field.js b/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field.js index 861d74f95de..5ef1f4487df 100644 --- a/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field.js +++ b/tests/baselines/reference/tsc/incremental/change-to-modifier-of-class-expression-field.js @@ -167,7 +167,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated //// [/src/project/main.js] file written with same contents //// [/src/project/MessageablePerson.js] file written with same contents //// [/src/project/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true},{"version":"3462418372-const Messageable = () => {\n return class MessageableClass {\n protected message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","signature":"-21450256696-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported class expression may not be private or protected."},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","signature":"-3531856636-export {};\n"}],"root":[2,3],"options":{"declaration":false},"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":131,"length":7,"messageText":"Property 'message' is protected and only accessible within class 'MessageableClass' and its subclasses.","category":1,"code":2445}]]],"version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.d.ts","./messageableperson.ts","./main.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"5700251342-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };type ReturnType any> = T extends (...args: any) => infer R ? R : any;\ntype InstanceType any> = T extends abstract new (...args: any) => infer R ? R : any;","affectsGlobalScope":true},{"version":"3462418372-const Messageable = () => {\n return class MessageableClass {\n protected message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;","signature":"-6547480893-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported anonymous class type may not be private or protected."},{"version":"4191603667-import MessageablePerson from './MessageablePerson.js';\nfunction logMessage( person: MessageablePerson ) {\n console.log( person.message );\n}","signature":"-3531856636-export {};\n"}],"root":[2,3],"options":{"declaration":false},"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":131,"length":7,"messageText":"Property 'message' is protected and only accessible within class 'MessageableClass' and its subclasses.","category":1,"code":2445}]]],"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -194,10 +194,10 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated "./messageableperson.ts": { "original": { "version": "3462418372-const Messageable = () => {\n return class MessageableClass {\n protected message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;", - "signature": "-21450256696-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported class expression may not be private or protected." + "signature": "-6547480893-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported anonymous class type may not be private or protected." }, "version": "3462418372-const Messageable = () => {\n return class MessageableClass {\n protected message = 'hello';\n }\n};\nconst wrapper = () => Messageable();\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;", - "signature": "-21450256696-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported class expression may not be private or protected." + "signature": "-6547480893-declare const wrapper: () => {\n new (): {\n message: string;\n };\n};\ntype MessageablePerson = InstanceType>;\nexport default MessageablePerson;\n(116,7)Error4094: Property 'message' of exported anonymous class type may not be private or protected." }, "./main.ts": { "original": { @@ -241,7 +241,7 @@ exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated ] ], "version": "FakeTSVersion", - "size": 1917 + "size": 1920 } diff --git a/tests/baselines/reference/tsc/noCheck/multiFile/dts-errors-with-incremental.js b/tests/baselines/reference/tsc/noCheck/multiFile/dts-errors-with-incremental.js index 8ac646bbe74..f782228229c 100644 --- a/tests/baselines/reference/tsc/noCheck/multiFile/dts-errors-with-incremental.js +++ b/tests/baselines/reference/tsc/noCheck/multiFile/dts-errors-with-incremental.js @@ -33,11 +33,16 @@ export const b = 10; Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -91,7 +96,7 @@ exports.b = 10; //// [/src/tsconfig.tsbuildinfo] -{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };",{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"semanticDiagnosticsPerFile":[1,2,3],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"checkPending":true,"version":"FakeTSVersion"} +{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };",{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"semanticDiagnosticsPerFile":[1,2,3],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"checkPending":true,"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -157,16 +162,25 @@ exports.b = 10; { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "checkPending": true, "version": "FakeTSVersion", - "size": 1007 + "size": 1140 } @@ -177,11 +191,16 @@ Input:: Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -513,11 +532,16 @@ export const a = class { private p = 10; }; Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -559,7 +583,7 @@ exports.a = /** @class */ (function () { //// [/src/tsconfig.tsbuildinfo] -{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"semanticDiagnosticsPerFile":[2],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"checkPending":true,"version":"FakeTSVersion"} +{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"semanticDiagnosticsPerFile":[2],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"checkPending":true,"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -581,10 +605,10 @@ exports.a = /** @class */ (function () { "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "original": { @@ -621,16 +645,25 @@ exports.a = /** @class */ (function () { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "checkPending": true, "version": "FakeTSVersion", - "size": 1207 + "size": 1345 } @@ -641,11 +674,16 @@ Input:: Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -681,11 +719,16 @@ Input:: Output:: /lib/tsc -p /src/tsconfig.json -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -713,7 +756,7 @@ No shapes updated in the builder:: //// [/src/tsconfig.tsbuildinfo] -{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -735,10 +778,10 @@ No shapes updated in the builder:: "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "original": { @@ -769,15 +812,24 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 1154 + "size": 1292 } @@ -1117,11 +1169,16 @@ export const a = class { private p = 10; }; Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -1165,7 +1222,7 @@ exports.a = /** @class */ (function () { //// [/src/tsconfig.tsbuildinfo] -{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts","./c.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},{"version":"-9150421116-export const c: number = \"hello\";","signature":"1429704745-export declare const c: number;\n"}],"root":[[2,4]],"options":{"declaration":true},"semanticDiagnosticsPerFile":[2,[4,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'string' is not assignable to type 'number'."}]]],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"checkPending":true,"version":"FakeTSVersion"} +{"fileNames":["../lib/lib.d.ts","./a.ts","./b.ts","./c.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},{"version":"-9150421116-export const c: number = \"hello\";","signature":"1429704745-export declare const c: number;\n"}],"root":[[2,4]],"options":{"declaration":true},"semanticDiagnosticsPerFile":[2,[4,[{"start":13,"length":1,"code":2322,"category":1,"messageText":"Type 'string' is not assignable to type 'number'."}]]],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"checkPending":true,"version":"FakeTSVersion"} //// [/src/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1188,10 +1245,10 @@ exports.a = /** @class */ (function () { "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "original": { @@ -1251,16 +1308,25 @@ exports.a = /** @class */ (function () { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "checkPending": true, "version": "FakeTSVersion", - "size": 1460 + "size": 1598 } diff --git a/tests/baselines/reference/tsc/noCheck/multiFile/dts-errors.js b/tests/baselines/reference/tsc/noCheck/multiFile/dts-errors.js index dedde282584..5a9f0616feb 100644 --- a/tests/baselines/reference/tsc/noCheck/multiFile/dts-errors.js +++ b/tests/baselines/reference/tsc/noCheck/multiFile/dts-errors.js @@ -32,11 +32,16 @@ export const b = 10; Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -89,11 +94,16 @@ Input:: Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -289,11 +299,16 @@ export const a = class { private p = 10; }; Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -337,11 +352,16 @@ Input:: Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -374,11 +394,16 @@ Input:: Output:: /lib/tsc -p /src/tsconfig.json -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -534,11 +559,16 @@ export const a = class { private p = 10; }; Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 diff --git a/tests/baselines/reference/tsc/noCheck/outFile/dts-errors-with-incremental.js b/tests/baselines/reference/tsc/noCheck/outFile/dts-errors-with-incremental.js index bc64ad79f1f..0a76bec4671 100644 --- a/tests/baselines/reference/tsc/noCheck/outFile/dts-errors-with-incremental.js +++ b/tests/baselines/reference/tsc/noCheck/outFile/dts-errors-with-incremental.js @@ -35,11 +35,16 @@ export const b = 10; Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -89,7 +94,7 @@ define("b", ["require", "exports"], function (require, exports) { //// [/outFile.tsbuildinfo] -{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[1,2,3],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"checkPending":true,"version":"FakeTSVersion"} +{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[1,2,3],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"checkPending":true,"version":"FakeTSVersion"} //// [/outFile.tsbuildinfo.readable.baseline.txt] { @@ -139,16 +144,25 @@ define("b", ["require", "exports"], function (require, exports) { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "checkPending": true, "version": "FakeTSVersion", - "size": 943 + "size": 1076 } @@ -159,11 +173,16 @@ Input:: Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -479,11 +498,16 @@ export const a = class { private p = 10; }; Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -533,7 +557,7 @@ define("b", ["require", "exports"], function (require, exports) { //// [/outFile.tsbuildinfo] -{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[1,2,3],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"checkPending":true,"version":"FakeTSVersion"} +{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[1,2,3],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"checkPending":true,"version":"FakeTSVersion"} //// [/outFile.tsbuildinfo.readable.baseline.txt] { @@ -583,16 +607,25 @@ define("b", ["require", "exports"], function (require, exports) { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "checkPending": true, "version": "FakeTSVersion", - "size": 943 + "size": 1076 } @@ -603,11 +636,16 @@ Input:: Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -644,11 +682,16 @@ Input:: Output:: /lib/tsc -p /src/tsconfig.json -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -680,7 +723,7 @@ No shapes updated in the builder:: //// [/outFile.tsbuildinfo] -{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/outFile.tsbuildinfo.readable.baseline.txt] { @@ -716,15 +759,24 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 886 + "size": 1019 } @@ -1043,11 +1095,16 @@ export const a = class { private p = 10; }; Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -1105,7 +1162,7 @@ define("c", ["require", "exports"], function (require, exports) { //// [/outFile.tsbuildinfo] -{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts","./src/c.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-9150421116-export const c: number = \"hello\";"],"root":[[2,4]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[1,2,3,4],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"checkPending":true,"version":"FakeTSVersion"} +{"fileNames":["./lib/lib.d.ts","./src/a.ts","./src/b.ts","./src/c.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-9150421116-export const c: number = \"hello\";"],"root":[[2,4]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"semanticDiagnosticsPerFile":[1,2,3,4],"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"checkPending":true,"version":"FakeTSVersion"} //// [/outFile.tsbuildinfo.readable.baseline.txt] { @@ -1164,16 +1221,25 @@ define("c", ["require", "exports"], function (require, exports) { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "checkPending": true, "version": "FakeTSVersion", - "size": 1010 + "size": 1143 } diff --git a/tests/baselines/reference/tsc/noCheck/outFile/dts-errors.js b/tests/baselines/reference/tsc/noCheck/outFile/dts-errors.js index cb3011eb46f..6a0d853ef61 100644 --- a/tests/baselines/reference/tsc/noCheck/outFile/dts-errors.js +++ b/tests/baselines/reference/tsc/noCheck/outFile/dts-errors.js @@ -34,11 +34,16 @@ export const b = 10; Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -90,11 +95,16 @@ Input:: Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -303,11 +313,16 @@ export const a = class { private p = 10; }; Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -359,11 +374,16 @@ Input:: Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -396,11 +416,16 @@ Input:: Output:: /lib/tsc -p /src/tsconfig.json -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 @@ -584,11 +609,16 @@ export const a = class { private p = 10; }; Output:: /lib/tsc -p /src/tsconfig.json --noCheck -src/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + src/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/a.ts:1 diff --git a/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js b/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js index c6cd75c791a..e6c1141a39e 100644 --- a/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js +++ b/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js @@ -191,21 +191,36 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit --declaration -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 3 errors in 3 files. @@ -241,7 +256,7 @@ No shapes updated in the builder:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17],[3,17],[4,17],[5,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17],[3,17],[4,17],[5,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -303,9 +318,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -315,9 +339,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -327,9 +360,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -365,7 +407,7 @@ No shapes updated in the builder:: ] ], "version": "FakeTSVersion", - "size": 1375 + "size": 1774 } @@ -537,21 +579,36 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --declaration -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 3 errors in 3 files. @@ -633,7 +690,7 @@ exports.d = /** @class */ (function () { //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };",{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},"-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };",{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},"-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -699,9 +756,18 @@ exports.d = /** @class */ (function () { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -711,9 +777,18 @@ exports.d = /** @class */ (function () { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -723,15 +798,24 @@ exports.d = /** @class */ (function () { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 1387 + "size": 1786 } @@ -774,7 +858,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9483521475-export const a = class { public p = 10; };","signature":"4346604020-export declare const a: {\n new (): {\n p: number;\n };\n};\n"},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},"-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9483521475-export const a = class { public p = 10; };","signature":"4346604020-export declare const a: {\n new (): {\n p: number;\n };\n};\n"},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},"-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -841,9 +925,18 @@ Shape signatures in builder refreshed for:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -853,9 +946,18 @@ Shape signatures in builder refreshed for:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -867,7 +969,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 1352 + "size": 1618 } @@ -878,16 +980,26 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit --declaration -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 2 errors in 2 files. @@ -922,7 +1034,7 @@ No shapes updated in the builder:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9483521475-export const a = class { public p = 10; };","signature":"4346604020-export declare const a: {\n new (): {\n p: number;\n };\n};\n"},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},"-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true},"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17],[3,16],[4,16],[5,16]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts","./c.ts","./d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9483521475-export const a = class { public p = 10; };","signature":"4346604020-export declare const a: {\n new (): {\n p: number;\n };\n};\n"},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"},"-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true},"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17],[3,16],[4,16],[5,16]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -992,9 +1104,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -1004,9 +1125,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -1042,7 +1172,7 @@ No shapes updated in the builder:: ] ], "version": "FakeTSVersion", - "size": 1409 + "size": 1675 } diff --git a/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-with-incremental-as-modules.js b/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-with-incremental-as-modules.js index 2c1ecdcfa85..5323ae3a82e 100644 --- a/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-with-incremental-as-modules.js +++ b/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-with-incremental-as-modules.js @@ -33,11 +33,16 @@ declare const console: { log(msg: any): void; }; Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -71,7 +76,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17],[3,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17],[3,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -119,9 +124,18 @@ Shape signatures in builder refreshed for:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -143,7 +157,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 933 + "size": 1066 } @@ -154,11 +168,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -466,11 +485,16 @@ export const a = class { private p = 10; }; Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -500,7 +524,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -522,10 +546,10 @@ Shape signatures in builder refreshed for:: "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "original": { @@ -556,9 +580,18 @@ Shape signatures in builder refreshed for:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -573,7 +606,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 1199 + "size": 1337 } @@ -584,11 +617,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -627,7 +665,7 @@ exports.a = /** @class */ (function () { //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -649,10 +687,10 @@ exports.a = /** @class */ (function () { "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "original": { @@ -683,15 +721,24 @@ exports.a = /** @class */ (function () { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 1163 + "size": 1301 } @@ -702,11 +749,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 diff --git a/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-with-incremental.js b/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-with-incremental.js index 5357908bb25..486fb5a30ff 100644 --- a/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-with-incremental.js +++ b/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-with-incremental.js @@ -30,11 +30,16 @@ declare const console: { log(msg: any): void; }; Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -64,7 +69,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -108,9 +113,18 @@ Shape signatures in builder refreshed for:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -125,7 +139,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 908 + "size": 1040 } @@ -136,11 +150,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -400,11 +419,16 @@ const a = class { private p = 10; }; Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -433,7 +457,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -454,11 +478,11 @@ Shape signatures in builder refreshed for:: "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -478,9 +502,18 @@ Shape signatures in builder refreshed for:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -495,7 +528,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 1092 + "size": 1228 } @@ -506,11 +539,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -544,7 +582,7 @@ var a = /** @class */ (function () { //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -565,11 +603,11 @@ var a = /** @class */ (function () { "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -589,15 +627,24 @@ var a = /** @class */ (function () { { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 1056 + "size": 1192 } @@ -608,11 +655,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 diff --git a/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js b/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js index 890ebc65eb2..ad12886f0d0 100644 --- a/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js +++ b/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js @@ -421,7 +421,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -443,10 +443,10 @@ Shape signatures in builder refreshed for:: "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "version": "-13368947479-export const b = 10;", @@ -470,7 +470,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 921 + "size": 926 } @@ -515,7 +515,7 @@ exports.a = /** @class */ (function () { //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -537,10 +537,10 @@ exports.a = /** @class */ (function () { "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "version": "-13368947479-export const b = 10;", @@ -558,7 +558,7 @@ exports.a = /** @class */ (function () { ] ], "version": "FakeTSVersion", - "size": 890 + "size": 895 } diff --git a/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js b/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js index b8c3df7f8a2..b83d810f7ca 100644 --- a/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js +++ b/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js @@ -368,7 +368,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -389,11 +389,11 @@ Shape signatures in builder refreshed for:: "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -410,7 +410,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 884 + "size": 888 } @@ -450,7 +450,7 @@ var a = /** @class */ (function () { //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"version":"FakeTSVersion"} +{"fileNames":["../../../../lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -471,11 +471,11 @@ var a = /** @class */ (function () { "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -486,7 +486,7 @@ var a = /** @class */ (function () { ] ], "version": "FakeTSVersion", - "size": 853 + "size": 857 } diff --git a/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors.js b/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors.js index aa825699393..4b4baa37da3 100644 --- a/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors.js +++ b/tests/baselines/reference/tsc/noEmit/multiFile/dts-errors.js @@ -29,11 +29,16 @@ declare const console: { log(msg: any): void; }; Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -61,11 +66,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -202,11 +212,16 @@ const a = class { private p = 10; }; Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -234,11 +249,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -274,11 +294,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 diff --git a/tests/baselines/reference/tsc/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js b/tests/baselines/reference/tsc/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js index 690283be6b9..36de1e18f67 100644 --- a/tests/baselines/reference/tsc/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js +++ b/tests/baselines/reference/tsc/noEmit/outFile/dts-errors-with-declaration-enable-changes-with-multiple-files.js @@ -162,21 +162,36 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit --declaration -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 3 errors in 3 files. @@ -214,7 +229,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -258,9 +273,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -270,9 +294,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -282,9 +315,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -294,7 +336,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 1362 + "size": 1761 } @@ -305,21 +347,36 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit --declaration --declarationMap -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 3 errors in 3 files. @@ -358,7 +415,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":49,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"pendingEmit":49,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -403,9 +460,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -415,9 +481,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -427,9 +502,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -439,7 +523,7 @@ No shapes updated in the builder:: 49 ], "version": "FakeTSVersion", - "size": 1384 + "size": 1783 } @@ -486,21 +570,36 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --declaration -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 3 errors in 3 files. @@ -579,7 +678,7 @@ define("d", ["require", "exports"], function (require, exports) { //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]],[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -623,9 +722,18 @@ define("d", ["require", "exports"], function (require, exports) { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -635,9 +743,18 @@ define("d", ["require", "exports"], function (require, exports) { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -647,15 +764,24 @@ define("d", ["require", "exports"], function (require, exports) { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 1345 + "size": 1744 } @@ -755,16 +881,26 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit --declaration -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 2 errors in 2 files. @@ -801,7 +937,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9483521475-export const a = class { public p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9483521475-export const a = class { public p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -845,9 +981,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -857,9 +1002,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -869,7 +1023,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 1215 + "size": 1481 } @@ -880,16 +1034,26 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit --declaration --declarationMap -home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/c.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const c = class { private p = 10; };    ~ -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. + home/src/projects/project/c.ts:1:14 + 1 export const c = class { private p = 10; }; +    ~ + Add a type annotation to the variable c. + +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 2 errors in 2 files. @@ -927,7 +1091,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9483521475-export const a = class { public p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":49,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9483521475-export const a = class { public p = 10; };","-13368947479-export const b = 10;","-17233149573-export const c = class { private p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[4,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable c.","category":1,"code":9027}]}]],[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"pendingEmit":49,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -972,9 +1136,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable c.", + "category": 1, + "code": 9027 + } + ] } ] ], @@ -984,9 +1157,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -996,7 +1178,7 @@ No shapes updated in the builder:: 49 ], "version": "FakeTSVersion", - "size": 1237 + "size": 1503 } @@ -1010,11 +1192,16 @@ export const c = class { public p = 10; }; Output:: /lib/tsc -p /home/src/projects/project --noEmit --declaration --declarationMap -home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/d.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const d = class { private p = 10; };    ~ + home/src/projects/project/d.ts:1:14 + 1 export const d = class { private p = 10; }; +    ~ + Add a type annotation to the variable d. + Found 1 error in home/src/projects/project/d.ts:1 @@ -1054,7 +1241,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9483521475-export const a = class { public p = 10; };","-13368947479-export const b = 10;","-15184115393-export const c = class { public p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":49,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts","./project/c.ts","./project/d.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9483521475-export const a = class { public p = 10; };","-13368947479-export const b = 10;","-15184115393-export const c = class { public p = 10; };","2523684124-export const d = class { private p = 10; };"],"root":[[2,5]],"options":{"declaration":true,"declarationMap":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[5,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable d.","category":1,"code":9027}]}]]],"pendingEmit":49,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -1099,9 +1286,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable d.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -1111,6 +1307,6 @@ No shapes updated in the builder:: 49 ], "version": "FakeTSVersion", - "size": 1090 + "size": 1223 } diff --git a/tests/baselines/reference/tsc/noEmit/outFile/dts-errors-with-incremental-as-modules.js b/tests/baselines/reference/tsc/noEmit/outFile/dts-errors-with-incremental-as-modules.js index e775985e62a..3a72268a24e 100644 --- a/tests/baselines/reference/tsc/noEmit/outFile/dts-errors-with-incremental-as-modules.js +++ b/tests/baselines/reference/tsc/noEmit/outFile/dts-errors-with-incremental-as-modules.js @@ -35,11 +35,16 @@ declare const console: { log(msg: any): void; }; Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -72,7 +77,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -108,9 +113,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -120,7 +134,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 918 + "size": 1051 } @@ -131,11 +145,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -408,11 +427,16 @@ export const a = class { private p = 10; }; Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -445,7 +469,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -481,9 +505,18 @@ No shapes updated in the builder:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -493,7 +526,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 918 + "size": 1051 } @@ -504,11 +537,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -557,7 +595,7 @@ define("b", ["require", "exports"], function (require, exports) { //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -593,15 +631,24 @@ define("b", ["require", "exports"], function (require, exports) { { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 901 + "size": 1034 } @@ -612,11 +659,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 diff --git a/tests/baselines/reference/tsc/noEmit/outFile/dts-errors-with-incremental.js b/tests/baselines/reference/tsc/noEmit/outFile/dts-errors-with-incremental.js index 3c6f932c43f..a7e0cea9ffb 100644 --- a/tests/baselines/reference/tsc/noEmit/outFile/dts-errors-with-incremental.js +++ b/tests/baselines/reference/tsc/noEmit/outFile/dts-errors-with-incremental.js @@ -31,11 +31,16 @@ declare const console: { log(msg: any): void; }; Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -64,7 +69,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -93,9 +98,18 @@ No shapes updated in the builder:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -105,7 +119,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 843 + "size": 975 } @@ -116,11 +130,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -347,11 +366,16 @@ const a = class { private p = 10; }; Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -380,7 +404,7 @@ No shapes updated in the builder:: //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -409,9 +433,18 @@ No shapes updated in the builder:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -421,7 +454,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 843 + "size": 975 } @@ -432,11 +465,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -471,7 +509,7 @@ var a = /** @class */ (function () { //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -500,15 +538,24 @@ var a = /** @class */ (function () { { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 826 + "size": 958 } @@ -519,11 +566,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 diff --git a/tests/baselines/reference/tsc/noEmit/outFile/dts-errors.js b/tests/baselines/reference/tsc/noEmit/outFile/dts-errors.js index d1bbaee52a1..d29fe38ccc3 100644 --- a/tests/baselines/reference/tsc/noEmit/outFile/dts-errors.js +++ b/tests/baselines/reference/tsc/noEmit/outFile/dts-errors.js @@ -30,11 +30,16 @@ declare const console: { log(msg: any): void; }; Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -63,11 +68,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -209,11 +219,16 @@ const a = class { private p = 10; }; Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -242,11 +257,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 @@ -283,11 +303,16 @@ Input:: Output:: /lib/tsc -p /home/src/projects/project --noEmit -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in home/src/projects/project/a.ts:1 diff --git a/tests/baselines/reference/tsc/noEmitOnError/multiFile/dts-errors-with-declaration-with-incremental.js b/tests/baselines/reference/tsc/noEmitOnError/multiFile/dts-errors-with-declaration-with-incremental.js index 847f269056a..5f11f04a2f1 100644 --- a/tests/baselines/reference/tsc/noEmitOnError/multiFile/dts-errors-with-declaration-with-incremental.js +++ b/tests/baselines/reference/tsc/noEmitOnError/multiFile/dts-errors-with-declaration-with-incremental.js @@ -45,11 +45,16 @@ export { } Output:: /a/lib/tsc -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/main.ts:2 @@ -87,7 +92,7 @@ Shape signatures in builder refreshed for:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-5014788164-export interface A {\n name: string;\n}\n","5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"referencedMap":[[3,1]],"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17],[3,17],[4,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-5014788164-export interface A {\n name: string;\n}\n","5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"referencedMap":[[3,1]],"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":53,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17],[3,17],[4,17]],"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -155,9 +160,18 @@ Shape signatures in builder refreshed for:: { "start": 53, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 53, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -186,7 +200,7 @@ Shape signatures in builder refreshed for:: ] ], "version": "FakeTSVersion", - "size": 1182 + "size": 1315 } @@ -197,11 +211,16 @@ Input:: Output:: /a/lib/tsc -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/main.ts:2 diff --git a/tests/baselines/reference/tsc/noEmitOnError/multiFile/dts-errors-with-declaration.js b/tests/baselines/reference/tsc/noEmitOnError/multiFile/dts-errors-with-declaration.js index 29f4547d50b..cf725df15af 100644 --- a/tests/baselines/reference/tsc/noEmitOnError/multiFile/dts-errors-with-declaration.js +++ b/tests/baselines/reference/tsc/noEmitOnError/multiFile/dts-errors-with-declaration.js @@ -44,11 +44,16 @@ export { } Output:: /a/lib/tsc -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/main.ts:2 @@ -80,11 +85,16 @@ Input:: Output:: /a/lib/tsc -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/main.ts:2 diff --git a/tests/baselines/reference/tsc/noEmitOnError/outFile/dts-errors-with-declaration-with-incremental.js b/tests/baselines/reference/tsc/noEmitOnError/outFile/dts-errors-with-declaration-with-incremental.js index d3cadfee88a..366a5037277 100644 --- a/tests/baselines/reference/tsc/noEmitOnError/outFile/dts-errors-with-declaration-with-incremental.js +++ b/tests/baselines/reference/tsc/noEmitOnError/outFile/dts-errors-with-declaration-with-incremental.js @@ -46,11 +46,16 @@ export { } Output:: /a/lib/tsc -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/main.ts:2 @@ -85,7 +90,7 @@ No shapes updated in the builder:: //// [/user/username/projects/dev-build.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-5014788164-export interface A {\n name: string;\n}\n","5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"},"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-5014788164-export interface A {\n name: string;\n}\n","5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"},"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":53,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] { @@ -127,9 +132,18 @@ No shapes updated in the builder:: { "start": 53, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 53, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -139,7 +153,7 @@ No shapes updated in the builder:: 17 ], "version": "FakeTSVersion", - "size": 1124 + "size": 1257 } @@ -150,11 +164,16 @@ Input:: Output:: /a/lib/tsc -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/main.ts:2 diff --git a/tests/baselines/reference/tsc/noEmitOnError/outFile/dts-errors-with-declaration.js b/tests/baselines/reference/tsc/noEmitOnError/outFile/dts-errors-with-declaration.js index 3b3cabb3db7..12ec8fc04ad 100644 --- a/tests/baselines/reference/tsc/noEmitOnError/outFile/dts-errors-with-declaration.js +++ b/tests/baselines/reference/tsc/noEmitOnError/outFile/dts-errors-with-declaration.js @@ -45,11 +45,16 @@ export { } Output:: /a/lib/tsc -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/main.ts:2 @@ -82,11 +87,16 @@ Input:: Output:: /a/lib/tsc -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + Found 1 error in src/main.ts:2 diff --git a/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-with-incremental-as-modules.js b/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-with-incremental-as-modules.js index 85fbaf20fad..7180238c763 100644 --- a/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-with-incremental-as-modules.js +++ b/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-with-incremental-as-modules.js @@ -36,17 +36,22 @@ Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17],[3,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17],[3,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -94,9 +99,18 @@ Output:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -118,7 +132,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 935 + "size": 1068 } @@ -492,17 +506,22 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -524,10 +543,10 @@ Output:: "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "original": { @@ -558,9 +577,18 @@ Output:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -575,7 +603,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 1201 + "size": 1339 } @@ -630,17 +658,22 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"-13368947479-export const b = 10;","signature":"-3829150557-export declare const b = 10;\n"}],"root":[2,3],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -662,10 +695,10 @@ Output:: "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "original": { @@ -696,15 +729,24 @@ Output:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 1165 + "size": 1303 } //// [/home/src/projects/project/a.js] @@ -769,11 +811,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-with-incremental.js b/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-with-incremental.js index 2900fea6b29..05e0dabc57d 100644 --- a/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-with-incremental.js +++ b/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-with-incremental.js @@ -33,17 +33,22 @@ Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -87,9 +92,18 @@ Output:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -104,7 +118,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 910 + "size": 1042 } @@ -428,17 +442,22 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[2,17]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -459,11 +478,11 @@ Output:: "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -483,9 +502,18 @@ Output:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -500,7 +528,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 1094 + "size": 1230 } @@ -554,17 +582,22 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"options":{"declaration":true},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -585,11 +618,11 @@ Output:: "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -609,15 +642,24 @@ Output:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 1058 + "size": 1194 } //// [/home/src/projects/project/a.js] @@ -677,11 +719,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js b/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js index fc207d0e611..b966fc6d78b 100644 --- a/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js +++ b/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental-as-modules.js @@ -438,7 +438,7 @@ Output:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -460,10 +460,10 @@ Output:: "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "version": "-13368947479-export const b = 10;", @@ -487,7 +487,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 923 + "size": 928 } @@ -545,7 +545,7 @@ Output:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts","./b.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-9502176711-export const a = class { private p = 10; };","signature":"-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},"-13368947479-export const b = 10;"],"root":[2,3],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -567,10 +567,10 @@ Output:: "./a.ts": { "original": { "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "-9502176711-export const a = class { private p = 10; };", - "signature": "-7147472585-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-11414918990-export declare const a: {\n new (): {\n p: number;\n };\n};\n(13,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "./b.ts": { "version": "-13368947479-export const b = 10;", @@ -588,7 +588,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 892 + "size": 897 } //// [/home/src/projects/project/a.js] diff --git a/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js b/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js index a98b6580da0..0c5d3566c45 100644 --- a/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js +++ b/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors-without-dts-enabled-with-incremental.js @@ -388,7 +388,7 @@ Output:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"affectedFilesPendingEmit":[2],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -409,11 +409,11 @@ Output:: "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -430,7 +430,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 886 + "size": 890 } @@ -487,7 +487,7 @@ Output:: //// [/home/src/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.","affectsGlobalScope":true}],"root":[2],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./a.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"7752727223-const a = class { private p = 10; };","signature":"10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.","affectsGlobalScope":true}],"root":[2],"version":"FakeTSVersion"} //// [/home/src/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -508,11 +508,11 @@ Output:: "./a.ts": { "original": { "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true }, "version": "7752727223-const a = class { private p = 10; };", - "signature": "-6162671385-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported class expression may not be private or protected.", + "signature": "10386759778-declare const a: {\n new (): {\n p: number;\n };\n};\n(6,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected.", "affectsGlobalScope": true } }, @@ -523,7 +523,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 855 + "size": 859 } //// [/home/src/projects/project/a.js] diff --git a/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors.js b/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors.js index b684b5e5ac5..4918a392fed 100644 --- a/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors.js +++ b/tests/baselines/reference/tscWatch/noEmit/multiFile/dts-errors.js @@ -32,11 +32,16 @@ Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -261,11 +266,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -319,11 +329,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -383,11 +398,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tscWatch/noEmit/outFile/dts-errors-with-incremental-as-modules.js b/tests/baselines/reference/tscWatch/noEmit/outFile/dts-errors-with-incremental-as-modules.js index 69d678475c0..aa4a8d89c1b 100644 --- a/tests/baselines/reference/tscWatch/noEmit/outFile/dts-errors-with-incremental-as-modules.js +++ b/tests/baselines/reference/tscWatch/noEmit/outFile/dts-errors-with-incremental-as-modules.js @@ -38,17 +38,22 @@ Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -84,9 +89,18 @@ Output:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -96,7 +110,7 @@ Output:: 17 ], "version": "FakeTSVersion", - "size": 920 + "size": 1053 } @@ -434,17 +448,22 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -480,9 +499,18 @@ Output:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -492,7 +520,7 @@ Output:: 17 ], "version": "FakeTSVersion", - "size": 920 + "size": 1053 } @@ -552,17 +580,22 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts","./project/b.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-9502176711-export const a = class { private p = 10; };","-13368947479-export const b = 10;"],"root":[2,3],"options":{"declaration":true,"module":2,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":13,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":13,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -598,15 +631,24 @@ Output:: { "start": 13, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 13, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 903 + "size": 1036 } //// [/home/src/projects/outFile.js] @@ -683,11 +725,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 export const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:14 + 1 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tscWatch/noEmit/outFile/dts-errors-with-incremental.js b/tests/baselines/reference/tscWatch/noEmit/outFile/dts-errors-with-incremental.js index 77e8634b377..d4595093ddb 100644 --- a/tests/baselines/reference/tscWatch/noEmit/outFile/dts-errors-with-incremental.js +++ b/tests/baselines/reference/tscWatch/noEmit/outFile/dts-errors-with-incremental.js @@ -34,17 +34,22 @@ Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -73,9 +78,18 @@ Output:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -85,7 +99,7 @@ Output:: 17 ], "version": "FakeTSVersion", - "size": 845 + "size": 977 } @@ -375,17 +389,22 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -414,9 +433,18 @@ Output:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -426,7 +454,7 @@ Output:: 17 ], "version": "FakeTSVersion", - "size": 845 + "size": 977 } @@ -481,17 +509,22 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/home/src/projects/outFile.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./project/a.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","7752727223-const a = class { private p = 10; };"],"root":[2],"options":{"declaration":true,"outFile":"./outFile.js"},"emitDiagnosticsPerFile":[[2,[{"start":6,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":6,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"version":"FakeTSVersion"} //// [/home/src/projects/outFile.tsbuildinfo.readable.baseline.txt] { @@ -520,15 +553,24 @@ Output:: { "start": 6, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 6, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] ], "version": "FakeTSVersion", - "size": 828 + "size": 960 } //// [/home/src/projects/outFile.js] @@ -590,11 +632,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tscWatch/noEmit/outFile/dts-errors.js b/tests/baselines/reference/tscWatch/noEmit/outFile/dts-errors.js index ec750180d6a..6b991d613e3 100644 --- a/tests/baselines/reference/tscWatch/noEmit/outFile/dts-errors.js +++ b/tests/baselines/reference/tscWatch/noEmit/outFile/dts-errors.js @@ -33,11 +33,16 @@ Output:: >> Screen clear [HH:MM:SS AM] Starting compilation in watch mode... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -265,11 +270,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -324,11 +334,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. @@ -390,11 +405,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported class expression may not be private or protected. +home/src/projects/project/a.ts:1:7 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 1 const a = class { private p = 10; };    ~ + home/src/projects/project/a.ts:1:7 + 1 const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tscWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration-with-incremental.js b/tests/baselines/reference/tscWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration-with-incremental.js index e547ba209f9..a74d960cbfd 100644 --- a/tests/baselines/reference/tscWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration-with-incremental.js +++ b/tests/baselines/reference/tscWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration-with-incremental.js @@ -736,17 +736,22 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-5014788164-export interface A {\n name: string;\n}\n",{"version":"5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","signature":"-8511871557-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported class expression may not be private or protected."},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n"}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"referencedMap":[[3,1]],"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"affectedFilesPendingEmit":[[3,17]],"version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-5014788164-export interface A {\n name: string;\n}\n",{"version":"5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","signature":"-3419031754-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},{"version":"9084524823-console.log(\"hi\");\nexport { }\n","signature":"-3531856636-export {};\n"}],"root":[[2,4]],"options":{"declaration":true,"noEmitOnError":true,"outDir":"./"},"referencedMap":[[3,1]],"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":53,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"affectedFilesPendingEmit":[[3,17]],"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -778,10 +783,10 @@ Output:: "../src/main.ts": { "original": { "version": "5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n", - "signature": "-8511871557-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-3419031754-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n", - "signature": "-8511871557-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-3419031754-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "../src/other.ts": { "original": { @@ -822,9 +827,18 @@ Output:: { "start": 53, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 53, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -839,7 +853,7 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 1423 + "size": 1560 } diff --git a/tests/baselines/reference/tscWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration.js b/tests/baselines/reference/tscWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration.js index c4496aaca4f..13453fcce49 100644 --- a/tests/baselines/reference/tscWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration.js +++ b/tests/baselines/reference/tscWatch/noEmitOnError/multiFile/noEmitOnError-with-declaration.js @@ -408,11 +408,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tscWatch/noEmitOnError/multiFile/noEmitOnError-with-incremental.js b/tests/baselines/reference/tscWatch/noEmitOnError/multiFile/noEmitOnError-with-incremental.js index eede79b4505..744c18cfec6 100644 --- a/tests/baselines/reference/tscWatch/noEmitOnError/multiFile/noEmitOnError-with-incremental.js +++ b/tests/baselines/reference/tscWatch/noEmitOnError/multiFile/noEmitOnError-with-incremental.js @@ -705,7 +705,7 @@ Output:: //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-5014788164-export interface A {\n name: string;\n}\n",{"version":"5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","signature":"-8511871557-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported class expression may not be private or protected."},"9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"referencedMap":[[3,1]],"version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","../shared/types/db.ts","../src/main.ts","../src/other.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-5014788164-export interface A {\n name: string;\n}\n",{"version":"5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","signature":"-3419031754-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected."},"9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"noEmitOnError":true,"outDir":"./"},"referencedMap":[[3,1]],"version":"FakeTSVersion"} //// [/user/username/projects/noEmitOnError/dev-build/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -737,10 +737,10 @@ Output:: "../src/main.ts": { "original": { "version": "5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n", - "signature": "-8511871557-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-3419031754-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "version": "5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n", - "signature": "-8511871557-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported class expression may not be private or protected." + "signature": "-3419031754-export declare const a: {\n new (): {\n p: number;\n };\n};\n(53,1)Error4094: Property 'p' of exported anonymous class type may not be private or protected." }, "../src/other.ts": { "version": "9084524823-console.log(\"hi\");\nexport { }\n", @@ -770,7 +770,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 1144 + "size": 1148 } //// [/user/username/projects/noEmitOnError/dev-build/src/main.js] diff --git a/tests/baselines/reference/tscWatch/noEmitOnError/outFile/noEmitOnError-with-declaration-with-incremental.js b/tests/baselines/reference/tscWatch/noEmitOnError/outFile/noEmitOnError-with-declaration-with-incremental.js index b8d246c4cbb..a4d9114dda6 100644 --- a/tests/baselines/reference/tscWatch/noEmitOnError/outFile/noEmitOnError-with-declaration-with-incremental.js +++ b/tests/baselines/reference/tscWatch/noEmitOnError/outFile/noEmitOnError-with-declaration-with-incremental.js @@ -612,17 +612,22 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. //// [/user/username/projects/dev-build.tsbuildinfo] -{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-5014788164-export interface A {\n name: string;\n}\n","5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"},"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported class expression may not be private or protected.","category":1,"code":4094}]]],"pendingEmit":17,"version":"FakeTSVersion"} +{"fileNames":["../../../a/lib/lib.d.ts","./noemitonerror/shared/types/db.ts","./noemitonerror/src/main.ts","./noemitonerror/src/other.ts"],"fileInfos":["3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","-5014788164-export interface A {\n name: string;\n}\n","5099365167-import { A } from \"../shared/types/db\";\nexport const a = class { private p = 10; };\n","9084524823-console.log(\"hi\");\nexport { }\n"],"root":[[2,4]],"options":{"declaration":true,"module":2,"noEmitOnError":true,"outFile":"./dev-build.js"},"emitDiagnosticsPerFile":[[3,[{"start":53,"length":1,"messageText":"Property 'p' of exported anonymous class type may not be private or protected.","category":1,"code":4094,"relatedInformation":[{"start":53,"length":1,"messageText":"Add a type annotation to the variable a.","category":1,"code":9027}]}]]],"pendingEmit":17,"version":"FakeTSVersion"} //// [/user/username/projects/dev-build.tsbuildinfo.readable.baseline.txt] { @@ -664,9 +669,18 @@ Output:: { "start": 53, "length": 1, - "messageText": "Property 'p' of exported class expression may not be private or protected.", + "messageText": "Property 'p' of exported anonymous class type may not be private or protected.", "category": 1, - "code": 4094 + "code": 4094, + "relatedInformation": [ + { + "start": 53, + "length": 1, + "messageText": "Add a type annotation to the variable a.", + "category": 1, + "code": 9027 + } + ] } ] ] @@ -676,7 +690,7 @@ Output:: 17 ], "version": "FakeTSVersion", - "size": 1124 + "size": 1257 } diff --git a/tests/baselines/reference/tscWatch/noEmitOnError/outFile/noEmitOnError-with-declaration.js b/tests/baselines/reference/tscWatch/noEmitOnError/outFile/noEmitOnError-with-declaration.js index 58f7b4019b9..aa9ebd23482 100644 --- a/tests/baselines/reference/tscWatch/noEmitOnError/outFile/noEmitOnError-with-declaration.js +++ b/tests/baselines/reference/tscWatch/noEmitOnError/outFile/noEmitOnError-with-declaration.js @@ -424,11 +424,16 @@ Output:: >> Screen clear [HH:MM:SS AM] File change detected. Starting incremental compilation... -src/main.ts:2:14 - error TS4094: Property 'p' of exported class expression may not be private or protected. +src/main.ts:2:14 - error TS4094: Property 'p' of exported anonymous class type may not be private or protected. 2 export const a = class { private p = 10; };    ~ + src/main.ts:2:14 + 2 export const a = class { private p = 10; }; +    ~ + Add a type annotation to the variable a. + [HH:MM:SS AM] Found 1 error. Watching for file changes. From 9c093c13e60c8f23532dc93da11a0868faef593f Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Fri, 12 Jul 2024 14:43:00 -0700 Subject: [PATCH 08/89] Do not reuse ambient module name resolution from other files while determining if resolution can be reused (#59243) --- src/compiler/checker.ts | 5 - src/compiler/diagnosticMessages.json | 4 - src/compiler/program.ts | 83 +--- src/compiler/resolutionCache.ts | 22 +- src/compiler/types.ts | 1 - src/testRunner/unittests/helpers/tscWatch.ts | 6 +- .../unittests/reuseProgramStructure.ts | 4 +- .../unittests/tscWatch/moduleResolution.ts | 74 ++- .../unittests/tscWatch/resolutionCache.ts | 4 - .../unittests/tsserver/resolutionCache.ts | 2 + ...e-declarations-from-non-modified-files.js} | 29 +- ...ent-module-names-are-resolved-correctly.js | 447 ++++++++++++++++++ ...le-resolution-changes-to-ambient-module.js | 12 +- ...ed-from-two-different-drives-of-windows.js | 2 +- ...-same-ambient-module-and-is-also-module.js | 2 + .../resolutionCache/when-resolution-fails.js | 18 + .../when-resolves-to-ambient-module.js | 30 ++ 17 files changed, 640 insertions(+), 105 deletions(-) rename tests/baselines/reference/reuseProgramStructure/{can-reuse-ambient-module-declarations-from-non-modified-files.js => should-not-reuse-ambient-module-declarations-from-non-modified-files.js} (80%) create mode 100644 tests/baselines/reference/tscWatch/moduleResolution/ambient-module-names-are-resolved-correctly.js diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7cde9314450..2437b3db31b 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1794,11 +1794,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { tryGetMemberInModuleExports: (name, symbol) => tryGetMemberInModuleExports(escapeLeadingUnderscores(name), symbol), tryGetMemberInModuleExportsAndProperties: (name, symbol) => tryGetMemberInModuleExportsAndProperties(escapeLeadingUnderscores(name), symbol), tryFindAmbientModule: moduleName => tryFindAmbientModule(moduleName, /*withAugmentations*/ true), - tryFindAmbientModuleWithoutAugmentations: moduleName => { - // we deliberately exclude augmentations - // since we are only interested in declarations of the module itself - return tryFindAmbientModule(moduleName, /*withAugmentations*/ false); - }, getApparentType, getUnionType, isTypeAssignableTo, diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 93addf68f2d..ee3ade078a3 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -5113,10 +5113,6 @@ "category": "Message", "code": 6144 }, - "Module '{0}' was resolved as ambient module declared in '{1}' since this file was not modified.": { - "category": "Message", - "code": 6145 - }, "Specify the JSX factory function to use when targeting 'react' JSX emit, e.g. 'React.createElement' or 'h'.": { "category": "Message", "code": 6146 diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 763d91c2fe7..25530950ac1 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -1545,7 +1545,6 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg let commonSourceDirectory: string; let typeChecker: TypeChecker; let classifiableNames: Set<__String>; - const ambientModuleNameToUnmodifiedFileName = new Map(); let fileReasons = createMultiMap(); let filesWithReferencesProcessed: Set | undefined; let fileReasonsToChain: Map | undefined; @@ -2250,52 +2249,10 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg canReuseResolutionsInFile: () => containingFile === oldProgram?.getSourceFile(containingFile.fileName) && !hasInvalidatedResolutions(containingFile.path), - isEntryResolvingToAmbientModule: moduleNameResolvesToAmbientModule, + resolveToOwnAmbientModule: true, }); } - function moduleNameResolvesToAmbientModule(moduleName: StringLiteralLike, file: SourceFile) { - // We know moduleName resolves to an ambient module provided that moduleName: - // - is in the list of ambient modules locally declared in the current source file. - // - resolved to an ambient module in the old program whose declaration is in an unmodified file - // (so the same module declaration will land in the new program) - if (contains(file.ambientModuleNames, moduleName.text)) { - if (isTraceEnabled(options, host)) { - trace(host, Diagnostics.Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1, moduleName.text, getNormalizedAbsolutePath(file.originalFileName, currentDirectory)); - } - return true; - } - else { - return moduleNameResolvesToAmbientModuleInNonModifiedFile(moduleName, file); - } - } - - // If we change our policy of rechecking failed lookups on each program create, - // we should adjust the value returned here. - function moduleNameResolvesToAmbientModuleInNonModifiedFile(moduleName: StringLiteralLike, file: SourceFile): boolean { - const resolutionToFile = oldProgram?.getResolvedModule(file, moduleName.text, getModeForUsageLocation(file, moduleName))?.resolvedModule; - const resolvedFile = resolutionToFile && oldProgram!.getSourceFile(resolutionToFile.resolvedFileName); - if (resolutionToFile && resolvedFile) { - // In the old program, we resolved to an ambient module that was in the same - // place as we expected to find an actual module file. - // We actually need to return 'false' here even though this seems like a 'true' case - // because the normal module resolution algorithm will find this anyway. - return false; - } - - // at least one of declarations should come from non-modified source file - const unmodifiedFile = ambientModuleNameToUnmodifiedFileName.get(moduleName.text); - - if (!unmodifiedFile) { - return false; - } - - if (isTraceEnabled(options, host)) { - trace(host, Diagnostics.Module_0_was_resolved_as_ambient_module_declared_in_1_since_this_file_was_not_modified, moduleName.text, unmodifiedFile); - } - return true; - } - function resolveTypeReferenceDirectiveNamesReusingOldState(typeDirectiveNames: readonly FileReference[], containingFile: SourceFile): readonly ResolvedTypeReferenceDirectiveWithFailedLookupLocations[]; function resolveTypeReferenceDirectiveNamesReusingOldState(typeDirectiveNames: readonly string[], containingFile: string): readonly ResolvedTypeReferenceDirectiveWithFailedLookupLocations[]; function resolveTypeReferenceDirectiveNamesReusingOldState(typeDirectiveNames: readonly T[], containingFile: string | SourceFile): readonly ResolvedTypeReferenceDirectiveWithFailedLookupLocations[] { @@ -2333,7 +2290,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg getResolutionFromOldProgram: (name: string, mode: ResolutionMode) => Resolution | undefined; getResolved: (oldResolution: Resolution) => ResolutionWithResolvedFileName | undefined; canReuseResolutionsInFile: () => boolean; - isEntryResolvingToAmbientModule?: (entry: Entry, containingFile: SourceFileOrString) => boolean; + resolveToOwnAmbientModule?: true; } function resolveNamesReusingOldState({ @@ -2346,10 +2303,10 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg getResolutionFromOldProgram, getResolved, canReuseResolutionsInFile, - isEntryResolvingToAmbientModule, + resolveToOwnAmbientModule, }: ResolveNamesReusingOldStateInput): readonly Resolution[] { if (!entries.length) return emptyArray; - if (structureIsReused === StructureIsReused.Not && (!isEntryResolvingToAmbientModule || !containingSourceFile!.ambientModuleNames.length)) { + if (structureIsReused === StructureIsReused.Not && (!resolveToOwnAmbientModule || !containingSourceFile!.ambientModuleNames.length)) { // If the old program state does not permit reusing resolutions and `file` does not contain locally defined ambient modules, // the best we can do is fallback to the default logic. return resolutionWorker( @@ -2394,14 +2351,27 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg continue; } } - if (isEntryResolvingToAmbientModule?.(entry, containingFile)) { - (result ??= new Array(entries.length))[i] = emptyResolution; - } - else { - // Resolution failed in the old program, or resolved to an ambient module for which we can't reuse the result. - (unknownEntries ??= []).push(entry); - (unknownEntryIndices ??= []).push(i); + if (resolveToOwnAmbientModule) { + const name = nameAndModeGetter.getName(entry); + // We know moduleName resolves to an ambient module provided that moduleName: + // - is in the list of ambient modules locally declared in the current source file. + if (contains(containingSourceFile!.ambientModuleNames, name)) { + if (isTraceEnabled(options, host)) { + trace( + host, + Diagnostics.Module_0_was_resolved_as_locally_declared_ambient_module_in_file_1, + name, + getNormalizedAbsolutePath(containingSourceFile!.originalFileName, currentDirectory), + ); + } + (result ??= new Array(entries.length))[i] = emptyResolution; + continue; + } } + + // Resolution failed in the old program, or resolved to an ambient module for which we can't reuse the result. + (unknownEntries ??= []).push(entry); + (unknownEntryIndices ??= []).push(i); } if (!unknownEntries) return result!; @@ -2586,11 +2556,6 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg // add file to the modified list so that we will resolve it later modifiedSourceFiles.push(newSourceFile); } - else { - for (const moduleName of oldSourceFile.ambientModuleNames) { - ambientModuleNameToUnmodifiedFileName.set(moduleName, oldSourceFile.fileName); - } - } // if file has passed all checks it should be safe to reuse it newSourceFiles.push(newSourceFile); diff --git a/src/compiler/resolutionCache.ts b/src/compiler/resolutionCache.ts index 2522cc3d97f..1406742f7bb 100644 --- a/src/compiler/resolutionCache.ts +++ b/src/compiler/resolutionCache.ts @@ -6,7 +6,6 @@ import { CompilerOptions, createModeAwareCache, createModuleResolutionCache, - createMultiMap, createTypeReferenceDirectiveResolutionCache, createTypeReferenceResolutionLoader, Debug, @@ -572,7 +571,7 @@ export function createResolutionCache(resolutionHost: ResolutionCacheHost, rootD let filesWithChangedSetOfUnresolvedImports: Path[] | undefined; let filesWithInvalidatedResolutions: Set | undefined; let filesWithInvalidatedNonRelativeUnresolvedImports: ReadonlyMap | undefined; - const nonRelativeExternalModuleResolutions = createMultiMap(); + const nonRelativeExternalModuleResolutions = new Set(); const resolutionsWithFailedLookups = new Set(); const resolutionsWithOnlyAffectingLocations = new Set(); @@ -755,8 +754,7 @@ export function createResolutionCache(resolutionHost: ResolutionCacheHost, rootD libraryResolutionCache.clearAllExceptPackageJsonInfoCache(); // perDirectoryResolvedModuleNames and perDirectoryResolvedTypeReferenceDirectives could be non empty if there was exception during program update // (between startCachingPerDirectoryResolution and finishCachingPerDirectoryResolution) - nonRelativeExternalModuleResolutions.forEach(watchFailedLookupLocationOfNonRelativeModuleResolutions); - nonRelativeExternalModuleResolutions.clear(); + watchFailedLookupLocationOfNonRelativeModuleResolutions(); isSymlinkCache.clear(); } @@ -776,8 +774,7 @@ export function createResolutionCache(resolutionHost: ResolutionCacheHost, rootD function finishCachingPerDirectoryResolution(newProgram: Program | undefined, oldProgram: Program | undefined) { filesWithInvalidatedNonRelativeUnresolvedImports = undefined; allModuleAndTypeResolutionsAreInvalidated = false; - nonRelativeExternalModuleResolutions.forEach(watchFailedLookupLocationOfNonRelativeModuleResolutions); - nonRelativeExternalModuleResolutions.clear(); + watchFailedLookupLocationOfNonRelativeModuleResolutions(); // Update file watches if (newProgram !== oldProgram) { cleanupLibResolutionWatching(newProgram); @@ -1103,7 +1100,7 @@ export function createResolutionCache(resolutionHost: ResolutionCacheHost, rootD watchFailedLookupLocationOfResolution(resolution); } else { - nonRelativeExternalModuleResolutions.add(name, resolution); + nonRelativeExternalModuleResolutions.add(resolution); } const resolved = getResolutionWithResolvedFileName(resolution); if (resolved && resolved.resolvedFileName) { @@ -1236,14 +1233,9 @@ export function createResolutionCache(resolutionHost: ResolutionCacheHost, rootD packageJsonMap?.delete(resolutionHost.toPath(path)); } - function watchFailedLookupLocationOfNonRelativeModuleResolutions(resolutions: ResolutionWithFailedLookupLocations[], name: string) { - const program = resolutionHost.getCurrentProgram(); - if (!program || !program.getTypeChecker().tryFindAmbientModuleWithoutAugmentations(name)) { - resolutions.forEach(watchFailedLookupLocationOfResolution); - } - else { - resolutions.forEach(resolution => watchAffectingLocationsOfResolution(resolution, /*addToResolutionsWithOnlyAffectingLocations*/ true)); - } + function watchFailedLookupLocationOfNonRelativeModuleResolutions() { + nonRelativeExternalModuleResolutions.forEach(watchFailedLookupLocationOfResolution); + nonRelativeExternalModuleResolutions.clear(); } function createDirectoryWatcherForPackageDir( diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 096f9e915fd..6d8a864c30f 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -5202,7 +5202,6 @@ export interface TypeChecker { /** @internal */ createIndexInfo(keyType: Type, type: Type, isReadonly: boolean, declaration?: SignatureDeclaration): IndexInfo; /** @internal */ isSymbolAccessible(symbol: Symbol, enclosingDeclaration: Node | undefined, meaning: SymbolFlags, shouldComputeAliasToMarkVisible: boolean): SymbolAccessibilityResult; /** @internal */ tryFindAmbientModule(moduleName: string): Symbol | undefined; - /** @internal */ tryFindAmbientModuleWithoutAugmentations(moduleName: string): Symbol | undefined; /** @internal */ getSymbolWalker(accept?: (symbol: Symbol) => boolean): SymbolWalker; diff --git a/src/testRunner/unittests/helpers/tscWatch.ts b/src/testRunner/unittests/helpers/tscWatch.ts index 0c3cda4d27f..a8fe3fe3d4d 100644 --- a/src/testRunner/unittests/helpers/tscWatch.ts +++ b/src/testRunner/unittests/helpers/tscWatch.ts @@ -40,8 +40,6 @@ export interface TscWatchCompileChange, ) => void; - // TODO:: sheetal: Needing these fields are technically issues that need to be fixed later - skipStructureCheck?: true; } export interface TscWatchCheckOptions { baselineSourceMap?: boolean; @@ -214,7 +212,7 @@ export function runWatchBaseline | undefined)?.getResolutionCache?.() : undefined, + resolutionCache: (watchOrSolution as ts.WatchOfConfigFile | undefined)?.getResolutionCache?.(), useSourceOfProjectReferenceRedirect, }); } diff --git a/src/testRunner/unittests/reuseProgramStructure.ts b/src/testRunner/unittests/reuseProgramStructure.ts index 7e940f16abe..f69cfaee884 100644 --- a/src/testRunner/unittests/reuseProgramStructure.ts +++ b/src/testRunner/unittests/reuseProgramStructure.ts @@ -367,7 +367,7 @@ describe("unittests:: reuseProgramStructure:: General", () => { runBaseline("fetches imports after npm install", baselines); }); - it("can reuse ambient module declarations from non-modified files", () => { + it("should not reuse ambient module declarations from non-modified files", () => { const files = [ { name: "/a/b/app.ts", text: SourceText.New("", "import * as fs from 'fs'", "") }, { name: "/a/b/node.d.ts", text: SourceText.New("", "", "declare module 'fs' {}") }, @@ -387,7 +387,7 @@ describe("unittests:: reuseProgramStructure:: General", () => { f[1].text = f[1].text.updateProgram("declare var process: any"); }); baselineProgram(baselines, program3); - runBaseline("can reuse ambient module declarations from non-modified files", baselines); + runBaseline("should not reuse ambient module declarations from non-modified files", baselines); }); it("can reuse module resolutions from non-modified files", () => { diff --git a/src/testRunner/unittests/tscWatch/moduleResolution.ts b/src/testRunner/unittests/tscWatch/moduleResolution.ts index 8ffa7c9362f..1fcc87fc3ed 100644 --- a/src/testRunner/unittests/tscWatch/moduleResolution.ts +++ b/src/testRunner/unittests/tscWatch/moduleResolution.ts @@ -13,7 +13,7 @@ import { libFile, } from "../helpers/virtualFileSystemWithWatch.js"; -describe("unittests:: tsc-watch:: moduleResolution", () => { +describe("unittests:: tsc-watch:: moduleResolution::", () => { verifyTscWatch({ scenario: "moduleResolution", subScenario: `watches for changes to package-json main fields`, @@ -640,4 +640,76 @@ describe("unittests:: tsc-watch:: moduleResolution", () => { }, ], }); + + verifyTscWatch({ + scenario: "moduleResolution", + subScenario: "ambient module names are resolved correctly", + commandLineArgs: ["-w", "--extendedDiagnostics", "--explainFiles"], + sys: () => + createWatchedSystem({ + "/home/src/project/tsconfig.json": jsonToReadableText({ + compilerOptions: { + noEmit: true, + traceResolution: true, + }, + include: ["**/*.ts"], + }), + "/home/src/project/witha/node_modules/mymodule/index.d.ts": Utils.dedent` + declare module 'mymodule' { + export function readFile(): void; + } + declare module 'mymoduleutils' { + export function promisify(): void; + } + `, + "/home/src/project/witha/a.ts": Utils.dedent` + import { readFile } from 'mymodule'; + import { promisify, promisify2 } from 'mymoduleutils'; + readFile(); + promisify(); + promisify2(); + `, + "/home/src/project/withb/node_modules/mymodule/index.d.ts": Utils.dedent` + declare module 'mymodule' { + export function readFile(): void; + } + declare module 'mymoduleutils' { + export function promisify2(): void; + } + `, + "/home/src/project/withb/b.ts": Utils.dedent` + import { readFile } from 'mymodule'; + import { promisify, promisify2 } from 'mymoduleutils'; + readFile(); + promisify(); + promisify2(); + `, + [libFile.path]: libFile.content, + }, { currentDirectory: "/home/src/project" }), + edits: [ + { + caption: "remove a file that will remove module augmentation", + edit: sys => { + sys.replaceFileText("/home/src/project/withb/b.ts", `import { readFile } from 'mymodule';`, ""); + sys.deleteFile("/home/src/project/withb/node_modules/mymodule/index.d.ts"); + }, + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + { + caption: "write a file that will add augmentation", + edit: sys => { + sys.ensureFileOrFolder({ + path: "/home/src/project/withb/node_modules/mymoduleutils/index.d.ts", + content: Utils.dedent` + declare module 'mymoduleutils' { + export function promisify2(): void; + } + `, + }); + sys.replaceFileText("/home/src/project/withb/b.ts", `readFile();`, ""); + }, + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + ], + }); }); diff --git a/src/testRunner/unittests/tscWatch/resolutionCache.ts b/src/testRunner/unittests/tscWatch/resolutionCache.ts index 5df04803dc4..1436302a365 100644 --- a/src/testRunner/unittests/tscWatch/resolutionCache.ts +++ b/src/testRunner/unittests/tscWatch/resolutionCache.ts @@ -302,10 +302,6 @@ declare module "fs" { `, ), timeouts: sys => sys.runQueuedTimeoutCallbacks(), - // This is currently issue with ambient modules in same file not leading to resolution watching - // In this case initially resolution is watched and will continued to be watched but - // incremental check will determine that the resolution should not be watched as thats what would have happened if we had started tsc --watch at this state. - skipStructureCheck: true, }, ], }); diff --git a/src/testRunner/unittests/tsserver/resolutionCache.ts b/src/testRunner/unittests/tsserver/resolutionCache.ts index ba95fda4f5b..ab052cbfe91 100644 --- a/src/testRunner/unittests/tsserver/resolutionCache.ts +++ b/src/testRunner/unittests/tsserver/resolutionCache.ts @@ -549,6 +549,8 @@ export const x = 10;`, const host = createServerHost(files); const session = new TestSession(host); openFilesForSession([{ file: srcFile.path, content: srcFile.content, scriptKindName: "TS", projectRootPath: "/user/username/projects/myproject" }], session); + host.writeFile("/user/username/projects/myproject/src/somefolder/module1.js", "export const x = 10;"); + host.runQueuedTimeoutCallbacks(); baselineTsserverLogs("resolutionCache", scenario, session); }); } diff --git a/tests/baselines/reference/reuseProgramStructure/can-reuse-ambient-module-declarations-from-non-modified-files.js b/tests/baselines/reference/reuseProgramStructure/should-not-reuse-ambient-module-declarations-from-non-modified-files.js similarity index 80% rename from tests/baselines/reference/reuseProgramStructure/can-reuse-ambient-module-declarations-from-non-modified-files.js rename to tests/baselines/reference/reuseProgramStructure/should-not-reuse-ambient-module-declarations-from-non-modified-files.js index 20965de17f3..2f35b2999b1 100644 --- a/tests/baselines/reference/reuseProgramStructure/can-reuse-ambient-module-declarations-from-non-modified-files.js +++ b/tests/baselines/reference/reuseProgramStructure/should-not-reuse-ambient-module-declarations-from-non-modified-files.js @@ -114,7 +114,34 @@ File: /a/b/node.d.ts declare module 'fs' {} -Module 'fs' was resolved as ambient module declared in '/a/b/node.d.ts' since this file was not modified. +======== Resolving module 'fs' from '/a/b/app.ts'. ======== +Module resolution kind is not specified, using 'Classic'. +File '/a/b/fs.ts' does not exist. +File '/a/b/fs.tsx' does not exist. +File '/a/b/fs.d.ts' does not exist. +File '/a/fs.ts' does not exist. +File '/a/fs.tsx' does not exist. +File '/a/fs.d.ts' does not exist. +File '/fs.ts' does not exist. +File '/fs.tsx' does not exist. +File '/fs.d.ts' does not exist. +Searching all ancestor node_modules directories for preferred extensions: Declaration. +File '/a/b/node_modules/@types/fs/package.json' does not exist. +File '/a/b/node_modules/@types/fs.d.ts' does not exist. +File '/a/b/node_modules/@types/fs/index.d.ts' does not exist. +File '/a/node_modules/@types/fs/package.json' does not exist. +File '/a/node_modules/@types/fs.d.ts' does not exist. +File '/a/node_modules/@types/fs/index.d.ts' does not exist. +File '/node_modules/@types/fs/package.json' does not exist. +File '/node_modules/@types/fs.d.ts' does not exist. +File '/node_modules/@types/fs/index.d.ts' does not exist. +File '/a/b/fs.js' does not exist. +File '/a/b/fs.jsx' does not exist. +File '/a/fs.js' does not exist. +File '/a/fs.jsx' does not exist. +File '/fs.js' does not exist. +File '/fs.jsx' does not exist. +======== Module name 'fs' was not resolved. ======== MissingPaths:: [ "lib.d.ts" diff --git a/tests/baselines/reference/tscWatch/moduleResolution/ambient-module-names-are-resolved-correctly.js b/tests/baselines/reference/tscWatch/moduleResolution/ambient-module-names-are-resolved-correctly.js new file mode 100644 index 00000000000..b91239eacd2 --- /dev/null +++ b/tests/baselines/reference/tscWatch/moduleResolution/ambient-module-names-are-resolved-correctly.js @@ -0,0 +1,447 @@ +currentDirectory:: /home/src/project useCaseSensitiveFileNames: false +Input:: +//// [/home/src/project/tsconfig.json] +{ + "compilerOptions": { + "noEmit": true, + "traceResolution": true + }, + "include": [ + "**/*.ts" + ] +} + +//// [/home/src/project/witha/node_modules/mymodule/index.d.ts] +declare module 'mymodule' { + export function readFile(): void; +} +declare module 'mymoduleutils' { + export function promisify(): void; +} + + +//// [/home/src/project/witha/a.ts] +import { readFile } from 'mymodule'; +import { promisify, promisify2 } from 'mymoduleutils'; +readFile(); +promisify(); +promisify2(); + + +//// [/home/src/project/withb/node_modules/mymodule/index.d.ts] +declare module 'mymodule' { + export function readFile(): void; +} +declare module 'mymoduleutils' { + export function promisify2(): void; +} + + +//// [/home/src/project/withb/b.ts] +import { readFile } from 'mymodule'; +import { promisify, promisify2 } from 'mymoduleutils'; +readFile(); +promisify(); +promisify2(); + + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +/a/lib/tsc.js -w --extendedDiagnostics --explainFiles +Output:: +[HH:MM:SS AM] Starting compilation in watch mode... + +Current directory: /home/src/project CaseSensitiveFileNames: false +FileWatcher:: Added:: WatchInfo: /home/src/project/tsconfig.json 2000 undefined Config file +Synchronizing program +CreatingProgramWith:: + roots: ["/home/src/project/witha/a.ts","/home/src/project/withb/b.ts"] + options: {"noEmit":true,"traceResolution":true,"watch":true,"extendedDiagnostics":true,"explainFiles":true,"configFilePath":"/home/src/project/tsconfig.json"} +FileWatcher:: Added:: WatchInfo: /home/src/project/witha/a.ts 250 undefined Source file +======== Resolving module 'mymodule' from '/home/src/project/witha/a.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +Loading module 'mymodule' from 'node_modules' folder, target file types: TypeScript, Declaration. +Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. +File '/home/src/project/witha/node_modules/mymodule/package.json' does not exist. +File '/home/src/project/witha/node_modules/mymodule.ts' does not exist. +File '/home/src/project/witha/node_modules/mymodule.tsx' does not exist. +File '/home/src/project/witha/node_modules/mymodule.d.ts' does not exist. +File '/home/src/project/witha/node_modules/mymodule/index.ts' does not exist. +File '/home/src/project/witha/node_modules/mymodule/index.tsx' does not exist. +File '/home/src/project/witha/node_modules/mymodule/index.d.ts' exists - use it as a name resolution result. +Resolving real path for '/home/src/project/witha/node_modules/mymodule/index.d.ts', result '/home/src/project/witha/node_modules/mymodule/index.d.ts'. +======== Module name 'mymodule' was successfully resolved to '/home/src/project/witha/node_modules/mymodule/index.d.ts'. ======== +======== Resolving module 'mymoduleutils' from '/home/src/project/witha/a.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +Loading module 'mymoduleutils' from 'node_modules' folder, target file types: TypeScript, Declaration. +Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. +File '/home/src/project/witha/node_modules/mymoduleutils.ts' does not exist. +File '/home/src/project/witha/node_modules/mymoduleutils.tsx' does not exist. +File '/home/src/project/witha/node_modules/mymoduleutils.d.ts' does not exist. +Directory '/home/src/project/witha/node_modules/@types' does not exist, skipping all lookups in it. +Directory '/home/src/project/node_modules' does not exist, skipping all lookups in it. +Directory '/home/src/node_modules' does not exist, skipping all lookups in it. +Directory '/home/node_modules' does not exist, skipping all lookups in it. +Directory '/node_modules' does not exist, skipping all lookups in it. +Loading module 'mymoduleutils' from 'node_modules' folder, target file types: JavaScript. +Searching all ancestor node_modules directories for fallback extensions: JavaScript. +File '/home/src/project/witha/node_modules/mymoduleutils.js' does not exist. +File '/home/src/project/witha/node_modules/mymoduleutils.jsx' does not exist. +Directory '/home/src/project/node_modules' does not exist, skipping all lookups in it. +Directory '/home/src/node_modules' does not exist, skipping all lookups in it. +Directory '/home/node_modules' does not exist, skipping all lookups in it. +Directory '/node_modules' does not exist, skipping all lookups in it. +======== Module name 'mymoduleutils' was not resolved. ======== +FileWatcher:: Added:: WatchInfo: /home/src/project/witha/node_modules/mymodule/index.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /home/src/project/withb/b.ts 250 undefined Source file +======== Resolving module 'mymodule' from '/home/src/project/withb/b.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +Loading module 'mymodule' from 'node_modules' folder, target file types: TypeScript, Declaration. +Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. +File '/home/src/project/withb/node_modules/mymodule/package.json' does not exist. +File '/home/src/project/withb/node_modules/mymodule.ts' does not exist. +File '/home/src/project/withb/node_modules/mymodule.tsx' does not exist. +File '/home/src/project/withb/node_modules/mymodule.d.ts' does not exist. +File '/home/src/project/withb/node_modules/mymodule/index.ts' does not exist. +File '/home/src/project/withb/node_modules/mymodule/index.tsx' does not exist. +File '/home/src/project/withb/node_modules/mymodule/index.d.ts' exists - use it as a name resolution result. +Resolving real path for '/home/src/project/withb/node_modules/mymodule/index.d.ts', result '/home/src/project/withb/node_modules/mymodule/index.d.ts'. +======== Module name 'mymodule' was successfully resolved to '/home/src/project/withb/node_modules/mymodule/index.d.ts'. ======== +======== Resolving module 'mymoduleutils' from '/home/src/project/withb/b.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +Loading module 'mymoduleutils' from 'node_modules' folder, target file types: TypeScript, Declaration. +Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. +File '/home/src/project/withb/node_modules/mymoduleutils.ts' does not exist. +File '/home/src/project/withb/node_modules/mymoduleutils.tsx' does not exist. +File '/home/src/project/withb/node_modules/mymoduleutils.d.ts' does not exist. +Directory '/home/src/project/withb/node_modules/@types' does not exist, skipping all lookups in it. +Resolution for module 'mymoduleutils' was found in cache from location '/home/src/project'. +======== Module name 'mymoduleutils' was not resolved. ======== +FileWatcher:: Added:: WatchInfo: /home/src/project/withb/node_modules/mymodule/index.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 250 undefined Source file +DirectoryWatcher:: Added:: WatchInfo: /home/src/project/witha 1 undefined Failed Lookup Locations +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/project/witha 1 undefined Failed Lookup Locations +DirectoryWatcher:: Added:: WatchInfo: /home/src/project/node_modules 1 undefined Failed Lookup Locations +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/project/node_modules 1 undefined Failed Lookup Locations +DirectoryWatcher:: Added:: WatchInfo: /home/src/project/withb 1 undefined Failed Lookup Locations +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/project/withb 1 undefined Failed Lookup Locations +DirectoryWatcher:: Added:: WatchInfo: /home/src/project/node_modules/@types 1 undefined Type roots +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/project/node_modules/@types 1 undefined Type roots +../../../a/lib/lib.d.ts + Default library for target 'es5' +witha/node_modules/mymodule/index.d.ts + Imported via 'mymodule' from file 'witha/a.ts' +witha/a.ts + Matched by include pattern '**/*.ts' in 'tsconfig.json' +withb/node_modules/mymodule/index.d.ts + Imported via 'mymodule' from file 'withb/b.ts' +withb/b.ts + Matched by include pattern '**/*.ts' in 'tsconfig.json' +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + +DirectoryWatcher:: Added:: WatchInfo: /home/src/project 1 undefined Wild card directory +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/project 1 undefined Wild card directory + + + +PolledWatches:: +/home/src/project/node_modules: *new* + {"pollingInterval":500} +/home/src/project/node_modules/@types: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/home/src/project/tsconfig.json: *new* + {} +/home/src/project/witha/a.ts: *new* + {} +/home/src/project/witha/node_modules/mymodule/index.d.ts: *new* + {} +/home/src/project/withb/b.ts: *new* + {} +/home/src/project/withb/node_modules/mymodule/index.d.ts: *new* + {} + +FsWatchesRecursive:: +/home/src/project: *new* + {} +/home/src/project/witha: *new* + {} +/home/src/project/withb: *new* + {} + +Program root files: [ + "/home/src/project/witha/a.ts", + "/home/src/project/withb/b.ts" +] +Program options: { + "noEmit": true, + "traceResolution": true, + "watch": true, + "extendedDiagnostics": true, + "explainFiles": true, + "configFilePath": "/home/src/project/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/home/src/project/witha/node_modules/mymodule/index.d.ts +/home/src/project/witha/a.ts +/home/src/project/withb/node_modules/mymodule/index.d.ts +/home/src/project/withb/b.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/home/src/project/witha/node_modules/mymodule/index.d.ts +/home/src/project/witha/a.ts +/home/src/project/withb/node_modules/mymodule/index.d.ts +/home/src/project/withb/b.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/home/src/project/witha/node_modules/mymodule/index.d.ts (used version) +/home/src/project/witha/a.ts (used version) +/home/src/project/withb/node_modules/mymodule/index.d.ts (used version) +/home/src/project/withb/b.ts (used version) + +exitCode:: ExitStatus.undefined + +Change:: remove a file that will remove module augmentation + +Input:: +//// [/home/src/project/withb/b.ts] + +import { promisify, promisify2 } from 'mymoduleutils'; +readFile(); +promisify(); +promisify2(); + + +//// [/home/src/project/withb/node_modules/mymodule/index.d.ts] deleted + +Output:: +FileWatcher:: Triggered with /home/src/project/withb/b.ts 1:: WatchInfo: /home/src/project/withb/b.ts 250 undefined Source file +Scheduling update +Elapsed:: *ms FileWatcher:: Triggered with /home/src/project/withb/b.ts 1:: WatchInfo: /home/src/project/withb/b.ts 250 undefined Source file +FileWatcher:: Triggered with /home/src/project/withb/node_modules/mymodule/index.d.ts 2:: WatchInfo: /home/src/project/withb/node_modules/mymodule/index.d.ts 250 undefined Source file +Scheduling update +Elapsed:: *ms FileWatcher:: Triggered with /home/src/project/withb/node_modules/mymodule/index.d.ts 2:: WatchInfo: /home/src/project/withb/node_modules/mymodule/index.d.ts 250 undefined Source file +DirectoryWatcher:: Triggered with /home/src/project/withb/node_modules/mymodule/index.d.ts :: WatchInfo: /home/src/project/withb 1 undefined Failed Lookup Locations +Scheduling invalidateFailedLookup +Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/project/withb/node_modules/mymodule/index.d.ts :: WatchInfo: /home/src/project/withb 1 undefined Failed Lookup Locations +DirectoryWatcher:: Triggered with /home/src/project/withb/node_modules/mymodule/index.d.ts :: WatchInfo: /home/src/project 1 undefined Wild card directory +Scheduling update +Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/project/withb/node_modules/mymodule/index.d.ts :: WatchInfo: /home/src/project 1 undefined Wild card directory + + +Timeout callback:: count: 2 +3: timerToInvalidateFailedLookupResolutions *new* +4: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 2 +3: timerToInvalidateFailedLookupResolutions +4: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 1 +Output:: +Scheduling update + + + +Timeout callback:: count: 1 +4: timerToUpdateProgram *deleted* +5: timerToUpdateProgram *new* + + +exitCode:: ExitStatus.undefined + +Change:: write a file that will add augmentation + +Input:: +//// [/home/src/project/withb/b.ts] + +import { promisify, promisify2 } from 'mymoduleutils'; + +promisify(); +promisify2(); + + +//// [/home/src/project/withb/node_modules/mymoduleutils/index.d.ts] +declare module 'mymoduleutils' { + export function promisify2(): void; +} + + + +Output:: +DirectoryWatcher:: Triggered with /home/src/project/withb/node_modules/mymoduleutils :: WatchInfo: /home/src/project/withb 1 undefined Failed Lookup Locations +Scheduling invalidateFailedLookup +Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/project/withb/node_modules/mymoduleutils :: WatchInfo: /home/src/project/withb 1 undefined Failed Lookup Locations +DirectoryWatcher:: Triggered with /home/src/project/withb/node_modules/mymoduleutils :: WatchInfo: /home/src/project 1 undefined Wild card directory +Scheduling update +Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/project/withb/node_modules/mymoduleutils :: WatchInfo: /home/src/project 1 undefined Wild card directory +DirectoryWatcher:: Triggered with /home/src/project/withb/node_modules/mymoduleutils/index.d.ts :: WatchInfo: /home/src/project/withb 1 undefined Failed Lookup Locations +Scheduling invalidateFailedLookup, Cancelled earlier one +Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/project/withb/node_modules/mymoduleutils/index.d.ts :: WatchInfo: /home/src/project/withb 1 undefined Failed Lookup Locations +DirectoryWatcher:: Triggered with /home/src/project/withb/node_modules/mymoduleutils/index.d.ts :: WatchInfo: /home/src/project 1 undefined Wild card directory +Scheduling update +Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/project/withb/node_modules/mymoduleutils/index.d.ts :: WatchInfo: /home/src/project 1 undefined Wild card directory +FileWatcher:: Triggered with /home/src/project/withb/b.ts 1:: WatchInfo: /home/src/project/withb/b.ts 250 undefined Source file +Scheduling update +Elapsed:: *ms FileWatcher:: Triggered with /home/src/project/withb/b.ts 1:: WatchInfo: /home/src/project/withb/b.ts 250 undefined Source file + + +Timeout callback:: count: 2 +5: timerToUpdateProgram *deleted* +8: timerToInvalidateFailedLookupResolutions *new* +10: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 2 +8: timerToInvalidateFailedLookupResolutions +10: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +Reloading new file names and options +Synchronizing program +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +CreatingProgramWith:: + roots: ["/home/src/project/witha/a.ts","/home/src/project/withb/b.ts"] + options: {"noEmit":true,"traceResolution":true,"watch":true,"extendedDiagnostics":true,"explainFiles":true,"configFilePath":"/home/src/project/tsconfig.json"} +FileWatcher:: Close:: WatchInfo: /home/src/project/withb/node_modules/mymodule/index.d.ts 250 undefined Source file +Reusing resolution of module 'mymodule' from '/home/src/project/witha/a.ts' of old program, it was successfully resolved to '/home/src/project/witha/node_modules/mymodule/index.d.ts'. +======== Resolving module 'mymoduleutils' from '/home/src/project/witha/a.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +Loading module 'mymoduleutils' from 'node_modules' folder, target file types: TypeScript, Declaration. +Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. +File '/home/src/project/witha/node_modules/mymoduleutils.ts' does not exist. +File '/home/src/project/witha/node_modules/mymoduleutils.tsx' does not exist. +File '/home/src/project/witha/node_modules/mymoduleutils.d.ts' does not exist. +Directory '/home/src/project/witha/node_modules/@types' does not exist, skipping all lookups in it. +Directory '/home/src/project/node_modules' does not exist, skipping all lookups in it. +Directory '/home/src/node_modules' does not exist, skipping all lookups in it. +Directory '/home/node_modules' does not exist, skipping all lookups in it. +Directory '/node_modules' does not exist, skipping all lookups in it. +Loading module 'mymoduleutils' from 'node_modules' folder, target file types: JavaScript. +Searching all ancestor node_modules directories for fallback extensions: JavaScript. +File '/home/src/project/witha/node_modules/mymoduleutils.js' does not exist. +File '/home/src/project/witha/node_modules/mymoduleutils.jsx' does not exist. +Directory '/home/src/project/node_modules' does not exist, skipping all lookups in it. +Directory '/home/src/node_modules' does not exist, skipping all lookups in it. +Directory '/home/node_modules' does not exist, skipping all lookups in it. +Directory '/node_modules' does not exist, skipping all lookups in it. +======== Module name 'mymoduleutils' was not resolved. ======== +======== Resolving module 'mymoduleutils' from '/home/src/project/withb/b.ts'. ======== +Module resolution kind is not specified, using 'Node10'. +Loading module 'mymoduleutils' from 'node_modules' folder, target file types: TypeScript, Declaration. +Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. +File '/home/src/project/withb/node_modules/mymoduleutils/package.json' does not exist. +File '/home/src/project/withb/node_modules/mymoduleutils.ts' does not exist. +File '/home/src/project/withb/node_modules/mymoduleutils.tsx' does not exist. +File '/home/src/project/withb/node_modules/mymoduleutils.d.ts' does not exist. +File '/home/src/project/withb/node_modules/mymoduleutils/index.ts' does not exist. +File '/home/src/project/withb/node_modules/mymoduleutils/index.tsx' does not exist. +File '/home/src/project/withb/node_modules/mymoduleutils/index.d.ts' exists - use it as a name resolution result. +Resolving real path for '/home/src/project/withb/node_modules/mymoduleutils/index.d.ts', result '/home/src/project/withb/node_modules/mymoduleutils/index.d.ts'. +======== Module name 'mymoduleutils' was successfully resolved to '/home/src/project/withb/node_modules/mymoduleutils/index.d.ts'. ======== +FileWatcher:: Added:: WatchInfo: /home/src/project/withb/node_modules/mymoduleutils/index.d.ts 250 undefined Source file +../../../a/lib/lib.d.ts + Default library for target 'es5' +witha/node_modules/mymodule/index.d.ts + Imported via 'mymodule' from file 'witha/a.ts' +witha/a.ts + Matched by include pattern '**/*.ts' in 'tsconfig.json' +withb/node_modules/mymoduleutils/index.d.ts + Imported via 'mymoduleutils' from file 'withb/b.ts' +withb/b.ts + Matched by include pattern '**/*.ts' in 'tsconfig.json' +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + + +PolledWatches:: +/home/src/project/node_modules: + {"pollingInterval":500} +/home/src/project/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/home/src/project/tsconfig.json: + {} +/home/src/project/witha/a.ts: + {} +/home/src/project/witha/node_modules/mymodule/index.d.ts: + {} +/home/src/project/withb/b.ts: + {} +/home/src/project/withb/node_modules/mymoduleutils/index.d.ts: *new* + {} + +FsWatches *deleted*:: +/home/src/project/withb/node_modules/mymodule/index.d.ts: + {} + +FsWatchesRecursive:: +/home/src/project: + {} +/home/src/project/witha: + {} +/home/src/project/withb: + {} + + +Program root files: [ + "/home/src/project/witha/a.ts", + "/home/src/project/withb/b.ts" +] +Program options: { + "noEmit": true, + "traceResolution": true, + "watch": true, + "extendedDiagnostics": true, + "explainFiles": true, + "configFilePath": "/home/src/project/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/home/src/project/witha/node_modules/mymodule/index.d.ts +/home/src/project/witha/a.ts +/home/src/project/withb/node_modules/mymoduleutils/index.d.ts +/home/src/project/withb/b.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/home/src/project/witha/node_modules/mymodule/index.d.ts +/home/src/project/witha/a.ts +/home/src/project/withb/node_modules/mymoduleutils/index.d.ts +/home/src/project/withb/b.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/home/src/project/witha/node_modules/mymodule/index.d.ts (used version) +/home/src/project/witha/a.ts (computed .d.ts) +/home/src/project/withb/node_modules/mymoduleutils/index.d.ts (used version) +/home/src/project/withb/b.ts (computed .d.ts) + +exitCode:: ExitStatus.undefined diff --git a/tests/baselines/reference/tscWatch/resolutionCache/works-when-module-resolution-changes-to-ambient-module.js b/tests/baselines/reference/tscWatch/resolutionCache/works-when-module-resolution-changes-to-ambient-module.js index 165ab9d8b8c..84e6d6d00b2 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/works-when-module-resolution-changes-to-ambient-module.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/works-when-module-resolution-changes-to-ambient-module.js @@ -143,12 +143,10 @@ Output:: //// [/users/username/projects/project/foo.js] file written with same contents PolledWatches:: -/users/username/projects/node_modules/@types: - {"pollingInterval":500} - -PolledWatches *deleted*:: /users/username/projects/node_modules: {"pollingInterval":500} +/users/username/projects/node_modules/@types: + {"pollingInterval":500} FsWatches:: /a/lib/lib.d.ts: @@ -161,12 +159,10 @@ FsWatches:: {} FsWatchesRecursive:: -/users/username/projects/project/node_modules/@types: - {} - -FsWatchesRecursive *deleted*:: /users/username/projects/project/node_modules: {} +/users/username/projects/project/node_modules/@types: + {} Timeout callback:: count: 0 16: timerToInvalidateFailedLookupResolutions *deleted* diff --git a/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js b/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js index b3fac3be300..731b817ce06 100644 --- a/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js +++ b/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js @@ -142,9 +142,9 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: e:/myproject/node Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: e:/myproject/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: c:/typescript/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: c:/typescript/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/typescript/node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: e:/myproject/node_modules/react-router-dom/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/typescript/node_modules/@types/react-router-dom/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/typescript/node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: e:/myproject/src/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: e:/myproject/src/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: e:/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots diff --git a/tests/baselines/reference/tsserver/projectErrors/correct-errors-when-resolution-resolves-to-file-that-has-same-ambient-module-and-is-also-module.js b/tests/baselines/reference/tsserver/projectErrors/correct-errors-when-resolution-resolves-to-file-that-has-same-ambient-module-and-is-also-module.js index a84219ac201..26b30111d5a 100644 --- a/tests/baselines/reference/tsserver/projectErrors/correct-errors-when-resolution-resolves-to-file-that-has-same-ambient-module-and-is-also-module.js +++ b/tests/baselines/reference/tsserver/projectErrors/correct-errors-when-resolution-resolves-to-file-that-has-same-ambient-module-and-is-also-module.js @@ -77,6 +77,8 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /us Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/myproject/node_modules 1 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/myproject/node_modules 1 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/myproject/src 1 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/myproject/src 1 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/myproject/node_modules/@types 1 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/myproject/node_modules/@types 1 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/node_modules/@types 1 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: Type roots diff --git a/tests/baselines/reference/tsserver/resolutionCache/when-resolution-fails.js b/tests/baselines/reference/tsserver/resolutionCache/when-resolution-fails.js index 3293a69f34a..f937dae4016 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/when-resolution-fails.js +++ b/tests/baselines/reference/tsserver/resolutionCache/when-resolution-fails.js @@ -289,3 +289,21 @@ ScriptInfos:: version: Text-1 containingProjects: 1 /user/username/projects/myproject/src/tsconfig.json + +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/src/somefolder/module1.js :: WatchInfo: /user/username/projects/myproject/src/somefolder 1 undefined Project: /user/username/projects/myproject/src/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/src/tsconfig.jsonFailedLookupInvalidation +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/src/somefolder/module1.js :: WatchInfo: /user/username/projects/myproject/src/somefolder 1 undefined Project: /user/username/projects/myproject/src/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/src/somefolder/module1.js :: WatchInfo: /user/username/projects/myproject/src 1 undefined Config: /user/username/projects/myproject/src/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/src/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/src/somefolder/module1.js +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/src/somefolder/module1.js :: WatchInfo: /user/username/projects/myproject/src 1 undefined Config: /user/username/projects/myproject/src/tsconfig.json WatchType: Wild card directory +Before running Timeout callback:: count: 1 +1: /user/username/projects/myproject/src/tsconfig.jsonFailedLookupInvalidation +//// [/user/username/projects/myproject/src/somefolder/module1.js] +export const x = 10; + + +Timeout callback:: count: 1 +1: /user/username/projects/myproject/src/tsconfig.jsonFailedLookupInvalidation *new* + +Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/src/tsconfig.jsonFailedLookupInvalidation +After running Timeout callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/resolutionCache/when-resolves-to-ambient-module.js b/tests/baselines/reference/tsserver/resolutionCache/when-resolves-to-ambient-module.js index 5b77f02d42b..24a9c1cbe01 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/when-resolves-to-ambient-module.js +++ b/tests/baselines/reference/tsserver/resolutionCache/when-resolves-to-ambient-module.js @@ -120,6 +120,12 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules 1 undefined Project: /user/username/projects/myproject/src/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/typings 1 undefined Project: /user/username/projects/myproject/src/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/typings 1 undefined Project: /user/username/projects/myproject/src/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject 0 undefined Project: /user/username/projects/myproject/src/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject 0 undefined Project: /user/username/projects/myproject/src/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects 0 undefined Project: /user/username/projects/myproject/src/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects 0 undefined Project: /user/username/projects/myproject/src/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 0 undefined Project: /user/username/projects/myproject/src/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 0 undefined Project: /user/username/projects/myproject/src/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/typings 1 undefined Project: /user/username/projects/myproject/src/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/typings 1 undefined Project: /user/username/projects/myproject/src/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/src/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms @@ -252,6 +258,12 @@ PolledWatches:: FsWatches:: /a/lib/lib.d.ts: *new* {} +/user/username/projects: *new* + {} +/user/username/projects/myproject: *new* + {} +/user/username/projects/myproject/src: *new* + {} /user/username/projects/myproject/src/somefolder/module1.ts: *new* {} /user/username/projects/myproject/src/tsconfig.json: *new* @@ -295,3 +307,21 @@ ScriptInfos:: version: Text-1 containingProjects: 1 /user/username/projects/myproject/src/tsconfig.json + +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/src/somefolder/module1.js :: WatchInfo: /user/username/projects/myproject/src/somefolder 1 undefined Project: /user/username/projects/myproject/src/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/src/tsconfig.jsonFailedLookupInvalidation +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/src/somefolder/module1.js :: WatchInfo: /user/username/projects/myproject/src/somefolder 1 undefined Project: /user/username/projects/myproject/src/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/src/somefolder/module1.js :: WatchInfo: /user/username/projects/myproject/src 1 undefined Config: /user/username/projects/myproject/src/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/src/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/src/somefolder/module1.js +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/src/somefolder/module1.js :: WatchInfo: /user/username/projects/myproject/src 1 undefined Config: /user/username/projects/myproject/src/tsconfig.json WatchType: Wild card directory +Before running Timeout callback:: count: 1 +1: /user/username/projects/myproject/src/tsconfig.jsonFailedLookupInvalidation +//// [/user/username/projects/myproject/src/somefolder/module1.js] +export const x = 10; + + +Timeout callback:: count: 1 +1: /user/username/projects/myproject/src/tsconfig.jsonFailedLookupInvalidation *new* + +Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/src/tsconfig.jsonFailedLookupInvalidation +After running Timeout callback:: count: 0 From 6d3be985c82bead3b41348de76efec8110c677c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Sat, 13 Jul 2024 00:50:43 +0200 Subject: [PATCH 09/89] Fixed regression in reverse mapped type inference caused by cache leak (#59232) Co-authored-by: Gabriela Araujo Britto --- src/compiler/checker.ts | 29 ++++- .../mappedTypeRecursiveInference.errors.txt | 12 +- .../mappedTypeRecursiveInference.types | 4 +- ...erseMappedTypeInferenceSameSource1.symbols | 117 ++++++++++++++++++ ...everseMappedTypeInferenceSameSource1.types | 111 +++++++++++++++++ .../reverseMappedTypeInferenceSameSource1.ts | 40 ++++++ 6 files changed, 300 insertions(+), 13 deletions(-) create mode 100644 tests/baselines/reference/reverseMappedTypeInferenceSameSource1.symbols create mode 100644 tests/baselines/reference/reverseMappedTypeInferenceSameSource1.types create mode 100644 tests/cases/compiler/reverseMappedTypeInferenceSameSource1.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 2437b3db31b..64e7ca0a816 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2194,6 +2194,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { /** Key is "/path/to/a.ts|/path/to/b.ts". */ var amalgamatedDuplicates: Map | undefined; var reverseMappedCache = new Map(); + var reverseHomomorphicMappedCache = new Map(); var ambientModulesCache: Symbol[] | undefined; /** * List of every ambient module with a "*" wildcard. @@ -7030,12 +7031,17 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function shouldUsePlaceholderForProperty(propertySymbol: Symbol, context: NodeBuilderContext) { - // Use placeholders for reverse mapped types we've either already descended into, or which - // are nested reverse mappings within a mapping over a non-anonymous type. The later is a restriction mostly just to + // Use placeholders for reverse mapped types we've either + // (1) already descended into, or + // (2) are nested reverse mappings within a mapping over a non-anonymous type, or + // (3) are deeply nested properties that originate from the same mapped type. + // Condition (2) is a restriction mostly just to // reduce the blowup in printback size from doing, eg, a deep reverse mapping over `Window`. // Since anonymous types usually come from expressions, this allows us to preserve the output // for deep mappings which likely come from expressions, while truncating those parts which // come from mappings over library functions. + // Condition (3) limits printing of possibly infinitely deep reverse mapped types. + const depth = 3; return !!(getCheckFlags(propertySymbol) & CheckFlags.ReverseMapped) && ( contains(context.reverseMappedStack, propertySymbol as ReverseMappedSymbol) @@ -7043,7 +7049,20 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { context.reverseMappedStack?.[0] && !(getObjectFlags(last(context.reverseMappedStack).links.propertyType) & ObjectFlags.Anonymous) ) + || isDeeplyNestedReverseMappedTypeProperty() ); + function isDeeplyNestedReverseMappedTypeProperty() { + if ((context.reverseMappedStack?.length ?? 0) < depth) { + return false; + } + for (let i = 0; i < depth; i++) { + const prop = context.reverseMappedStack![context.reverseMappedStack!.length - 1 - i]; + if (prop.links.mappedType.symbol !== (propertySymbol as ReverseMappedSymbol).links.mappedType.symbol) { + return false; + } + } + return true; + } } function addPropertyToElementList(propertySymbol: Symbol, context: NodeBuilderContext, typeElements: TypeElement[]) { @@ -25657,11 +25676,11 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { */ function inferTypeForHomomorphicMappedType(source: Type, target: MappedType, constraint: IndexType): Type | undefined { const cacheKey = source.id + "," + target.id + "," + constraint.id; - if (reverseMappedCache.has(cacheKey)) { - return reverseMappedCache.get(cacheKey); + if (reverseHomomorphicMappedCache.has(cacheKey)) { + return reverseHomomorphicMappedCache.get(cacheKey); } const type = createReverseMappedType(source, target, constraint); - reverseMappedCache.set(cacheKey, type); + reverseHomomorphicMappedCache.set(cacheKey, type); return type; } diff --git a/tests/baselines/reference/mappedTypeRecursiveInference.errors.txt b/tests/baselines/reference/mappedTypeRecursiveInference.errors.txt index cce0ab68e88..d10dfc24fde 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference.errors.txt +++ b/tests/baselines/reference/mappedTypeRecursiveInference.errors.txt @@ -2,13 +2,13 @@ mappedTypeRecursiveInference.ts(19,18): error TS2345: Argument of type 'XMLHttpR The types of 'responseXML.body.offsetParent.shadowRoot.adoptedStyleSheets' are incompatible between these types. Type 'CSSStyleSheet[]' is not assignable to type 'Deep<{ readonly cssRules: { readonly length: any; item: any; }; readonly ownerRule: { cssText: any; readonly parentRule: any; readonly parentStyleSheet: any; readonly type: any; readonly STYLE_RULE: any; readonly CHARSET_RULE: any; readonly IMPORT_RULE: any; readonly MEDIA_RULE: any; readonly FONT_FACE_RULE: any; readonly PAGE_RULE: any; readonly NAMESPACE_RULE: any; readonly KEYFRAMES_RULE: any; readonly KEYFRAME_RULE: any; readonly SUPPORTS_RULE: any; readonly COUNTER_STYLE_RULE: any; readonly FONT_FEATURE_VALUES_RULE: any; }; readonly rules: { readonly length: any; item: any; }; addRule: unknown; deleteRule: unknown; insertRule: unknown; removeRule: unknown; replace: unknown; replaceSync: unknown; disabled: { valueOf: any; }; readonly href: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly media: { readonly length: any; mediaText: any; toString: any; appendMedium: any; deleteMedium: any; item: any; }; readonly ownerNode: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { readonly ownerDocument: any; readonly target: any; data: any; readonly length: any; appendData: any; deleteData: any; insertData: any; replaceData: any; substringData: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly sheet: any; }; readonly parentStyleSheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly type: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>[]'. Type 'CSSStyleSheet' is not assignable to type 'Deep<{ readonly cssRules: { readonly length: any; item: any; }; readonly ownerRule: { cssText: any; readonly parentRule: any; readonly parentStyleSheet: any; readonly type: any; readonly STYLE_RULE: any; readonly CHARSET_RULE: any; readonly IMPORT_RULE: any; readonly MEDIA_RULE: any; readonly FONT_FACE_RULE: any; readonly PAGE_RULE: any; readonly NAMESPACE_RULE: any; readonly KEYFRAMES_RULE: any; readonly KEYFRAME_RULE: any; readonly SUPPORTS_RULE: any; readonly COUNTER_STYLE_RULE: any; readonly FONT_FEATURE_VALUES_RULE: any; }; readonly rules: { readonly length: any; item: any; }; addRule: unknown; deleteRule: unknown; insertRule: unknown; removeRule: unknown; replace: unknown; replaceSync: unknown; disabled: { valueOf: any; }; readonly href: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly media: { readonly length: any; mediaText: any; toString: any; appendMedium: any; deleteMedium: any; item: any; }; readonly ownerNode: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { readonly ownerDocument: any; readonly target: any; data: any; readonly length: any; appendData: any; deleteData: any; insertData: any; replaceData: any; substringData: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly sheet: any; }; readonly parentStyleSheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly type: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>'. - The types of 'ownerRule.parentStyleSheet.ownerNode' are incompatible between these types. + The types of 'ownerRule.parentRule.parentStyleSheet.ownerNode' are incompatible between these types. Type 'Element | ProcessingInstruction' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } | { readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; }>'. Type 'Element' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } | { readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; }>'. Type 'Element' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; }>'. The types of 'ownerDocument.defaultView.frames.self.globalThis.IDBCursor.prototype.key' are incompatible between these types. - Type 'IDBValidKey' is not assignable to type 'Deep<{ toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } | { toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } | { readonly byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; slice: unknown; readonly [Symbol.toStringTag]: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; } | { toString: unknown; toDateString: unknown; toTimeString: unknown; toLocaleString: unknown; toLocaleDateString: unknown; toLocaleTimeString: unknown; valueOf: unknown; getTime: unknown; getFullYear: unknown; getUTCFullYear: unknown; getMonth: unknown; getUTCMonth: unknown; getDate: unknown; getUTCDate: unknown; getDay: unknown; getUTCDay: unknown; getHours: unknown; getUTCHours: unknown; getMinutes: unknown; getUTCMinutes: unknown; getSeconds: unknown; getUTCSeconds: unknown; getMilliseconds: unknown; getUTCMilliseconds: unknown; getTimezoneOffset: unknown; setTime: unknown; setMilliseconds: unknown; setUTCMilliseconds: unknown; setSeconds: unknown; setUTCSeconds: unknown; setMinutes: unknown; setUTCMinutes: unknown; setHours: unknown; setUTCHours: unknown; setDate: unknown; setUTCDate: unknown; setMonth: unknown; setUTCMonth: unknown; setFullYear: unknown; setUTCFullYear: unknown; toUTCString: unknown; toISOString: unknown; toJSON: unknown; [Symbol.toPrimitive]: unknown; } | { buffer: { readonly byteLength: any; slice: any; readonly [Symbol.toStringTag]: any; }; byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; byteOffset: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; }>'. - Type 'IDBValidKey[]' is not assignable to type 'Deep<{ toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } | { toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } | { readonly byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; slice: unknown; readonly [Symbol.toStringTag]: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; } | { toString: unknown; toDateString: unknown; toTimeString: unknown; toLocaleString: unknown; toLocaleDateString: unknown; toLocaleTimeString: unknown; valueOf: unknown; getTime: unknown; getFullYear: unknown; getUTCFullYear: unknown; getMonth: unknown; getUTCMonth: unknown; getDate: unknown; getUTCDate: unknown; getDay: unknown; getUTCDay: unknown; getHours: unknown; getUTCHours: unknown; getMinutes: unknown; getUTCMinutes: unknown; getSeconds: unknown; getUTCSeconds: unknown; getMilliseconds: unknown; getUTCMilliseconds: unknown; getTimezoneOffset: unknown; setTime: unknown; setMilliseconds: unknown; setUTCMilliseconds: unknown; setSeconds: unknown; setUTCSeconds: unknown; setMinutes: unknown; setUTCMinutes: unknown; setHours: unknown; setUTCHours: unknown; setDate: unknown; setUTCDate: unknown; setMonth: unknown; setUTCMonth: unknown; setFullYear: unknown; setUTCFullYear: unknown; toUTCString: unknown; toISOString: unknown; toJSON: unknown; [Symbol.toPrimitive]: unknown; } | { buffer: { readonly byteLength: any; slice: any; readonly [Symbol.toStringTag]: any; }; byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; byteOffset: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; }>'. + Type 'IDBValidKey' is not assignable to type 'Deep<{ toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } | { toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } | { readonly byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; slice: unknown; readonly [Symbol.toStringTag]: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; } | { toString: unknown; toDateString: unknown; toTimeString: unknown; toLocaleString: unknown; toLocaleDateString: unknown; toLocaleTimeString: unknown; valueOf: unknown; getTime: unknown; getFullYear: unknown; getUTCFullYear: unknown; getMonth: unknown; getUTCMonth: unknown; getDate: unknown; getUTCDate: unknown; getDay: unknown; getUTCDay: unknown; getHours: unknown; getUTCHours: unknown; getMinutes: unknown; getUTCMinutes: unknown; getSeconds: unknown; getUTCSeconds: unknown; getMilliseconds: unknown; getUTCMilliseconds: unknown; getTimezoneOffset: unknown; setTime: unknown; setMilliseconds: unknown; setUTCMilliseconds: unknown; setSeconds: unknown; setUTCSeconds: unknown; setMinutes: unknown; setUTCMinutes: unknown; setHours: unknown; setUTCHours: unknown; setDate: unknown; setUTCDate: unknown; setMonth: unknown; setUTCMonth: unknown; setFullYear: unknown; setUTCFullYear: unknown; toUTCString: unknown; toISOString: unknown; toJSON: unknown; [Symbol.toPrimitive]: unknown; } | { buffer: { readonly byteLength: any; slice: any; readonly [Symbol.toStringTag]: any; }; byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; byteOffset: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; }>'. + Type 'IDBValidKey[]' is not assignable to type 'Deep<{ toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } | { toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } | { readonly byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; slice: unknown; readonly [Symbol.toStringTag]: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; } | { toString: unknown; toDateString: unknown; toTimeString: unknown; toLocaleString: unknown; toLocaleDateString: unknown; toLocaleTimeString: unknown; valueOf: unknown; getTime: unknown; getFullYear: unknown; getUTCFullYear: unknown; getMonth: unknown; getUTCMonth: unknown; getDate: unknown; getUTCDate: unknown; getDay: unknown; getUTCDay: unknown; getHours: unknown; getUTCHours: unknown; getMinutes: unknown; getUTCMinutes: unknown; getSeconds: unknown; getUTCSeconds: unknown; getMilliseconds: unknown; getUTCMilliseconds: unknown; getTimezoneOffset: unknown; setTime: unknown; setMilliseconds: unknown; setUTCMilliseconds: unknown; setSeconds: unknown; setUTCSeconds: unknown; setMinutes: unknown; setUTCMinutes: unknown; setHours: unknown; setUTCHours: unknown; setDate: unknown; setUTCDate: unknown; setMonth: unknown; setUTCMonth: unknown; setFullYear: unknown; setUTCFullYear: unknown; toUTCString: unknown; toISOString: unknown; toJSON: unknown; [Symbol.toPrimitive]: unknown; } | { buffer: { readonly byteLength: any; slice: any; readonly [Symbol.toStringTag]: any; }; byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; byteOffset: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; }>'. Type 'IDBValidKey[]' is missing the following properties from type 'Deep<{ toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; }>': charAt, charCodeAt, localeCompare, match, and 29 more. @@ -37,13 +37,13 @@ mappedTypeRecursiveInference.ts(19,18): error TS2345: Argument of type 'XMLHttpR !!! error TS2345: The types of 'responseXML.body.offsetParent.shadowRoot.adoptedStyleSheets' are incompatible between these types. !!! error TS2345: Type 'CSSStyleSheet[]' is not assignable to type 'Deep<{ readonly cssRules: { readonly length: any; item: any; }; readonly ownerRule: { cssText: any; readonly parentRule: any; readonly parentStyleSheet: any; readonly type: any; readonly STYLE_RULE: any; readonly CHARSET_RULE: any; readonly IMPORT_RULE: any; readonly MEDIA_RULE: any; readonly FONT_FACE_RULE: any; readonly PAGE_RULE: any; readonly NAMESPACE_RULE: any; readonly KEYFRAMES_RULE: any; readonly KEYFRAME_RULE: any; readonly SUPPORTS_RULE: any; readonly COUNTER_STYLE_RULE: any; readonly FONT_FEATURE_VALUES_RULE: any; }; readonly rules: { readonly length: any; item: any; }; addRule: unknown; deleteRule: unknown; insertRule: unknown; removeRule: unknown; replace: unknown; replaceSync: unknown; disabled: { valueOf: any; }; readonly href: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly media: { readonly length: any; mediaText: any; toString: any; appendMedium: any; deleteMedium: any; item: any; }; readonly ownerNode: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { readonly ownerDocument: any; readonly target: any; data: any; readonly length: any; appendData: any; deleteData: any; insertData: any; replaceData: any; substringData: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly sheet: any; }; readonly parentStyleSheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly type: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>[]'. !!! error TS2345: Type 'CSSStyleSheet' is not assignable to type 'Deep<{ readonly cssRules: { readonly length: any; item: any; }; readonly ownerRule: { cssText: any; readonly parentRule: any; readonly parentStyleSheet: any; readonly type: any; readonly STYLE_RULE: any; readonly CHARSET_RULE: any; readonly IMPORT_RULE: any; readonly MEDIA_RULE: any; readonly FONT_FACE_RULE: any; readonly PAGE_RULE: any; readonly NAMESPACE_RULE: any; readonly KEYFRAMES_RULE: any; readonly KEYFRAME_RULE: any; readonly SUPPORTS_RULE: any; readonly COUNTER_STYLE_RULE: any; readonly FONT_FEATURE_VALUES_RULE: any; }; readonly rules: { readonly length: any; item: any; }; addRule: unknown; deleteRule: unknown; insertRule: unknown; removeRule: unknown; replace: unknown; replaceSync: unknown; disabled: { valueOf: any; }; readonly href: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly media: { readonly length: any; mediaText: any; toString: any; appendMedium: any; deleteMedium: any; item: any; }; readonly ownerNode: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { readonly ownerDocument: any; readonly target: any; data: any; readonly length: any; appendData: any; deleteData: any; insertData: any; replaceData: any; substringData: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly sheet: any; }; readonly parentStyleSheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly type: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>'. -!!! error TS2345: The types of 'ownerRule.parentStyleSheet.ownerNode' are incompatible between these types. +!!! error TS2345: The types of 'ownerRule.parentRule.parentStyleSheet.ownerNode' are incompatible between these types. !!! error TS2345: Type 'Element | ProcessingInstruction' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } | { readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; }>'. !!! error TS2345: Type 'Element' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } | { readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; }>'. !!! error TS2345: Type 'Element' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; }>'. !!! error TS2345: The types of 'ownerDocument.defaultView.frames.self.globalThis.IDBCursor.prototype.key' are incompatible between these types. -!!! error TS2345: Type 'IDBValidKey' is not assignable to type 'Deep<{ toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } | { toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } | { readonly byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; slice: unknown; readonly [Symbol.toStringTag]: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; } | { toString: unknown; toDateString: unknown; toTimeString: unknown; toLocaleString: unknown; toLocaleDateString: unknown; toLocaleTimeString: unknown; valueOf: unknown; getTime: unknown; getFullYear: unknown; getUTCFullYear: unknown; getMonth: unknown; getUTCMonth: unknown; getDate: unknown; getUTCDate: unknown; getDay: unknown; getUTCDay: unknown; getHours: unknown; getUTCHours: unknown; getMinutes: unknown; getUTCMinutes: unknown; getSeconds: unknown; getUTCSeconds: unknown; getMilliseconds: unknown; getUTCMilliseconds: unknown; getTimezoneOffset: unknown; setTime: unknown; setMilliseconds: unknown; setUTCMilliseconds: unknown; setSeconds: unknown; setUTCSeconds: unknown; setMinutes: unknown; setUTCMinutes: unknown; setHours: unknown; setUTCHours: unknown; setDate: unknown; setUTCDate: unknown; setMonth: unknown; setUTCMonth: unknown; setFullYear: unknown; setUTCFullYear: unknown; toUTCString: unknown; toISOString: unknown; toJSON: unknown; [Symbol.toPrimitive]: unknown; } | { buffer: { readonly byteLength: any; slice: any; readonly [Symbol.toStringTag]: any; }; byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; byteOffset: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; }>'. -!!! error TS2345: Type 'IDBValidKey[]' is not assignable to type 'Deep<{ toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } | { toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } | { readonly byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; slice: unknown; readonly [Symbol.toStringTag]: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; } | { toString: unknown; toDateString: unknown; toTimeString: unknown; toLocaleString: unknown; toLocaleDateString: unknown; toLocaleTimeString: unknown; valueOf: unknown; getTime: unknown; getFullYear: unknown; getUTCFullYear: unknown; getMonth: unknown; getUTCMonth: unknown; getDate: unknown; getUTCDate: unknown; getDay: unknown; getUTCDay: unknown; getHours: unknown; getUTCHours: unknown; getMinutes: unknown; getUTCMinutes: unknown; getSeconds: unknown; getUTCSeconds: unknown; getMilliseconds: unknown; getUTCMilliseconds: unknown; getTimezoneOffset: unknown; setTime: unknown; setMilliseconds: unknown; setUTCMilliseconds: unknown; setSeconds: unknown; setUTCSeconds: unknown; setMinutes: unknown; setUTCMinutes: unknown; setHours: unknown; setUTCHours: unknown; setDate: unknown; setUTCDate: unknown; setMonth: unknown; setUTCMonth: unknown; setFullYear: unknown; setUTCFullYear: unknown; toUTCString: unknown; toISOString: unknown; toJSON: unknown; [Symbol.toPrimitive]: unknown; } | { buffer: { readonly byteLength: any; slice: any; readonly [Symbol.toStringTag]: any; }; byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; byteOffset: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; }>'. +!!! error TS2345: Type 'IDBValidKey' is not assignable to type 'Deep<{ toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } | { toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } | { readonly byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; slice: unknown; readonly [Symbol.toStringTag]: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; } | { toString: unknown; toDateString: unknown; toTimeString: unknown; toLocaleString: unknown; toLocaleDateString: unknown; toLocaleTimeString: unknown; valueOf: unknown; getTime: unknown; getFullYear: unknown; getUTCFullYear: unknown; getMonth: unknown; getUTCMonth: unknown; getDate: unknown; getUTCDate: unknown; getDay: unknown; getUTCDay: unknown; getHours: unknown; getUTCHours: unknown; getMinutes: unknown; getUTCMinutes: unknown; getSeconds: unknown; getUTCSeconds: unknown; getMilliseconds: unknown; getUTCMilliseconds: unknown; getTimezoneOffset: unknown; setTime: unknown; setMilliseconds: unknown; setUTCMilliseconds: unknown; setSeconds: unknown; setUTCSeconds: unknown; setMinutes: unknown; setUTCMinutes: unknown; setHours: unknown; setUTCHours: unknown; setDate: unknown; setUTCDate: unknown; setMonth: unknown; setUTCMonth: unknown; setFullYear: unknown; setUTCFullYear: unknown; toUTCString: unknown; toISOString: unknown; toJSON: unknown; [Symbol.toPrimitive]: unknown; } | { buffer: { readonly byteLength: any; slice: any; readonly [Symbol.toStringTag]: any; }; byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; byteOffset: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; }>'. +!!! error TS2345: Type 'IDBValidKey[]' is not assignable to type 'Deep<{ toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } | { toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } | { readonly byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; slice: unknown; readonly [Symbol.toStringTag]: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; } | { toString: unknown; toDateString: unknown; toTimeString: unknown; toLocaleString: unknown; toLocaleDateString: unknown; toLocaleTimeString: unknown; valueOf: unknown; getTime: unknown; getFullYear: unknown; getUTCFullYear: unknown; getMonth: unknown; getUTCMonth: unknown; getDate: unknown; getUTCDate: unknown; getDay: unknown; getUTCDay: unknown; getHours: unknown; getUTCHours: unknown; getMinutes: unknown; getUTCMinutes: unknown; getSeconds: unknown; getUTCSeconds: unknown; getMilliseconds: unknown; getUTCMilliseconds: unknown; getTimezoneOffset: unknown; setTime: unknown; setMilliseconds: unknown; setUTCMilliseconds: unknown; setSeconds: unknown; setUTCSeconds: unknown; setMinutes: unknown; setUTCMinutes: unknown; setHours: unknown; setUTCHours: unknown; setDate: unknown; setUTCDate: unknown; setMonth: unknown; setUTCMonth: unknown; setFullYear: unknown; setUTCFullYear: unknown; toUTCString: unknown; toISOString: unknown; toJSON: unknown; [Symbol.toPrimitive]: unknown; } | { buffer: { readonly byteLength: any; slice: any; readonly [Symbol.toStringTag]: any; }; byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; byteOffset: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; }>'. !!! error TS2345: Type 'IDBValidKey[]' is missing the following properties from type 'Deep<{ toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; }>': charAt, charCodeAt, localeCompare, match, and 29 more. out2.responseXML out2.responseXML.activeElement.className.length diff --git a/tests/baselines/reference/mappedTypeRecursiveInference.types b/tests/baselines/reference/mappedTypeRecursiveInference.types index afd4e643a3c..5bc8fb166fa 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference.types +++ b/tests/baselines/reference/mappedTypeRecursiveInference.types @@ -2,8 +2,8 @@ === Performance Stats === Assignability cache: 5,000 -Type Count: 10,000 -Instantiation count: 250,000 +Type Count: 25,000 +Instantiation count: 500,000 Symbol count: 250,000 === mappedTypeRecursiveInference.ts === diff --git a/tests/baselines/reference/reverseMappedTypeInferenceSameSource1.symbols b/tests/baselines/reference/reverseMappedTypeInferenceSameSource1.symbols new file mode 100644 index 00000000000..506b57a3038 --- /dev/null +++ b/tests/baselines/reference/reverseMappedTypeInferenceSameSource1.symbols @@ -0,0 +1,117 @@ +//// [tests/cases/compiler/reverseMappedTypeInferenceSameSource1.ts] //// + +=== reverseMappedTypeInferenceSameSource1.ts === +type Action = { +>Action : Symbol(Action, Decl(reverseMappedTypeInferenceSameSource1.ts, 0, 0)) +>T : Symbol(T, Decl(reverseMappedTypeInferenceSameSource1.ts, 0, 12)) + + type: T; +>type : Symbol(type, Decl(reverseMappedTypeInferenceSameSource1.ts, 0, 42)) +>T : Symbol(T, Decl(reverseMappedTypeInferenceSameSource1.ts, 0, 12)) + +}; +interface UnknownAction extends Action { +>UnknownAction : Symbol(UnknownAction, Decl(reverseMappedTypeInferenceSameSource1.ts, 2, 2)) +>Action : Symbol(Action, Decl(reverseMappedTypeInferenceSameSource1.ts, 0, 0)) + + [extraProps: string]: unknown; +>extraProps : Symbol(extraProps, Decl(reverseMappedTypeInferenceSameSource1.ts, 4, 3)) +} +type Reducer = ( +>Reducer : Symbol(Reducer, Decl(reverseMappedTypeInferenceSameSource1.ts, 5, 1)) +>S : Symbol(S, Decl(reverseMappedTypeInferenceSameSource1.ts, 6, 13)) +>A : Symbol(A, Decl(reverseMappedTypeInferenceSameSource1.ts, 6, 21)) +>Action : Symbol(Action, Decl(reverseMappedTypeInferenceSameSource1.ts, 0, 0)) +>UnknownAction : Symbol(UnknownAction, Decl(reverseMappedTypeInferenceSameSource1.ts, 2, 2)) + + state: S | undefined, +>state : Symbol(state, Decl(reverseMappedTypeInferenceSameSource1.ts, 6, 59)) +>S : Symbol(S, Decl(reverseMappedTypeInferenceSameSource1.ts, 6, 13)) + + action: A, +>action : Symbol(action, Decl(reverseMappedTypeInferenceSameSource1.ts, 7, 23)) +>A : Symbol(A, Decl(reverseMappedTypeInferenceSameSource1.ts, 6, 21)) + +) => S; +>S : Symbol(S, Decl(reverseMappedTypeInferenceSameSource1.ts, 6, 13)) + +type ReducersMapObject = { +>ReducersMapObject : Symbol(ReducersMapObject, Decl(reverseMappedTypeInferenceSameSource1.ts, 9, 7)) +>S : Symbol(S, Decl(reverseMappedTypeInferenceSameSource1.ts, 11, 23)) +>A : Symbol(A, Decl(reverseMappedTypeInferenceSameSource1.ts, 11, 31)) +>Action : Symbol(Action, Decl(reverseMappedTypeInferenceSameSource1.ts, 0, 0)) +>UnknownAction : Symbol(UnknownAction, Decl(reverseMappedTypeInferenceSameSource1.ts, 2, 2)) + + [K in keyof S]: Reducer; +>K : Symbol(K, Decl(reverseMappedTypeInferenceSameSource1.ts, 12, 3)) +>S : Symbol(S, Decl(reverseMappedTypeInferenceSameSource1.ts, 11, 23)) +>Reducer : Symbol(Reducer, Decl(reverseMappedTypeInferenceSameSource1.ts, 5, 1)) +>S : Symbol(S, Decl(reverseMappedTypeInferenceSameSource1.ts, 11, 23)) +>K : Symbol(K, Decl(reverseMappedTypeInferenceSameSource1.ts, 12, 3)) +>A : Symbol(A, Decl(reverseMappedTypeInferenceSameSource1.ts, 11, 31)) + +}; + +interface ConfigureStoreOptions { +>ConfigureStoreOptions : Symbol(ConfigureStoreOptions, Decl(reverseMappedTypeInferenceSameSource1.ts, 13, 2)) +>S : Symbol(S, Decl(reverseMappedTypeInferenceSameSource1.ts, 15, 32)) +>A : Symbol(A, Decl(reverseMappedTypeInferenceSameSource1.ts, 15, 40)) +>Action : Symbol(Action, Decl(reverseMappedTypeInferenceSameSource1.ts, 0, 0)) +>UnknownAction : Symbol(UnknownAction, Decl(reverseMappedTypeInferenceSameSource1.ts, 2, 2)) + + reducer: Reducer | ReducersMapObject; +>reducer : Symbol(ConfigureStoreOptions.reducer, Decl(reverseMappedTypeInferenceSameSource1.ts, 15, 76)) +>Reducer : Symbol(Reducer, Decl(reverseMappedTypeInferenceSameSource1.ts, 5, 1)) +>S : Symbol(S, Decl(reverseMappedTypeInferenceSameSource1.ts, 15, 32)) +>A : Symbol(A, Decl(reverseMappedTypeInferenceSameSource1.ts, 15, 40)) +>ReducersMapObject : Symbol(ReducersMapObject, Decl(reverseMappedTypeInferenceSameSource1.ts, 9, 7)) +>S : Symbol(S, Decl(reverseMappedTypeInferenceSameSource1.ts, 15, 32)) +>A : Symbol(A, Decl(reverseMappedTypeInferenceSameSource1.ts, 15, 40)) +} + +declare function configureStore( +>configureStore : Symbol(configureStore, Decl(reverseMappedTypeInferenceSameSource1.ts, 17, 1)) +>S : Symbol(S, Decl(reverseMappedTypeInferenceSameSource1.ts, 19, 32)) +>A : Symbol(A, Decl(reverseMappedTypeInferenceSameSource1.ts, 19, 40)) +>Action : Symbol(Action, Decl(reverseMappedTypeInferenceSameSource1.ts, 0, 0)) +>UnknownAction : Symbol(UnknownAction, Decl(reverseMappedTypeInferenceSameSource1.ts, 2, 2)) + + options: ConfigureStoreOptions, +>options : Symbol(options, Decl(reverseMappedTypeInferenceSameSource1.ts, 19, 75)) +>ConfigureStoreOptions : Symbol(ConfigureStoreOptions, Decl(reverseMappedTypeInferenceSameSource1.ts, 13, 2)) +>S : Symbol(S, Decl(reverseMappedTypeInferenceSameSource1.ts, 19, 32)) +>A : Symbol(A, Decl(reverseMappedTypeInferenceSameSource1.ts, 19, 40)) + +): void; + +{ + const reducer: Reducer = () => 0; +>reducer : Symbol(reducer, Decl(reverseMappedTypeInferenceSameSource1.ts, 24, 7)) +>Reducer : Symbol(Reducer, Decl(reverseMappedTypeInferenceSameSource1.ts, 5, 1)) + + const store1 = configureStore({ reducer }); +>store1 : Symbol(store1, Decl(reverseMappedTypeInferenceSameSource1.ts, 25, 7)) +>configureStore : Symbol(configureStore, Decl(reverseMappedTypeInferenceSameSource1.ts, 17, 1)) +>reducer : Symbol(reducer, Decl(reverseMappedTypeInferenceSameSource1.ts, 25, 33)) +} + +const counterReducer1: Reducer = () => 0; +>counterReducer1 : Symbol(counterReducer1, Decl(reverseMappedTypeInferenceSameSource1.ts, 28, 5)) +>Reducer : Symbol(Reducer, Decl(reverseMappedTypeInferenceSameSource1.ts, 5, 1)) + +const store2 = configureStore({ +>store2 : Symbol(store2, Decl(reverseMappedTypeInferenceSameSource1.ts, 30, 5)) +>configureStore : Symbol(configureStore, Decl(reverseMappedTypeInferenceSameSource1.ts, 17, 1)) + + reducer: { +>reducer : Symbol(reducer, Decl(reverseMappedTypeInferenceSameSource1.ts, 30, 31)) + + counter1: counterReducer1, +>counter1 : Symbol(counter1, Decl(reverseMappedTypeInferenceSameSource1.ts, 31, 12)) +>counterReducer1 : Symbol(counterReducer1, Decl(reverseMappedTypeInferenceSameSource1.ts, 28, 5)) + + }, +}); + +export {} + diff --git a/tests/baselines/reference/reverseMappedTypeInferenceSameSource1.types b/tests/baselines/reference/reverseMappedTypeInferenceSameSource1.types new file mode 100644 index 00000000000..0b296fd881b --- /dev/null +++ b/tests/baselines/reference/reverseMappedTypeInferenceSameSource1.types @@ -0,0 +1,111 @@ +//// [tests/cases/compiler/reverseMappedTypeInferenceSameSource1.ts] //// + +=== reverseMappedTypeInferenceSameSource1.ts === +type Action = { +>Action : Action +> : ^^^^^^^^^ + + type: T; +>type : T +> : ^ + +}; +interface UnknownAction extends Action { + [extraProps: string]: unknown; +>extraProps : string +> : ^^^^^^ +} +type Reducer = ( +>Reducer : Reducer +> : ^^^^^^^^^^^^^ + + state: S | undefined, +>state : S | undefined +> : ^^^^^^^^^^^^^ + + action: A, +>action : A +> : ^ + +) => S; + +type ReducersMapObject = { +>ReducersMapObject : ReducersMapObject +> : ^^^^^^^^^^^^^^^^^^^^^^^ + + [K in keyof S]: Reducer; +}; + +interface ConfigureStoreOptions { + reducer: Reducer | ReducersMapObject; +>reducer : Reducer | ReducersMapObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +} + +declare function configureStore( +>configureStore : (options: ConfigureStoreOptions) => void +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ + + options: ConfigureStoreOptions, +>options : ConfigureStoreOptions +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +): void; + +{ + const reducer: Reducer = () => 0; +>reducer : Reducer +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>() => 0 : () => number +> : ^^^^^^^^^^^^ +>0 : 0 +> : ^ + + const store1 = configureStore({ reducer }); +>store1 : void +> : ^^^^ +>configureStore({ reducer }) : void +> : ^^^^ +>configureStore : (options: ConfigureStoreOptions) => void +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>{ reducer } : { reducer: Reducer; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>reducer : Reducer +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +} + +const counterReducer1: Reducer = () => 0; +>counterReducer1 : Reducer +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>() => 0 : () => number +> : ^^^^^^^^^^^^ +>0 : 0 +> : ^ + +const store2 = configureStore({ +>store2 : void +> : ^^^^ +>configureStore({ reducer: { counter1: counterReducer1, },}) : void +> : ^^^^ +>configureStore : (options: ConfigureStoreOptions) => void +> : ^ ^^^^^^^^ ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^^^ +>{ reducer: { counter1: counterReducer1, },} : { reducer: { counter1: Reducer; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + reducer: { +>reducer : { counter1: Reducer; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ counter1: counterReducer1, } : { counter1: Reducer; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + counter1: counterReducer1, +>counter1 : Reducer +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>counterReducer1 : Reducer +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + }, +}); + +export {} + diff --git a/tests/cases/compiler/reverseMappedTypeInferenceSameSource1.ts b/tests/cases/compiler/reverseMappedTypeInferenceSameSource1.ts new file mode 100644 index 00000000000..302f7a68bab --- /dev/null +++ b/tests/cases/compiler/reverseMappedTypeInferenceSameSource1.ts @@ -0,0 +1,40 @@ +// @strict: true +// @noEmit: true + +type Action = { + type: T; +}; +interface UnknownAction extends Action { + [extraProps: string]: unknown; +} +type Reducer = ( + state: S | undefined, + action: A, +) => S; + +type ReducersMapObject = { + [K in keyof S]: Reducer; +}; + +interface ConfigureStoreOptions { + reducer: Reducer | ReducersMapObject; +} + +declare function configureStore( + options: ConfigureStoreOptions, +): void; + +{ + const reducer: Reducer = () => 0; + const store1 = configureStore({ reducer }); +} + +const counterReducer1: Reducer = () => 0; + +const store2 = configureStore({ + reducer: { + counter1: counterReducer1, + }, +}); + +export {} From 03143729b10517bf1b4ff3147422cacd5aa42db8 Mon Sep 17 00:00:00 2001 From: Gabriela Araujo Britto Date: Mon, 15 Jul 2024 11:11:40 -0700 Subject: [PATCH 10/89] Make type comparison error elaboration consistent (#58859) --- src/compiler/checker.ts | 38 +++--- src/compiler/types.ts | 5 +- .../baselines/reference/arrayFrom.errors.txt | 3 + ...typeIsAssignableToReadonlyArray.errors.txt | 5 +- ...ignmentCompatWithNumericIndexer.errors.txt | 9 +- ...gnmentCompatWithNumericIndexer2.errors.txt | 9 +- ...ignmentCompatWithObjectMembers4.errors.txt | 70 ++++++---- ...tWithObjectMembersAccessibility.errors.txt | 12 ++ ...signmentCompatWithStringIndexer.errors.txt | 18 +-- ...ignmentCompatWithStringIndexer2.errors.txt | 18 +-- ...ember-off-of-function-interface.errors.txt | 3 + ...ember-off-of-function-interface.errors.txt | 3 + .../reference/bigintWithLib.errors.txt | 12 ++ .../reference/castingTuple.errors.txt | 2 + .../reference/chainedAssignment1.errors.txt | 4 +- .../reference/chainedAssignment3.errors.txt | 5 +- .../checkJsxChildrenCanBeTupleType.errors.txt | 2 + ...nalNoInfiniteInstantiationDepth.errors.txt | 6 + .../classPropertyErrorOnNameOnly.errors.txt | 2 + ...yofReliesOnKeyofNeverUpperBound.errors.txt | 46 ++++--- .../reference/conditionalTypes1.errors.txt | 32 +++-- .../reference/covariantCallbacks.errors.txt | 15 +- .../reference/elaboratedErrors.errors.txt | 10 +- ...AnnotationAndInvalidInitializer.errors.txt | 5 +- ...functionConstraintSatisfaction2.errors.txt | 4 + tests/baselines/reference/fuzzy.errors.txt | 5 +- ...AssignmentCompatWithInterfaces1.errors.txt | 36 +++-- ...edMethodWithOverloadedArguments.errors.txt | 8 ++ ...wnNotAssignableToConcreteObject.errors.txt | 5 +- .../reference/inferTypePredicates.errors.txt | 8 ++ .../reference/inheritance1.errors.txt | 5 +- ...sxFactoryDeclarationsLocalTypes.errors.txt | 23 ++-- .../interfaceAssignmentCompat.errors.txt | 10 +- .../intersectionAndUnionTypes.errors.txt | 3 + ...nvariantGenericErrorElaboration.errors.txt | 10 +- .../iteratorSpreadInArray6.errors.txt | 8 +- .../jsxComponentTypeErrors.errors.txt | 10 ++ .../keyofAndIndexedAccess.errors.txt | 4 + .../keyofAndIndexedAccessErrors.errors.txt | 42 ++++++ .../lastPropertyInLiteralWins.errors.txt | 4 + .../reference/mappedTypeWithAny.errors.txt | 4 +- .../noUncheckedIndexedAccess.errors.txt | 40 ++++++ .../objectLiteralIndexerErrors.errors.txt | 5 +- .../objectSpreadStrictNull.errors.txt | 2 + ...ingAndNumberIndexSignatureToAny.errors.txt | 14 +- ...nWithConstraintCheckingDeferred.errors.txt | 26 ++-- .../reference/promisePermutations.errors.txt | 12 ++ .../reference/promisePermutations2.errors.txt | 12 ++ .../reference/promisePermutations3.errors.txt | 12 ++ .../promisesWithConstraints.errors.txt | 5 +- ...actDefaultPropsInferenceSuccess.errors.txt | 10 ++ ...ferredInferenceAllowsAssignment.errors.txt | 6 + .../relationComplexityError.errors.txt | 4 +- .../baselines/reference/setMethods.errors.txt | 12 ++ .../strictFunctionTypesErrors.errors.txt | 42 ++++-- ...tringMappingOverPatternLiterals.errors.txt | 10 ++ .../subclassThisTypeAssignable01.errors.txt | 2 + .../subtypingWithNumericIndexer2.errors.txt | 3 + .../subtypingWithNumericIndexer3.errors.txt | 3 + .../subtypingWithObjectMembers3.errors.txt | 25 ++-- .../subtypingWithStringIndexer2.errors.txt | 3 + .../subtypingWithStringIndexer3.errors.txt | 3 + ...eStringsWithOverloadResolution1.errors.txt | 21 +++ ...ingsWithOverloadResolution1_ES6.errors.txt | 21 +++ .../thisTypeInFunctionsNegative.errors.txt | 30 ++-- .../tsxNotUsingApparentTypeOfSFC.errors.txt | 3 + .../tsxTypeArgumentResolution.errors.txt | 4 + .../baselines/reference/tupleTypes.errors.txt | 2 + .../typeAssignabilityErrorMessage.errors.txt | 73 ++++++++++ .../typeAssignabilityErrorMessage.symbols | 105 ++++++++++++++ .../typeAssignabilityErrorMessage.types | 124 +++++++++++++++++ .../typeComparisonCaching.errors.txt | 8 +- .../typeGuardFunctionErrors.errors.txt | 8 ++ ...peGuardFunctionOfFormThisErrors.errors.txt | 10 +- .../baselines/reference/typeMatch2.errors.txt | 3 + .../typeParamExtendsOtherTypeParam.errors.txt | 3 + .../typeParameterAssignmentCompat1.errors.txt | 15 ++ .../types.asyncGenerators.es2018.2.errors.txt | 128 +++++++++++++++--- .../unionTypeCallSignatures6.errors.txt | 4 + ...unionTypeErrorMessageTypeRefs01.errors.txt | 15 +- ...eWithRecursiveSubtypeReduction2.errors.txt | 7 + .../unionTypesAssignability.errors.txt | 20 +-- .../reference/varianceAnnotations.errors.txt | 5 +- .../compiler/typeAssignabilityErrorMessage.ts | 46 +++++++ 84 files changed, 1183 insertions(+), 246 deletions(-) create mode 100644 tests/baselines/reference/typeAssignabilityErrorMessage.errors.txt create mode 100644 tests/baselines/reference/typeAssignabilityErrorMessage.symbols create mode 100644 tests/baselines/reference/typeAssignabilityErrorMessage.types create mode 100644 tests/cases/compiler/typeAssignabilityErrorMessage.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 64e7ca0a816..17eaf34b0a3 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -21464,7 +21464,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } const id = getSymbolId(sourceSymbol) + "," + getSymbolId(targetSymbol); const entry = enumRelation.get(id); - if (entry !== undefined && !(!(entry & RelationComparisonResult.Reported) && entry & RelationComparisonResult.Failed && errorReporter)) { + if (entry !== undefined && !(entry & RelationComparisonResult.Failed && errorReporter)) { return !!(entry & RelationComparisonResult.Succeeded); } const targetEnumType = getTypeOfSymbol(targetSymbol); @@ -21474,11 +21474,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (!targetProperty || !(targetProperty.flags & SymbolFlags.EnumMember)) { if (errorReporter) { errorReporter(Diagnostics.Property_0_is_missing_in_type_1, symbolName(sourceProperty), typeToString(getDeclaredTypeOfSymbol(targetSymbol), /*enclosingDeclaration*/ undefined, TypeFormatFlags.UseFullyQualifiedType)); - enumRelation.set(id, RelationComparisonResult.Failed | RelationComparisonResult.Reported); - } - else { - enumRelation.set(id, RelationComparisonResult.Failed); } + enumRelation.set(id, RelationComparisonResult.Failed); return false; } const sourceValue = getEnumMemberValue(getDeclarationOfKind(sourceProperty, SyntaxKind.EnumMember)!).value; @@ -21489,15 +21486,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // If we have 2 enums with *known* values that differ, they are incompatible. if (sourceValue !== undefined && targetValue !== undefined) { - if (!errorReporter) { - enumRelation.set(id, RelationComparisonResult.Failed); - } - else { + if (errorReporter) { const escapedSource = sourceIsString ? `"${escapeString(sourceValue)}"` : sourceValue; const escapedTarget = targetIsString ? `"${escapeString(targetValue)}"` : targetValue; errorReporter(Diagnostics.Each_declaration_of_0_1_differs_in_its_value_where_2_was_expected_but_3_was_given, symbolName(targetSymbol), symbolName(targetProperty), escapedTarget, escapedSource); - enumRelation.set(id, RelationComparisonResult.Failed | RelationComparisonResult.Reported); } + enumRelation.set(id, RelationComparisonResult.Failed); return false; } @@ -21508,16 +21502,13 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // Either way, we can assume that it's numeric. // If the other is a string, we have a mismatch in types. if (sourceIsString || targetIsString) { - if (!errorReporter) { - enumRelation.set(id, RelationComparisonResult.Failed); - } - else { + if (errorReporter) { const knownStringValue = sourceValue ?? targetValue; Debug.assert(typeof knownStringValue === "string"); const escapedValue = `"${escapeString(knownStringValue)}"`; errorReporter(Diagnostics.One_value_of_0_1_is_the_string_2_and_the_other_is_assumed_to_be_an_unknown_numeric_value, symbolName(targetSymbol), symbolName(targetProperty), escapedValue); - enumRelation.set(id, RelationComparisonResult.Failed | RelationComparisonResult.Reported); } + enumRelation.set(id, RelationComparisonResult.Failed); return false; } } @@ -21716,7 +21707,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (overflow) { // Record this relation as having failed such that we don't attempt the overflowing operation again. const id = getRelationKey(source, target, /*intersectionState*/ IntersectionState.None, relation, /*ignoreConstraints*/ false); - relation.set(id, RelationComparisonResult.Reported | RelationComparisonResult.Failed); + relation.set(id, RelationComparisonResult.Failed | (relationCount <= 0 ? RelationComparisonResult.ComplexityOverflow : RelationComparisonResult.StackDepthOverflow)); tracing?.instant(tracing.Phase.CheckTypes, "checkTypeRelatedTo_DepthLimit", { sourceId: source.id, targetId: target.id, depth: sourceDepth, targetDepth }); const message = relationCount <= 0 ? Diagnostics.Excessive_complexity_comparing_types_0_and_1 : @@ -22617,9 +22608,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const id = getRelationKey(source, target, intersectionState, relation, /*ignoreConstraints*/ false); const entry = relation.get(id); if (entry !== undefined) { - if (reportErrors && entry & RelationComparisonResult.Failed && !(entry & RelationComparisonResult.Reported)) { - // We are elaborating errors and the cached result is an unreported failure. The result will be reported - // as a failure, and should be updated as a reported failure by the bottom of this function. + if (reportErrors && entry & RelationComparisonResult.Failed && !(entry & RelationComparisonResult.Overflow)) { + // We are elaborating errors and the cached result is a failure not due to a comparison overflow, + // so we will do the comparison again to generate an error message. } else { if (outofbandVarianceMarkerHandler) { @@ -22632,6 +22623,13 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { instantiateType(source, reportUnreliableMapper); } } + if (reportErrors && entry & RelationComparisonResult.Overflow) { + const message = entry & RelationComparisonResult.ComplexityOverflow ? + Diagnostics.Excessive_complexity_comparing_types_0_and_1 : + Diagnostics.Excessive_stack_depth_comparing_types_0_and_1; + reportError(message, typeToString(source), typeToString(target)); + overrideNextErrorInfo++; + } return entry & RelationComparisonResult.Succeeded ? Ternary.True : Ternary.False; } } @@ -22735,7 +22733,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { else { // A false result goes straight into global cache (when something is false under // assumptions it will also be false without assumptions) - relation.set(id, (reportErrors ? RelationComparisonResult.Reported : 0) | RelationComparisonResult.Failed | propagatingVarianceFlags); + relation.set(id, RelationComparisonResult.Failed | propagatingVarianceFlags); relationCount--; resetMaybeStack(/*markAllAsSucceeded*/ false); } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 6d8a864c30f..de1d15c4385 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -913,11 +913,14 @@ export const enum RelationComparisonResult { None = 0, Succeeded = 1 << 0, // Should be truthy Failed = 1 << 1, - Reported = 1 << 2, ReportsUnmeasurable = 1 << 3, ReportsUnreliable = 1 << 4, ReportsMask = ReportsUnmeasurable | ReportsUnreliable, + + ComplexityOverflow = 1 << 5, + StackDepthOverflow = 1 << 6, + Overflow = ComplexityOverflow | StackDepthOverflow, } /** @internal */ diff --git a/tests/baselines/reference/arrayFrom.errors.txt b/tests/baselines/reference/arrayFrom.errors.txt index 62f3045196e..db80bc19f5b 100644 --- a/tests/baselines/reference/arrayFrom.errors.txt +++ b/tests/baselines/reference/arrayFrom.errors.txt @@ -1,6 +1,7 @@ arrayFrom.ts(20,7): error TS2322: Type 'A[]' is not assignable to type 'B[]'. Property 'b' is missing in type 'A' but required in type 'B'. arrayFrom.ts(23,7): error TS2322: Type 'A[]' is not assignable to type 'B[]'. + Property 'b' is missing in type 'A' but required in type 'B'. ==== arrayFrom.ts (2 errors) ==== @@ -33,6 +34,8 @@ arrayFrom.ts(23,7): error TS2322: Type 'A[]' is not assignable to type 'B[]'. const result6: B[] = Array.from(inputALike); // expect error ~~~~~~~ !!! error TS2322: Type 'A[]' is not assignable to type 'B[]'. +!!! error TS2322: Property 'b' is missing in type 'A' but required in type 'B'. +!!! related TS2728 arrayFrom.ts:9:3: 'b' is declared here. const result7: B[] = Array.from(inputALike, ({ a }): B => ({ b: a })); const result8: A[] = Array.from(inputARand); const result9: B[] = Array.from(inputARand, ({ a }): B => ({ b: a })); diff --git a/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.errors.txt b/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.errors.txt index 1b2f7b62be0..0c485b9253c 100644 --- a/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.errors.txt +++ b/tests/baselines/reference/arrayOfSubtypeIsAssignableToReadonlyArray.errors.txt @@ -3,7 +3,7 @@ arrayOfSubtypeIsAssignableToReadonlyArray.ts(13,1): error TS2322: Type 'A[]' is arrayOfSubtypeIsAssignableToReadonlyArray.ts(18,1): error TS2322: Type 'C' is not assignable to type 'readonly B[]'. The types returned by 'concat(...)' are incompatible between these types. Type 'A[]' is not assignable to type 'B[]'. - Type 'A' is not assignable to type 'B'. + Property 'b' is missing in type 'A' but required in type 'B'. ==== arrayOfSubtypeIsAssignableToReadonlyArray.ts (2 errors) ==== @@ -33,5 +33,6 @@ arrayOfSubtypeIsAssignableToReadonlyArray.ts(18,1): error TS2322: Type 'C' is !!! error TS2322: Type 'C' is not assignable to type 'readonly B[]'. !!! error TS2322: The types returned by 'concat(...)' are incompatible between these types. !!! error TS2322: Type 'A[]' is not assignable to type 'B[]'. -!!! error TS2322: Type 'A' is not assignable to type 'B'. +!!! error TS2322: Property 'b' is missing in type 'A' but required in type 'B'. +!!! related TS2728 arrayOfSubtypeIsAssignableToReadonlyArray.ts:2:21: 'b' is declared here. \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer.errors.txt b/tests/baselines/reference/assignmentCompatWithNumericIndexer.errors.txt index 60335630beb..f990fc308dc 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer.errors.txt @@ -11,7 +11,7 @@ assignmentCompatWithNumericIndexer.ts(32,9): error TS2322: Type '{ [x: number]: assignmentCompatWithNumericIndexer.ts(33,9): error TS2322: Type 'A' is not assignable to type '{ [x: number]: Derived; }'. 'number' index signatures are incompatible. Type 'T' is not assignable to type 'Derived'. - Type 'Base' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Base' but required in type 'Derived'. assignmentCompatWithNumericIndexer.ts(36,9): error TS2322: Type '{ [x: number]: Derived2; }' is not assignable to type 'A'. 'number' index signatures are incompatible. Type 'Derived2' is not assignable to type 'T'. @@ -19,7 +19,7 @@ assignmentCompatWithNumericIndexer.ts(36,9): error TS2322: Type '{ [x: number]: assignmentCompatWithNumericIndexer.ts(37,9): error TS2322: Type 'A' is not assignable to type '{ [x: number]: Derived2; }'. 'number' index signatures are incompatible. Type 'T' is not assignable to type 'Derived2'. - Type 'Base' is not assignable to type 'Derived2'. + Type 'Base' is missing the following properties from type 'Derived2': baz, bar ==== assignmentCompatWithNumericIndexer.ts (6 errors) ==== @@ -74,7 +74,8 @@ assignmentCompatWithNumericIndexer.ts(37,9): error TS2322: Type 'A' is not as !!! error TS2322: Type 'A' is not assignable to type '{ [x: number]: Derived; }'. !!! error TS2322: 'number' index signatures are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'Derived'. -!!! error TS2322: Type 'Base' is not assignable to type 'Derived'. +!!! error TS2322: Property 'bar' is missing in type 'Base' but required in type 'Derived'. +!!! related TS2728 assignmentCompatWithNumericIndexer.ts:4:34: 'bar' is declared here. var b2: { [x: number]: Derived2; } a = b2; // error @@ -88,7 +89,7 @@ assignmentCompatWithNumericIndexer.ts(37,9): error TS2322: Type 'A' is not as !!! error TS2322: Type 'A' is not assignable to type '{ [x: number]: Derived2; }'. !!! error TS2322: 'number' index signatures are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'Derived2'. -!!! error TS2322: Type 'Base' is not assignable to type 'Derived2'. +!!! error TS2322: Type 'Base' is missing the following properties from type 'Derived2': baz, bar var b3: { [x: number]: T; } a = b3; // ok diff --git a/tests/baselines/reference/assignmentCompatWithNumericIndexer2.errors.txt b/tests/baselines/reference/assignmentCompatWithNumericIndexer2.errors.txt index 019fcf237be..0afe61148c6 100644 --- a/tests/baselines/reference/assignmentCompatWithNumericIndexer2.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithNumericIndexer2.errors.txt @@ -11,7 +11,7 @@ assignmentCompatWithNumericIndexer2.ts(32,9): error TS2322: Type '{ [x: number]: assignmentCompatWithNumericIndexer2.ts(33,9): error TS2322: Type 'A' is not assignable to type '{ [x: number]: Derived; }'. 'number' index signatures are incompatible. Type 'T' is not assignable to type 'Derived'. - Type 'Base' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Base' but required in type 'Derived'. assignmentCompatWithNumericIndexer2.ts(36,9): error TS2322: Type '{ [x: number]: Derived2; }' is not assignable to type 'A'. 'number' index signatures are incompatible. Type 'Derived2' is not assignable to type 'T'. @@ -19,7 +19,7 @@ assignmentCompatWithNumericIndexer2.ts(36,9): error TS2322: Type '{ [x: number]: assignmentCompatWithNumericIndexer2.ts(37,9): error TS2322: Type 'A' is not assignable to type '{ [x: number]: Derived2; }'. 'number' index signatures are incompatible. Type 'T' is not assignable to type 'Derived2'. - Type 'Base' is not assignable to type 'Derived2'. + Type 'Base' is missing the following properties from type 'Derived2': baz, bar ==== assignmentCompatWithNumericIndexer2.ts (6 errors) ==== @@ -74,7 +74,8 @@ assignmentCompatWithNumericIndexer2.ts(37,9): error TS2322: Type 'A' is not a !!! error TS2322: Type 'A' is not assignable to type '{ [x: number]: Derived; }'. !!! error TS2322: 'number' index signatures are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'Derived'. -!!! error TS2322: Type 'Base' is not assignable to type 'Derived'. +!!! error TS2322: Property 'bar' is missing in type 'Base' but required in type 'Derived'. +!!! related TS2728 assignmentCompatWithNumericIndexer2.ts:4:34: 'bar' is declared here. var b2: { [x: number]: Derived2; } a = b2; // error @@ -88,7 +89,7 @@ assignmentCompatWithNumericIndexer2.ts(37,9): error TS2322: Type 'A' is not a !!! error TS2322: Type 'A' is not assignable to type '{ [x: number]: Derived2; }'. !!! error TS2322: 'number' index signatures are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'Derived2'. -!!! error TS2322: Type 'Base' is not assignable to type 'Derived2'. +!!! error TS2322: Type 'Base' is missing the following properties from type 'Derived2': baz, bar var b3: { [x: number]: T; } a = b3; // ok diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembers4.errors.txt b/tests/baselines/reference/assignmentCompatWithObjectMembers4.errors.txt index 861a8174328..72885e82376 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembers4.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithObjectMembers4.errors.txt @@ -6,49 +6,49 @@ assignmentCompatWithObjectMembers4.ts(25,5): error TS2322: Type 'S' is not assig Property 'baz' is missing in type 'Derived' but required in type 'Derived2'. assignmentCompatWithObjectMembers4.ts(29,5): error TS2322: Type 'T2' is not assignable to type 'S2'. Types of property 'foo' are incompatible. - Type 'Derived2' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. assignmentCompatWithObjectMembers4.ts(30,5): error TS2322: Type 'S2' is not assignable to type 'T2'. Types of property 'foo' are incompatible. - Type 'Derived' is not assignable to type 'Derived2'. + Property 'baz' is missing in type 'Derived' but required in type 'Derived2'. assignmentCompatWithObjectMembers4.ts(31,5): error TS2322: Type 'T' is not assignable to type 'S2'. Types of property 'foo' are incompatible. - Type 'Derived2' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. assignmentCompatWithObjectMembers4.ts(32,5): error TS2322: Type '{ foo: Derived2; }' is not assignable to type 'S2'. Types of property 'foo' are incompatible. - Type 'Derived2' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. assignmentCompatWithObjectMembers4.ts(35,5): error TS2322: Type '{ foo: Derived2; }' is not assignable to type '{ foo: Derived; }'. Types of property 'foo' are incompatible. - Type 'Derived2' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. assignmentCompatWithObjectMembers4.ts(36,5): error TS2322: Type '{ foo: Derived; }' is not assignable to type '{ foo: Derived2; }'. Types of property 'foo' are incompatible. - Type 'Derived' is not assignable to type 'Derived2'. + Property 'baz' is missing in type 'Derived' but required in type 'Derived2'. assignmentCompatWithObjectMembers4.ts(41,5): error TS2322: Type '{ foo: Derived2; }' is not assignable to type '{ foo: Derived; }'. Types of property 'foo' are incompatible. - Type 'Derived2' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. assignmentCompatWithObjectMembers4.ts(42,5): error TS2322: Type '{ foo: Derived; }' is not assignable to type '{ foo: Derived2; }'. Types of property 'foo' are incompatible. - Type 'Derived' is not assignable to type 'Derived2'. + Property 'baz' is missing in type 'Derived' but required in type 'Derived2'. assignmentCompatWithObjectMembers4.ts(43,5): error TS2322: Type '{ foo: Derived2; }' is not assignable to type '{ foo: Derived; }'. Types of property 'foo' are incompatible. - Type 'Derived2' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. assignmentCompatWithObjectMembers4.ts(44,5): error TS2322: Type 'T2' is not assignable to type '{ foo: Derived; }'. Types of property 'foo' are incompatible. - Type 'Derived2' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. assignmentCompatWithObjectMembers4.ts(45,5): error TS2322: Type 'T' is not assignable to type '{ foo: Derived; }'. Types of property 'foo' are incompatible. - Type 'Derived2' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. assignmentCompatWithObjectMembers4.ts(70,5): error TS2322: Type 'S' is not assignable to type 'T'. Types of property 'foo' are incompatible. Property 'baz' is missing in type 'Base' but required in type 'Derived2'. assignmentCompatWithObjectMembers4.ts(75,5): error TS2322: Type 'S2' is not assignable to type 'T2'. Types of property 'foo' are incompatible. - Type 'Base' is not assignable to type 'Derived2'. + Property 'baz' is missing in type 'Base' but required in type 'Derived2'. assignmentCompatWithObjectMembers4.ts(81,5): error TS2322: Type '{ foo: Base; }' is not assignable to type '{ foo: Derived2; }'. Types of property 'foo' are incompatible. - Type 'Base' is not assignable to type 'Derived2'. + Property 'baz' is missing in type 'Base' but required in type 'Derived2'. assignmentCompatWithObjectMembers4.ts(87,5): error TS2322: Type '{ foo: Base; }' is not assignable to type '{ foo: Derived2; }'. Types of property 'foo' are incompatible. - Type 'Base' is not assignable to type 'Derived2'. + Property 'baz' is missing in type 'Base' but required in type 'Derived2'. ==== assignmentCompatWithObjectMembers4.ts (17 errors) ==== @@ -94,34 +94,40 @@ assignmentCompatWithObjectMembers4.ts(87,5): error TS2322: Type '{ foo: Base; }' ~~ !!! error TS2322: Type 'T2' is not assignable to type 'S2'. !!! error TS2322: Types of property 'foo' are incompatible. -!!! error TS2322: Type 'Derived2' is not assignable to type 'Derived'. +!!! error TS2322: Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. +!!! related TS2728 assignmentCompatWithObjectMembers4.ts:5:34: 'bar' is declared here. t2 = s2; // error ~~ !!! error TS2322: Type 'S2' is not assignable to type 'T2'. !!! error TS2322: Types of property 'foo' are incompatible. -!!! error TS2322: Type 'Derived' is not assignable to type 'Derived2'. +!!! error TS2322: Property 'baz' is missing in type 'Derived' but required in type 'Derived2'. +!!! related TS2728 assignmentCompatWithObjectMembers4.ts:6:35: 'baz' is declared here. s2 = t; // error ~~ !!! error TS2322: Type 'T' is not assignable to type 'S2'. !!! error TS2322: Types of property 'foo' are incompatible. -!!! error TS2322: Type 'Derived2' is not assignable to type 'Derived'. +!!! error TS2322: Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. +!!! related TS2728 assignmentCompatWithObjectMembers4.ts:5:34: 'bar' is declared here. s2 = b; // error ~~ !!! error TS2322: Type '{ foo: Derived2; }' is not assignable to type 'S2'. !!! error TS2322: Types of property 'foo' are incompatible. -!!! error TS2322: Type 'Derived2' is not assignable to type 'Derived'. +!!! error TS2322: Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. +!!! related TS2728 assignmentCompatWithObjectMembers4.ts:5:34: 'bar' is declared here. s2 = a2; // ok a = b; // error ~ !!! error TS2322: Type '{ foo: Derived2; }' is not assignable to type '{ foo: Derived; }'. !!! error TS2322: Types of property 'foo' are incompatible. -!!! error TS2322: Type 'Derived2' is not assignable to type 'Derived'. +!!! error TS2322: Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. +!!! related TS2728 assignmentCompatWithObjectMembers4.ts:5:34: 'bar' is declared here. b = a; // error ~ !!! error TS2322: Type '{ foo: Derived; }' is not assignable to type '{ foo: Derived2; }'. !!! error TS2322: Types of property 'foo' are incompatible. -!!! error TS2322: Type 'Derived' is not assignable to type 'Derived2'. +!!! error TS2322: Property 'baz' is missing in type 'Derived' but required in type 'Derived2'. +!!! related TS2728 assignmentCompatWithObjectMembers4.ts:6:35: 'baz' is declared here. a = s; // ok a = s2; // ok a = a2; // ok @@ -130,27 +136,32 @@ assignmentCompatWithObjectMembers4.ts(87,5): error TS2322: Type '{ foo: Base; }' ~~ !!! error TS2322: Type '{ foo: Derived2; }' is not assignable to type '{ foo: Derived; }'. !!! error TS2322: Types of property 'foo' are incompatible. -!!! error TS2322: Type 'Derived2' is not assignable to type 'Derived'. +!!! error TS2322: Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. +!!! related TS2728 assignmentCompatWithObjectMembers4.ts:5:34: 'bar' is declared here. b2 = a2; // error ~~ !!! error TS2322: Type '{ foo: Derived; }' is not assignable to type '{ foo: Derived2; }'. !!! error TS2322: Types of property 'foo' are incompatible. -!!! error TS2322: Type 'Derived' is not assignable to type 'Derived2'. +!!! error TS2322: Property 'baz' is missing in type 'Derived' but required in type 'Derived2'. +!!! related TS2728 assignmentCompatWithObjectMembers4.ts:6:35: 'baz' is declared here. a2 = b; // error ~~ !!! error TS2322: Type '{ foo: Derived2; }' is not assignable to type '{ foo: Derived; }'. !!! error TS2322: Types of property 'foo' are incompatible. -!!! error TS2322: Type 'Derived2' is not assignable to type 'Derived'. +!!! error TS2322: Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. +!!! related TS2728 assignmentCompatWithObjectMembers4.ts:5:34: 'bar' is declared here. a2 = t2; // error ~~ !!! error TS2322: Type 'T2' is not assignable to type '{ foo: Derived; }'. !!! error TS2322: Types of property 'foo' are incompatible. -!!! error TS2322: Type 'Derived2' is not assignable to type 'Derived'. +!!! error TS2322: Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. +!!! related TS2728 assignmentCompatWithObjectMembers4.ts:5:34: 'bar' is declared here. a2 = t; // error ~~ !!! error TS2322: Type 'T' is not assignable to type '{ foo: Derived; }'. !!! error TS2322: Types of property 'foo' are incompatible. -!!! error TS2322: Type 'Derived2' is not assignable to type 'Derived'. +!!! error TS2322: Property 'bar' is missing in type 'Derived2' but required in type 'Derived'. +!!! related TS2728 assignmentCompatWithObjectMembers4.ts:5:34: 'bar' is declared here. } module WithBase { @@ -189,7 +200,8 @@ assignmentCompatWithObjectMembers4.ts(87,5): error TS2322: Type '{ foo: Base; }' ~~ !!! error TS2322: Type 'S2' is not assignable to type 'T2'. !!! error TS2322: Types of property 'foo' are incompatible. -!!! error TS2322: Type 'Base' is not assignable to type 'Derived2'. +!!! error TS2322: Property 'baz' is missing in type 'Base' but required in type 'Derived2'. +!!! related TS2728 assignmentCompatWithObjectMembers4.ts:51:35: 'baz' is declared here. s2 = t; // ok s2 = b; // ok s2 = a2; // ok @@ -199,7 +211,8 @@ assignmentCompatWithObjectMembers4.ts(87,5): error TS2322: Type '{ foo: Base; }' ~ !!! error TS2322: Type '{ foo: Base; }' is not assignable to type '{ foo: Derived2; }'. !!! error TS2322: Types of property 'foo' are incompatible. -!!! error TS2322: Type 'Base' is not assignable to type 'Derived2'. +!!! error TS2322: Property 'baz' is missing in type 'Base' but required in type 'Derived2'. +!!! related TS2728 assignmentCompatWithObjectMembers4.ts:51:35: 'baz' is declared here. a = s; // ok a = s2; // ok a = a2; // ok @@ -209,7 +222,8 @@ assignmentCompatWithObjectMembers4.ts(87,5): error TS2322: Type '{ foo: Base; }' ~~ !!! error TS2322: Type '{ foo: Base; }' is not assignable to type '{ foo: Derived2; }'. !!! error TS2322: Types of property 'foo' are incompatible. -!!! error TS2322: Type 'Base' is not assignable to type 'Derived2'. +!!! error TS2322: Property 'baz' is missing in type 'Base' but required in type 'Derived2'. +!!! related TS2728 assignmentCompatWithObjectMembers4.ts:51:35: 'baz' is declared here. a2 = b; // ok a2 = t2; // ok a2 = t; // ok diff --git a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.errors.txt b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.errors.txt index 654349412cc..1a1a1012004 100644 --- a/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithObjectMembersAccessibility.errors.txt @@ -17,6 +17,7 @@ assignmentCompatWithObjectMembersAccessibility.ts(51,5): error TS2322: Type 'D' assignmentCompatWithObjectMembersAccessibility.ts(81,5): error TS2322: Type 'Base' is not assignable to type '{ foo: string; }'. Property 'foo' is private in type 'Base' but not in type '{ foo: string; }'. assignmentCompatWithObjectMembersAccessibility.ts(82,5): error TS2322: Type 'I' is not assignable to type '{ foo: string; }'. + Property 'foo' is private in type 'Base' but not in type '{ foo: string; }'. assignmentCompatWithObjectMembersAccessibility.ts(84,5): error TS2322: Type 'E' is not assignable to type '{ foo: string; }'. Property 'foo' is private in type 'E' but not in type '{ foo: string; }'. assignmentCompatWithObjectMembersAccessibility.ts(86,5): error TS2322: Type '{ foo: string; }' is not assignable to type 'Base'. @@ -26,11 +27,15 @@ assignmentCompatWithObjectMembersAccessibility.ts(88,5): error TS2322: Type 'D' assignmentCompatWithObjectMembersAccessibility.ts(89,5): error TS2322: Type 'E' is not assignable to type 'Base'. Types have separate declarations of a private property 'foo'. assignmentCompatWithObjectMembersAccessibility.ts(92,5): error TS2322: Type '{ foo: string; }' is not assignable to type 'I'. + Property 'foo' is private in type 'Base' but not in type '{ foo: string; }'. assignmentCompatWithObjectMembersAccessibility.ts(94,5): error TS2322: Type 'D' is not assignable to type 'I'. + Property 'foo' is private in type 'Base' but not in type 'D'. assignmentCompatWithObjectMembersAccessibility.ts(95,5): error TS2322: Type 'E' is not assignable to type 'I'. + Types have separate declarations of a private property 'foo'. assignmentCompatWithObjectMembersAccessibility.ts(99,5): error TS2322: Type 'Base' is not assignable to type 'D'. Property 'foo' is private in type 'Base' but not in type 'D'. assignmentCompatWithObjectMembersAccessibility.ts(100,5): error TS2322: Type 'I' is not assignable to type 'D'. + Property 'foo' is private in type 'Base' but not in type 'D'. assignmentCompatWithObjectMembersAccessibility.ts(101,5): error TS2322: Type 'E' is not assignable to type 'D'. Property 'foo' is private in type 'E' but not in type 'D'. assignmentCompatWithObjectMembersAccessibility.ts(103,5): error TS2322: Type '{ foo: string; }' is not assignable to type 'E'. @@ -38,6 +43,7 @@ assignmentCompatWithObjectMembersAccessibility.ts(103,5): error TS2322: Type '{ assignmentCompatWithObjectMembersAccessibility.ts(104,5): error TS2322: Type 'Base' is not assignable to type 'E'. Types have separate declarations of a private property 'foo'. assignmentCompatWithObjectMembersAccessibility.ts(105,5): error TS2322: Type 'I' is not assignable to type 'E'. + Types have separate declarations of a private property 'foo'. assignmentCompatWithObjectMembersAccessibility.ts(106,5): error TS2322: Type 'D' is not assignable to type 'E'. Property 'foo' is private in type 'E' but not in type 'D'. @@ -154,6 +160,7 @@ assignmentCompatWithObjectMembersAccessibility.ts(106,5): error TS2322: Type 'D' a = i; // error ~ !!! error TS2322: Type 'I' is not assignable to type '{ foo: string; }'. +!!! error TS2322: Property 'foo' is private in type 'Base' but not in type '{ foo: string; }'. a = d; a = e; // error ~ @@ -178,13 +185,16 @@ assignmentCompatWithObjectMembersAccessibility.ts(106,5): error TS2322: Type 'D' i = a; // error ~ !!! error TS2322: Type '{ foo: string; }' is not assignable to type 'I'. +!!! error TS2322: Property 'foo' is private in type 'Base' but not in type '{ foo: string; }'. i = b; i = d; // error ~ !!! error TS2322: Type 'D' is not assignable to type 'I'. +!!! error TS2322: Property 'foo' is private in type 'Base' but not in type 'D'. i = e; // error ~ !!! error TS2322: Type 'E' is not assignable to type 'I'. +!!! error TS2322: Types have separate declarations of a private property 'foo'. i = i; d = a; @@ -195,6 +205,7 @@ assignmentCompatWithObjectMembersAccessibility.ts(106,5): error TS2322: Type 'D' d = i; // error ~ !!! error TS2322: Type 'I' is not assignable to type 'D'. +!!! error TS2322: Property 'foo' is private in type 'Base' but not in type 'D'. d = e; // error ~ !!! error TS2322: Type 'E' is not assignable to type 'D'. @@ -211,6 +222,7 @@ assignmentCompatWithObjectMembersAccessibility.ts(106,5): error TS2322: Type 'D' e = i; // errror ~ !!! error TS2322: Type 'I' is not assignable to type 'E'. +!!! error TS2322: Types have separate declarations of a private property 'foo'. e = d; // errror ~ !!! error TS2322: Type 'D' is not assignable to type 'E'. diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer.errors.txt b/tests/baselines/reference/assignmentCompatWithStringIndexer.errors.txt index cb6e1cf7a01..ea6734d5a86 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer.errors.txt @@ -6,10 +6,10 @@ assignmentCompatWithStringIndexer.ts(19,1): error TS2322: Type 'A' is not assign Type 'Base' is missing the following properties from type 'Derived2': baz, bar assignmentCompatWithStringIndexer.ts(33,5): error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived; }'. 'string' index signatures are incompatible. - Type 'Base' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Base' but required in type 'Derived'. assignmentCompatWithStringIndexer.ts(41,5): error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived2; }'. 'string' index signatures are incompatible. - Type 'Base' is not assignable to type 'Derived2'. + Type 'Base' is missing the following properties from type 'Derived2': baz, bar assignmentCompatWithStringIndexer.ts(46,9): error TS2322: Type '{ [x: string]: Derived; }' is not assignable to type 'A'. 'string' index signatures are incompatible. Type 'Derived' is not assignable to type 'T'. @@ -17,7 +17,7 @@ assignmentCompatWithStringIndexer.ts(46,9): error TS2322: Type '{ [x: string]: D assignmentCompatWithStringIndexer.ts(47,9): error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived; }'. 'string' index signatures are incompatible. Type 'T' is not assignable to type 'Derived'. - Type 'Base' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Base' but required in type 'Derived'. assignmentCompatWithStringIndexer.ts(50,9): error TS2322: Type '{ [x: string]: Derived2; }' is not assignable to type 'A'. 'string' index signatures are incompatible. Type 'Derived2' is not assignable to type 'T'. @@ -25,7 +25,7 @@ assignmentCompatWithStringIndexer.ts(50,9): error TS2322: Type '{ [x: string]: D assignmentCompatWithStringIndexer.ts(51,9): error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived2; }'. 'string' index signatures are incompatible. Type 'T' is not assignable to type 'Derived2'. - Type 'Base' is not assignable to type 'Derived2'. + Type 'Base' is missing the following properties from type 'Derived2': baz, bar ==== assignmentCompatWithStringIndexer.ts (8 errors) ==== @@ -74,7 +74,8 @@ assignmentCompatWithStringIndexer.ts(51,9): error TS2322: Type 'A' is not ass ~~ !!! error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived; }'. !!! error TS2322: 'string' index signatures are incompatible. -!!! error TS2322: Type 'Base' is not assignable to type 'Derived'. +!!! error TS2322: Property 'bar' is missing in type 'Base' but required in type 'Derived'. +!!! related TS2728 assignmentCompatWithStringIndexer.ts:4:34: 'bar' is declared here. class B2 extends A { [x: string]: Derived2; // ok @@ -86,7 +87,7 @@ assignmentCompatWithStringIndexer.ts(51,9): error TS2322: Type 'A' is not ass ~~ !!! error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived2; }'. !!! error TS2322: 'string' index signatures are incompatible. -!!! error TS2322: Type 'Base' is not assignable to type 'Derived2'. +!!! error TS2322: Type 'Base' is missing the following properties from type 'Derived2': baz, bar function foo() { var b3: { [x: string]: Derived; }; @@ -102,7 +103,8 @@ assignmentCompatWithStringIndexer.ts(51,9): error TS2322: Type 'A' is not ass !!! error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived; }'. !!! error TS2322: 'string' index signatures are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'Derived'. -!!! error TS2322: Type 'Base' is not assignable to type 'Derived'. +!!! error TS2322: Property 'bar' is missing in type 'Base' but required in type 'Derived'. +!!! related TS2728 assignmentCompatWithStringIndexer.ts:4:34: 'bar' is declared here. var b4: { [x: string]: Derived2; }; a3 = b4; // error @@ -116,6 +118,6 @@ assignmentCompatWithStringIndexer.ts(51,9): error TS2322: Type 'A' is not ass !!! error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived2; }'. !!! error TS2322: 'string' index signatures are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'Derived2'. -!!! error TS2322: Type 'Base' is not assignable to type 'Derived2'. +!!! error TS2322: Type 'Base' is missing the following properties from type 'Derived2': baz, bar } } \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatWithStringIndexer2.errors.txt b/tests/baselines/reference/assignmentCompatWithStringIndexer2.errors.txt index 5f76ae541c9..c330a9fa38b 100644 --- a/tests/baselines/reference/assignmentCompatWithStringIndexer2.errors.txt +++ b/tests/baselines/reference/assignmentCompatWithStringIndexer2.errors.txt @@ -6,10 +6,10 @@ assignmentCompatWithStringIndexer2.ts(19,1): error TS2322: Type 'A' is not assig Type 'Base' is missing the following properties from type 'Derived2': baz, bar assignmentCompatWithStringIndexer2.ts(33,5): error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived; }'. 'string' index signatures are incompatible. - Type 'Base' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Base' but required in type 'Derived'. assignmentCompatWithStringIndexer2.ts(41,5): error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived2; }'. 'string' index signatures are incompatible. - Type 'Base' is not assignable to type 'Derived2'. + Type 'Base' is missing the following properties from type 'Derived2': baz, bar assignmentCompatWithStringIndexer2.ts(46,9): error TS2322: Type '{ [x: string]: Derived; }' is not assignable to type 'A'. 'string' index signatures are incompatible. Type 'Derived' is not assignable to type 'T'. @@ -17,7 +17,7 @@ assignmentCompatWithStringIndexer2.ts(46,9): error TS2322: Type '{ [x: string]: assignmentCompatWithStringIndexer2.ts(47,9): error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived; }'. 'string' index signatures are incompatible. Type 'T' is not assignable to type 'Derived'. - Type 'Base' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Base' but required in type 'Derived'. assignmentCompatWithStringIndexer2.ts(50,9): error TS2322: Type '{ [x: string]: Derived2; }' is not assignable to type 'A'. 'string' index signatures are incompatible. Type 'Derived2' is not assignable to type 'T'. @@ -25,7 +25,7 @@ assignmentCompatWithStringIndexer2.ts(50,9): error TS2322: Type '{ [x: string]: assignmentCompatWithStringIndexer2.ts(51,9): error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived2; }'. 'string' index signatures are incompatible. Type 'T' is not assignable to type 'Derived2'. - Type 'Base' is not assignable to type 'Derived2'. + Type 'Base' is missing the following properties from type 'Derived2': baz, bar ==== assignmentCompatWithStringIndexer2.ts (8 errors) ==== @@ -74,7 +74,8 @@ assignmentCompatWithStringIndexer2.ts(51,9): error TS2322: Type 'A' is not as ~~ !!! error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived; }'. !!! error TS2322: 'string' index signatures are incompatible. -!!! error TS2322: Type 'Base' is not assignable to type 'Derived'. +!!! error TS2322: Property 'bar' is missing in type 'Base' but required in type 'Derived'. +!!! related TS2728 assignmentCompatWithStringIndexer2.ts:4:34: 'bar' is declared here. interface B2 extends A { [x: string]: Derived2; // ok @@ -86,7 +87,7 @@ assignmentCompatWithStringIndexer2.ts(51,9): error TS2322: Type 'A' is not as ~~ !!! error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived2; }'. !!! error TS2322: 'string' index signatures are incompatible. -!!! error TS2322: Type 'Base' is not assignable to type 'Derived2'. +!!! error TS2322: Type 'Base' is missing the following properties from type 'Derived2': baz, bar function foo() { var b3: { [x: string]: Derived; }; @@ -102,7 +103,8 @@ assignmentCompatWithStringIndexer2.ts(51,9): error TS2322: Type 'A' is not as !!! error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived; }'. !!! error TS2322: 'string' index signatures are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'Derived'. -!!! error TS2322: Type 'Base' is not assignable to type 'Derived'. +!!! error TS2322: Property 'bar' is missing in type 'Base' but required in type 'Derived'. +!!! related TS2728 assignmentCompatWithStringIndexer2.ts:4:34: 'bar' is declared here. var b4: { [x: string]: Derived2; }; a3 = b4; // error @@ -116,6 +118,6 @@ assignmentCompatWithStringIndexer2.ts(51,9): error TS2322: Type 'A' is not as !!! error TS2322: Type 'A' is not assignable to type '{ [x: string]: Derived2; }'. !!! error TS2322: 'string' index signatures are incompatible. !!! error TS2322: Type 'T' is not assignable to type 'Derived2'. -!!! error TS2322: Type 'Base' is not assignable to type 'Derived2'. +!!! error TS2322: Type 'Base' is missing the following properties from type 'Derived2': baz, bar } } \ No newline at end of file diff --git a/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.errors.txt b/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.errors.txt index 3816de11cc0..c632f41dba0 100644 --- a/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.errors.txt +++ b/tests/baselines/reference/assignmentCompatability_checking-apply-member-off-of-function-interface.errors.txt @@ -4,6 +4,7 @@ assignmentCompatability_checking-apply-member-off-of-function-interface.ts(12,1) assignmentCompatability_checking-apply-member-off-of-function-interface.ts(13,1): error TS2741: Property 'apply' is missing in type '{}' but required in type 'Applicable'. assignmentCompatability_checking-apply-member-off-of-function-interface.ts(22,4): error TS2345: Argument of type 'string' is not assignable to parameter of type 'Applicable'. assignmentCompatability_checking-apply-member-off-of-function-interface.ts(23,4): error TS2345: Argument of type 'string[]' is not assignable to parameter of type 'Applicable'. + Property 'apply' is missing in type 'string[]' but required in type 'Applicable'. assignmentCompatability_checking-apply-member-off-of-function-interface.ts(24,4): error TS2345: Argument of type 'number' is not assignable to parameter of type 'Applicable'. assignmentCompatability_checking-apply-member-off-of-function-interface.ts(25,4): error TS2345: Argument of type '{}' is not assignable to parameter of type 'Applicable'. Property 'apply' is missing in type '{}' but required in type 'Applicable'. @@ -47,6 +48,8 @@ assignmentCompatability_checking-apply-member-off-of-function-interface.ts(25,4) fn(['']); ~~~~ !!! error TS2345: Argument of type 'string[]' is not assignable to parameter of type 'Applicable'. +!!! error TS2345: Property 'apply' is missing in type 'string[]' but required in type 'Applicable'. +!!! related TS2728 assignmentCompatability_checking-apply-member-off-of-function-interface.ts:4:5: 'apply' is declared here. fn(4); ~ !!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'Applicable'. diff --git a/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.errors.txt b/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.errors.txt index 5937ea7e1b3..c294e804251 100644 --- a/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.errors.txt +++ b/tests/baselines/reference/assignmentCompatability_checking-call-member-off-of-function-interface.errors.txt @@ -4,6 +4,7 @@ assignmentCompatability_checking-call-member-off-of-function-interface.ts(12,1): assignmentCompatability_checking-call-member-off-of-function-interface.ts(13,1): error TS2741: Property 'call' is missing in type '{}' but required in type 'Callable'. assignmentCompatability_checking-call-member-off-of-function-interface.ts(22,4): error TS2345: Argument of type 'string' is not assignable to parameter of type 'Callable'. assignmentCompatability_checking-call-member-off-of-function-interface.ts(23,4): error TS2345: Argument of type 'string[]' is not assignable to parameter of type 'Callable'. + Property 'call' is missing in type 'string[]' but required in type 'Callable'. assignmentCompatability_checking-call-member-off-of-function-interface.ts(24,4): error TS2345: Argument of type 'number' is not assignable to parameter of type 'Callable'. assignmentCompatability_checking-call-member-off-of-function-interface.ts(25,4): error TS2345: Argument of type '{}' is not assignable to parameter of type 'Callable'. Property 'call' is missing in type '{}' but required in type 'Callable'. @@ -47,6 +48,8 @@ assignmentCompatability_checking-call-member-off-of-function-interface.ts(25,4): fn(['']); ~~~~ !!! error TS2345: Argument of type 'string[]' is not assignable to parameter of type 'Callable'. +!!! error TS2345: Property 'call' is missing in type 'string[]' but required in type 'Callable'. +!!! related TS2728 assignmentCompatability_checking-call-member-off-of-function-interface.ts:4:5: 'call' is declared here. fn(4); ~ !!! error TS2345: Argument of type 'number' is not assignable to parameter of type 'Callable'. diff --git a/tests/baselines/reference/bigintWithLib.errors.txt b/tests/baselines/reference/bigintWithLib.errors.txt index aa402ec0cba..74057e3a243 100644 --- a/tests/baselines/reference/bigintWithLib.errors.txt +++ b/tests/baselines/reference/bigintWithLib.errors.txt @@ -18,8 +18,14 @@ bigintWithLib.ts(31,35): error TS2769: No overload matches this call. Argument of type 'number[]' is not assignable to parameter of type 'number'. Overload 2 of 3, '(array: Iterable): BigUint64Array', gave the following error. Argument of type 'number[]' is not assignable to parameter of type 'Iterable'. + The types returned by '[Symbol.iterator]().next(...)' are incompatible between these types. + Type 'IteratorResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. + Type 'number' is not assignable to type 'bigint'. Overload 3 of 3, '(buffer: ArrayBufferLike, byteOffset?: number, length?: number): BigUint64Array', gave the following error. Argument of type 'number[]' is not assignable to parameter of type 'ArrayBufferLike'. + Type 'number[]' is missing the following properties from type 'SharedArrayBuffer': byteLength, [Symbol.species], [Symbol.toStringTag] bigintWithLib.ts(36,13): error TS2540: Cannot assign to 'length' because it is a read-only property. bigintWithLib.ts(43,25): error TS2345: Argument of type 'number' is not assignable to parameter of type 'bigint'. bigintWithLib.ts(46,26): error TS2345: Argument of type 'number' is not assignable to parameter of type 'bigint'. @@ -81,8 +87,14 @@ bigintWithLib.ts(46,26): error TS2345: Argument of type 'number' is not assignab !!! error TS2769: Argument of type 'number[]' is not assignable to parameter of type 'number'. !!! error TS2769: Overload 2 of 3, '(array: Iterable): BigUint64Array', gave the following error. !!! error TS2769: Argument of type 'number[]' is not assignable to parameter of type 'Iterable'. +!!! error TS2769: The types returned by '[Symbol.iterator]().next(...)' are incompatible between these types. +!!! error TS2769: Type 'IteratorResult' is not assignable to type 'IteratorResult'. +!!! error TS2769: Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. +!!! error TS2769: Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. +!!! error TS2769: Type 'number' is not assignable to type 'bigint'. !!! error TS2769: Overload 3 of 3, '(buffer: ArrayBufferLike, byteOffset?: number, length?: number): BigUint64Array', gave the following error. !!! error TS2769: Argument of type 'number[]' is not assignable to parameter of type 'ArrayBufferLike'. +!!! error TS2769: Type 'number[]' is missing the following properties from type 'SharedArrayBuffer': byteLength, [Symbol.species], [Symbol.toStringTag] bigUintArray = new BigUint64Array(new ArrayBuffer(80)); bigUintArray = new BigUint64Array(new ArrayBuffer(80), 8); bigUintArray = new BigUint64Array(new ArrayBuffer(80), 8, 3); diff --git a/tests/baselines/reference/castingTuple.errors.txt b/tests/baselines/reference/castingTuple.errors.txt index 16cbceb4748..0a2b933f57d 100644 --- a/tests/baselines/reference/castingTuple.errors.txt +++ b/tests/baselines/reference/castingTuple.errors.txt @@ -3,6 +3,7 @@ castingTuple.ts(13,23): error TS2352: Conversion of type '[number, string]' to t castingTuple.ts(14,15): error TS2352: Conversion of type '[number, string, boolean]' to type '[number, string]' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. Source has 3 element(s) but target allows only 2. castingTuple.ts(15,14): error TS2352: Conversion of type '[number, string]' to type '[number, string, boolean]' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. + Source has 2 element(s) but target requires 3. castingTuple.ts(18,21): error TS2352: Conversion of type '[C, D]' to type '[C, D, A]' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. Source has 2 element(s) but target requires 3. castingTuple.ts(20,33): error TS2493: Tuple type '[C, D, A]' of length '3' has no element at index '5'. @@ -40,6 +41,7 @@ castingTuple.ts(33,1): error TS2304: Cannot find name 't4'. var longer = numStrTuple as [number, string, boolean] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2352: Conversion of type '[number, string]' to type '[number, string, boolean]' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. +!!! error TS2352: Source has 2 element(s) but target requires 3. var classCDTuple: [C, D] = [new C(), new D()]; var interfaceIITuple = <[I, I]>classCDTuple; var classCDATuple = <[C, D, A]>classCDTuple; diff --git a/tests/baselines/reference/chainedAssignment1.errors.txt b/tests/baselines/reference/chainedAssignment1.errors.txt index fad32e7ea26..7892dd2bd4b 100644 --- a/tests/baselines/reference/chainedAssignment1.errors.txt +++ b/tests/baselines/reference/chainedAssignment1.errors.txt @@ -1,6 +1,6 @@ chainedAssignment1.ts(21,1): error TS2741: Property 'a' is missing in type 'Z' but required in type 'X'. chainedAssignment1.ts(21,6): error TS2739: Type 'Z' is missing the following properties from type 'Y': a, b -chainedAssignment1.ts(22,1): error TS2322: Type 'Z' is not assignable to type 'Y'. +chainedAssignment1.ts(22,1): error TS2739: Type 'Z' is missing the following properties from type 'Y': a, b ==== chainedAssignment1.ts (3 errors) ==== @@ -32,4 +32,4 @@ chainedAssignment1.ts(22,1): error TS2322: Type 'Z' is not assignable to type 'Y !!! error TS2739: Type 'Z' is missing the following properties from type 'Y': a, b c2 = c3; // Error TS111: Cannot convert Z to Y ~~ -!!! error TS2322: Type 'Z' is not assignable to type 'Y'. \ No newline at end of file +!!! error TS2739: Type 'Z' is missing the following properties from type 'Y': a, b \ No newline at end of file diff --git a/tests/baselines/reference/chainedAssignment3.errors.txt b/tests/baselines/reference/chainedAssignment3.errors.txt index b33f6d87a2c..81f05df13d7 100644 --- a/tests/baselines/reference/chainedAssignment3.errors.txt +++ b/tests/baselines/reference/chainedAssignment3.errors.txt @@ -1,5 +1,5 @@ chainedAssignment3.ts(18,1): error TS2741: Property 'value' is missing in type 'A' but required in type 'B'. -chainedAssignment3.ts(19,5): error TS2322: Type 'A' is not assignable to type 'B'. +chainedAssignment3.ts(19,5): error TS2741: Property 'value' is missing in type 'A' but required in type 'B'. ==== chainedAssignment3.ts (2 errors) ==== @@ -26,7 +26,8 @@ chainedAssignment3.ts(19,5): error TS2322: Type 'A' is not assignable to type 'B !!! related TS2728 chainedAssignment3.ts:6:5: 'value' is declared here. a = b = new A(); ~ -!!! error TS2322: Type 'A' is not assignable to type 'B'. +!!! error TS2741: Property 'value' is missing in type 'A' but required in type 'B'. +!!! related TS2728 chainedAssignment3.ts:6:5: 'value' is declared here. \ No newline at end of file diff --git a/tests/baselines/reference/checkJsxChildrenCanBeTupleType.errors.txt b/tests/baselines/reference/checkJsxChildrenCanBeTupleType.errors.txt index 5736290f8a1..cc60334c1e3 100644 --- a/tests/baselines/reference/checkJsxChildrenCanBeTupleType.errors.txt +++ b/tests/baselines/reference/checkJsxChildrenCanBeTupleType.errors.txt @@ -8,6 +8,7 @@ checkJsxChildrenCanBeTupleType.tsx(17,18): error TS2769: No overload matches thi Type '{ children: [Element, Element, Element]; }' is not assignable to type 'Readonly'. Types of property 'children' are incompatible. Type '[Element, Element, Element]' is not assignable to type '[ReactNode, ReactNode]'. + Source has 3 element(s) but target allows only 2. ==== checkJsxChildrenCanBeTupleType.tsx (1 errors) ==== @@ -39,6 +40,7 @@ checkJsxChildrenCanBeTupleType.tsx(17,18): error TS2769: No overload matches thi !!! error TS2769: Type '{ children: [Element, Element, Element]; }' is not assignable to type 'Readonly'. !!! error TS2769: Types of property 'children' are incompatible. !!! error TS2769: Type '[Element, Element, Element]' is not assignable to type '[ReactNode, ReactNode]'. +!!! error TS2769: Source has 3 element(s) but target allows only 2.
diff --git a/tests/baselines/reference/circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth.errors.txt b/tests/baselines/reference/circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth.errors.txt index 8a32b0c5807..7c65a0c335a 100644 --- a/tests/baselines/reference/circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth.errors.txt +++ b/tests/baselines/reference/circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth.errors.txt @@ -7,6 +7,9 @@ circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. Type '(TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string]) | GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[keyof TInjectedProps & string] | TInjectedProps[keyof TInjectedProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[keyof TInjectedProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. ==== circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth.ts (1 errors) ==== @@ -83,4 +86,7 @@ circularlyConstrainedMappedTypeContainingConditionalNoInfiniteInstantiationDepth !!! error TS2344: Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. !!! error TS2344: Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. !!! error TS2344: Type '(TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string]) | GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[keyof TInjectedProps & string] | TInjectedProps[keyof TInjectedProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[keyof TInjectedProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. \ No newline at end of file diff --git a/tests/baselines/reference/classPropertyErrorOnNameOnly.errors.txt b/tests/baselines/reference/classPropertyErrorOnNameOnly.errors.txt index dd476a60fe7..a56ad9e9caf 100644 --- a/tests/baselines/reference/classPropertyErrorOnNameOnly.errors.txt +++ b/tests/baselines/reference/classPropertyErrorOnNameOnly.errors.txt @@ -3,6 +3,7 @@ classPropertyErrorOnNameOnly.ts(7,3): error TS2322: Type '(val: Values) => "1" | Type 'undefined' is not assignable to type 'string'. classPropertyErrorOnNameOnly.ts(24,7): error TS2322: Type '(val: Values) => "1" | "2" | "3" | "4" | "5" | undefined' is not assignable to type 'FuncType'. Type 'string | undefined' is not assignable to type 'string'. + Type 'undefined' is not assignable to type 'string'. ==== classPropertyErrorOnNameOnly.ts (2 errors) ==== @@ -37,6 +38,7 @@ classPropertyErrorOnNameOnly.ts(24,7): error TS2322: Type '(val: Values) => "1" ~~~~~~~~~~~~ !!! error TS2322: Type '(val: Values) => "1" | "2" | "3" | "4" | "5" | undefined' is not assignable to type 'FuncType'. !!! error TS2322: Type 'string | undefined' is not assignable to type 'string'. +!!! error TS2322: Type 'undefined' is not assignable to type 'string'. switch (val) { case 1: return "1"; diff --git a/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.errors.txt b/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.errors.txt index 7d80efe6b38..0ee31ce889f 100644 --- a/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.errors.txt +++ b/tests/baselines/reference/complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.errors.txt @@ -5,18 +5,23 @@ complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.ts(33,5): error TS2322 Type 'string' is not assignable to type 'ChannelOfType["type"] & ChannelOfType["type"]'. Type 'string' is not assignable to type 'ChannelOfType["type"] & ChannelOfType["type"]'. Type 'string' is not assignable to type 'ChannelOfType["type"]'. - Type 'T' is not assignable to type 'ChannelOfType["type"]'. - Type 'string' is not assignable to type 'ChannelOfType["type"]'. - Type 'string' is not assignable to type 'ChannelOfType["type"]'. - Type '"text"' is not assignable to type 'T & "text"'. - Type 'T' is not assignable to type 'T & "text"'. - Type '"text" | "email"' is not assignable to type 'T & "text"'. + Type '"text"' is not assignable to type 'T & "text"'. + Type '"text"' is not assignable to type 'T'. + '"text"' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '"text" | "email"'. + Type 'T' is not assignable to type 'ChannelOfType["type"]'. + Type 'string' is not assignable to type 'ChannelOfType["type"]'. + Type 'string' is not assignable to type 'ChannelOfType["type"]'. Type '"text"' is not assignable to type 'T & "text"'. Type '"text"' is not assignable to type 'T'. '"text"' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '"text" | "email"'. - Type 'T' is not assignable to type '"text"'. - Type '"text" | "email"' is not assignable to type '"text"'. - Type '"email"' is not assignable to type '"text"'. + Type 'T' is not assignable to type 'T & "text"'. + Type '"text" | "email"' is not assignable to type 'T & "text"'. + Type '"text"' is not assignable to type 'T & "text"'. + Type '"text"' is not assignable to type 'T'. + '"text"' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '"text" | "email"'. + Type 'T' is not assignable to type '"text"'. + Type '"text" | "email"' is not assignable to type '"text"'. + Type '"email"' is not assignable to type '"text"'. ==== complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.ts (1 errors) ==== @@ -61,18 +66,23 @@ complicatedIndexedAccessKeyofReliesOnKeyofNeverUpperBound.ts(33,5): error TS2322 !!! error TS2322: Type 'string' is not assignable to type 'ChannelOfType["type"] & ChannelOfType["type"]'. !!! error TS2322: Type 'string' is not assignable to type 'ChannelOfType["type"] & ChannelOfType["type"]'. !!! error TS2322: Type 'string' is not assignable to type 'ChannelOfType["type"]'. -!!! error TS2322: Type 'T' is not assignable to type 'ChannelOfType["type"]'. -!!! error TS2322: Type 'string' is not assignable to type 'ChannelOfType["type"]'. -!!! error TS2322: Type 'string' is not assignable to type 'ChannelOfType["type"]'. -!!! error TS2322: Type '"text"' is not assignable to type 'T & "text"'. -!!! error TS2322: Type 'T' is not assignable to type 'T & "text"'. -!!! error TS2322: Type '"text" | "email"' is not assignable to type 'T & "text"'. +!!! error TS2322: Type '"text"' is not assignable to type 'T & "text"'. +!!! error TS2322: Type '"text"' is not assignable to type 'T'. +!!! error TS2322: '"text"' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '"text" | "email"'. +!!! error TS2322: Type 'T' is not assignable to type 'ChannelOfType["type"]'. +!!! error TS2322: Type 'string' is not assignable to type 'ChannelOfType["type"]'. +!!! error TS2322: Type 'string' is not assignable to type 'ChannelOfType["type"]'. !!! error TS2322: Type '"text"' is not assignable to type 'T & "text"'. !!! error TS2322: Type '"text"' is not assignable to type 'T'. !!! error TS2322: '"text"' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '"text" | "email"'. -!!! error TS2322: Type 'T' is not assignable to type '"text"'. -!!! error TS2322: Type '"text" | "email"' is not assignable to type '"text"'. -!!! error TS2322: Type '"email"' is not assignable to type '"text"'. +!!! error TS2322: Type 'T' is not assignable to type 'T & "text"'. +!!! error TS2322: Type '"text" | "email"' is not assignable to type 'T & "text"'. +!!! error TS2322: Type '"text"' is not assignable to type 'T & "text"'. +!!! error TS2322: Type '"text"' is not assignable to type 'T'. +!!! error TS2322: '"text"' is assignable to the constraint of type 'T', but 'T' could be instantiated with a different subtype of constraint '"text" | "email"'. +!!! error TS2322: Type 'T' is not assignable to type '"text"'. +!!! error TS2322: Type '"text" | "email"' is not assignable to type '"text"'. +!!! error TS2322: Type '"email"' is not assignable to type '"text"'. } const newTextChannel = makeNewChannel('text'); diff --git a/tests/baselines/reference/conditionalTypes1.errors.txt b/tests/baselines/reference/conditionalTypes1.errors.txt index ea66f14d927..aa2ae24033b 100644 --- a/tests/baselines/reference/conditionalTypes1.errors.txt +++ b/tests/baselines/reference/conditionalTypes1.errors.txt @@ -37,20 +37,28 @@ conditionalTypes1.ts(108,5): error TS2322: Type 'FunctionProperties' is not a Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. Type 'keyof T' is not assignable to type 'never'. + Type 'string | number | symbol' is not assignable to type 'never'. + Type 'string' is not assignable to type 'never'. conditionalTypes1.ts(114,5): error TS2322: Type 'keyof T' is not assignable to type 'FunctionPropertyNames'. Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. conditionalTypes1.ts(115,5): error TS2322: Type 'NonFunctionPropertyNames' is not assignable to type 'FunctionPropertyNames'. Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. - Type 'keyof T' is not assignable to type 'never'. - Type 'string | number | symbol' is not assignable to type 'never'. - Type 'string' is not assignable to type 'never'. + Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. + Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. + Type 'keyof T' is not assignable to type 'never'. + Type 'string | number | symbol' is not assignable to type 'never'. + Type 'string' is not assignable to type 'never'. conditionalTypes1.ts(116,5): error TS2322: Type 'keyof T' is not assignable to type 'NonFunctionPropertyNames'. Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'. Type 'string' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'. conditionalTypes1.ts(117,5): error TS2322: Type 'FunctionPropertyNames' is not assignable to type 'NonFunctionPropertyNames'. Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'. - Type 'keyof T' is not assignable to type 'never'. + Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'. + Type 'string' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'. + Type 'keyof T' is not assignable to type 'never'. + Type 'string | number | symbol' is not assignable to type 'never'. + Type 'string' is not assignable to type 'never'. conditionalTypes1.ts(134,10): error TS2540: Cannot assign to 'id' because it is a read-only property. conditionalTypes1.ts(135,5): error TS2542: Index signature in type 'DeepReadonlyArray' only permits reading. conditionalTypes1.ts(136,22): error TS2540: Cannot assign to 'id' because it is a read-only property. @@ -229,6 +237,8 @@ conditionalTypes1.ts(288,43): error TS2322: Type 'T95' is not assignable to t !!! error TS2322: Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. !!! error TS2322: Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. !!! error TS2322: Type 'keyof T' is not assignable to type 'never'. +!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'never'. +!!! error TS2322: Type 'string' is not assignable to type 'never'. } function f8(x: keyof T, y: FunctionPropertyNames, z: NonFunctionPropertyNames) { @@ -243,9 +253,11 @@ conditionalTypes1.ts(288,43): error TS2322: Type 'T95' is not assignable to t ~ !!! error TS2322: Type 'NonFunctionPropertyNames' is not assignable to type 'FunctionPropertyNames'. !!! error TS2322: Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. -!!! error TS2322: Type 'keyof T' is not assignable to type 'never'. -!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'never'. -!!! error TS2322: Type 'string' is not assignable to type 'never'. +!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. +!!! error TS2322: Type 'string' is not assignable to type 'T[keyof T] extends Function ? keyof T : never'. +!!! error TS2322: Type 'keyof T' is not assignable to type 'never'. +!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'never'. +!!! error TS2322: Type 'string' is not assignable to type 'never'. z = x; // Error ~ !!! error TS2322: Type 'keyof T' is not assignable to type 'NonFunctionPropertyNames'. @@ -255,7 +267,11 @@ conditionalTypes1.ts(288,43): error TS2322: Type 'T95' is not assignable to t ~ !!! error TS2322: Type 'FunctionPropertyNames' is not assignable to type 'NonFunctionPropertyNames'. !!! error TS2322: Type 'keyof T' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'. -!!! error TS2322: Type 'keyof T' is not assignable to type 'never'. +!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'. +!!! error TS2322: Type 'string' is not assignable to type 'T[keyof T] extends Function ? never : keyof T'. +!!! error TS2322: Type 'keyof T' is not assignable to type 'never'. +!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'never'. +!!! error TS2322: Type 'string' is not assignable to type 'never'. } type DeepReadonly = diff --git a/tests/baselines/reference/covariantCallbacks.errors.txt b/tests/baselines/reference/covariantCallbacks.errors.txt index 7a9e34234fc..0df9028e132 100644 --- a/tests/baselines/reference/covariantCallbacks.errors.txt +++ b/tests/baselines/reference/covariantCallbacks.errors.txt @@ -1,13 +1,13 @@ covariantCallbacks.ts(12,5): error TS2322: Type 'P' is not assignable to type 'P'. Property 'b' is missing in type 'A' but required in type 'B'. covariantCallbacks.ts(17,5): error TS2322: Type 'Promise' is not assignable to type 'Promise'. - Type 'A' is not assignable to type 'B'. + Property 'b' is missing in type 'A' but required in type 'B'. covariantCallbacks.ts(30,5): error TS2322: Type 'AList1' is not assignable to type 'BList1'. Types of property 'forEach' are incompatible. Type '(cb: (item: A) => void) => void' is not assignable to type '(cb: (item: B) => void) => void'. Types of parameters 'cb' and 'cb' are incompatible. Types of parameters 'item' and 'item' are incompatible. - Type 'A' is not assignable to type 'B'. + Property 'b' is missing in type 'A' but required in type 'B'. covariantCallbacks.ts(43,5): error TS2322: Type 'AList2' is not assignable to type 'BList2'. Types of property 'forEach' are incompatible. Types of parameters 'cb' and 'cb' are incompatible. @@ -22,7 +22,7 @@ covariantCallbacks.ts(69,5): error TS2322: Type 'AList4' is not assignable to ty Type '(cb: (item: A) => A) => void' is not assignable to type '(cb: (item: B) => B) => void'. Types of parameters 'cb' and 'cb' are incompatible. Types of parameters 'item' and 'item' are incompatible. - Type 'A' is not assignable to type 'B'. + Property 'b' is missing in type 'A' but required in type 'B'. covariantCallbacks.ts(98,1): error TS2322: Type 'SetLike1<(x: string) => void>' is not assignable to type 'SetLike1<(x: unknown) => void>'. Type '(x: string) => void' is not assignable to type '(x: unknown) => void'. Types of parameters 'x' and 'x' are incompatible. @@ -58,7 +58,8 @@ covariantCallbacks.ts(106,1): error TS2322: Type 'SetLike2<(x: string) => void>' b = a; // Error ~ !!! error TS2322: Type 'Promise' is not assignable to type 'Promise'. -!!! error TS2322: Type 'A' is not assignable to type 'B'. +!!! error TS2322: Property 'b' is missing in type 'A' but required in type 'B'. +!!! related TS2728 covariantCallbacks.ts:8:25: 'b' is declared here. } interface AList1 { @@ -78,7 +79,8 @@ covariantCallbacks.ts(106,1): error TS2322: Type 'SetLike2<(x: string) => void>' !!! error TS2322: Type '(cb: (item: A) => void) => void' is not assignable to type '(cb: (item: B) => void) => void'. !!! error TS2322: Types of parameters 'cb' and 'cb' are incompatible. !!! error TS2322: Types of parameters 'item' and 'item' are incompatible. -!!! error TS2322: Type 'A' is not assignable to type 'B'. +!!! error TS2322: Property 'b' is missing in type 'A' but required in type 'B'. +!!! related TS2728 covariantCallbacks.ts:8:25: 'b' is declared here. } interface AList2 { @@ -135,7 +137,8 @@ covariantCallbacks.ts(106,1): error TS2322: Type 'SetLike2<(x: string) => void>' !!! error TS2322: Type '(cb: (item: A) => A) => void' is not assignable to type '(cb: (item: B) => B) => void'. !!! error TS2322: Types of parameters 'cb' and 'cb' are incompatible. !!! error TS2322: Types of parameters 'item' and 'item' are incompatible. -!!! error TS2322: Type 'A' is not assignable to type 'B'. +!!! error TS2322: Property 'b' is missing in type 'A' but required in type 'B'. +!!! related TS2728 covariantCallbacks.ts:8:25: 'b' is declared here. } // Repro from #51620 diff --git a/tests/baselines/reference/elaboratedErrors.errors.txt b/tests/baselines/reference/elaboratedErrors.errors.txt index 4533af3bbeb..509bfa220d6 100644 --- a/tests/baselines/reference/elaboratedErrors.errors.txt +++ b/tests/baselines/reference/elaboratedErrors.errors.txt @@ -1,9 +1,9 @@ elaboratedErrors.ts(11,3): error TS2416: Property 'read' in type 'WorkerFS' is not assignable to the same property in base type 'FileSystem'. Type 'string' is not assignable to type 'number'. elaboratedErrors.ts(20,1): error TS2741: Property 'x' is missing in type 'Beta' but required in type 'Alpha'. -elaboratedErrors.ts(21,1): error TS2322: Type 'Beta' is not assignable to type 'Alpha'. +elaboratedErrors.ts(21,1): error TS2741: Property 'x' is missing in type 'Beta' but required in type 'Alpha'. elaboratedErrors.ts(24,1): error TS2741: Property 'y' is missing in type 'Alpha' but required in type 'Beta'. -elaboratedErrors.ts(25,1): error TS2322: Type 'Alpha' is not assignable to type 'Beta'. +elaboratedErrors.ts(25,1): error TS2741: Property 'y' is missing in type 'Alpha' but required in type 'Beta'. ==== elaboratedErrors.ts (5 errors) ==== @@ -35,7 +35,8 @@ elaboratedErrors.ts(25,1): error TS2322: Type 'Alpha' is not assignable to type !!! related TS2728 elaboratedErrors.ts:14:19: 'x' is declared here. x = y; ~ -!!! error TS2322: Type 'Beta' is not assignable to type 'Alpha'. +!!! error TS2741: Property 'x' is missing in type 'Beta' but required in type 'Alpha'. +!!! related TS2728 elaboratedErrors.ts:14:19: 'x' is declared here. // Only one of these errors should be large y = x; @@ -44,5 +45,6 @@ elaboratedErrors.ts(25,1): error TS2322: Type 'Alpha' is not assignable to type !!! related TS2728 elaboratedErrors.ts:15:18: 'y' is declared here. y = x; ~ -!!! error TS2322: Type 'Alpha' is not assignable to type 'Beta'. +!!! error TS2741: Property 'y' is missing in type 'Alpha' but required in type 'Beta'. +!!! related TS2728 elaboratedErrors.ts:15:18: 'y' is declared here. \ No newline at end of file diff --git a/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.errors.txt b/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.errors.txt index 4b04c7ac161..c5e9a1bf5f4 100644 --- a/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.errors.txt +++ b/tests/baselines/reference/everyTypeWithAnnotationAndInvalidInitializer.errors.txt @@ -19,7 +19,7 @@ everyTypeWithAnnotationAndInvalidInitializer.ts(48,32): error TS2322: Type 'stri everyTypeWithAnnotationAndInvalidInitializer.ts(50,5): error TS2322: Type 'typeof N' is not assignable to type 'typeof M'. The types returned by 'new A()' are incompatible between these types. Property 'name' is missing in type 'N.A' but required in type 'M.A'. -everyTypeWithAnnotationAndInvalidInitializer.ts(51,5): error TS2322: Type 'N.A' is not assignable to type 'M.A'. +everyTypeWithAnnotationAndInvalidInitializer.ts(51,5): error TS2741: Property 'name' is missing in type 'N.A' but required in type 'M.A'. everyTypeWithAnnotationAndInvalidInitializer.ts(52,5): error TS2322: Type '(x: number) => boolean' is not assignable to type '(x: number) => string'. Type 'boolean' is not assignable to type 'string'. @@ -116,7 +116,8 @@ everyTypeWithAnnotationAndInvalidInitializer.ts(52,5): error TS2322: Type '(x: n !!! related TS2728 everyTypeWithAnnotationAndInvalidInitializer.ts:20:9: 'name' is declared here. var aClassInModule: M.A = new N.A(); ~~~~~~~~~~~~~~ -!!! error TS2322: Type 'N.A' is not assignable to type 'M.A'. +!!! error TS2741: Property 'name' is missing in type 'N.A' but required in type 'M.A'. +!!! related TS2728 everyTypeWithAnnotationAndInvalidInitializer.ts:20:9: 'name' is declared here. var aFunctionInModule: typeof M.F2 = F2; ~~~~~~~~~~~~~~~~~ !!! error TS2322: Type '(x: number) => boolean' is not assignable to type '(x: number) => string'. diff --git a/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt b/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt index 2bb7f3f550c..d9249711d1d 100644 --- a/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt +++ b/tests/baselines/reference/functionConstraintSatisfaction2.errors.txt @@ -23,6 +23,8 @@ functionConstraintSatisfaction2.ts(37,10): error TS2345: Argument of type 'T' is Type 'void' is not assignable to type 'string'. functionConstraintSatisfaction2.ts(38,10): error TS2345: Argument of type 'U' is not assignable to parameter of type '(x: string) => string'. Type 'T' is not assignable to type '(x: string) => string'. + Type '() => void' is not assignable to type '(x: string) => string'. + Type 'void' is not assignable to type 'string'. ==== functionConstraintSatisfaction2.ts (13 errors) ==== @@ -102,5 +104,7 @@ functionConstraintSatisfaction2.ts(38,10): error TS2345: Argument of type 'U' is ~ !!! error TS2345: Argument of type 'U' is not assignable to parameter of type '(x: string) => string'. !!! error TS2345: Type 'T' is not assignable to type '(x: string) => string'. +!!! error TS2345: Type '() => void' is not assignable to type '(x: string) => string'. +!!! error TS2345: Type 'void' is not assignable to type 'string'. } \ No newline at end of file diff --git a/tests/baselines/reference/fuzzy.errors.txt b/tests/baselines/reference/fuzzy.errors.txt index ff1eb4b8888..36e42284cd6 100644 --- a/tests/baselines/reference/fuzzy.errors.txt +++ b/tests/baselines/reference/fuzzy.errors.txt @@ -1,7 +1,7 @@ fuzzy.ts(13,18): error TS2420: Class 'C' incorrectly implements interface 'I'. Property 'alsoWorks' is missing in type 'C' but required in type 'I'. fuzzy.ts(21,34): error TS2322: Type 'this' is not assignable to type 'I'. - Type 'C' is not assignable to type 'I'. + Property 'alsoWorks' is missing in type 'C' but required in type 'I'. fuzzy.ts(25,20): error TS2352: Conversion of type '{ oneI: this; }' to type 'R' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first. Property 'anything' is missing in type '{ oneI: this; }' but required in type 'R'. @@ -34,7 +34,8 @@ fuzzy.ts(25,20): error TS2352: Conversion of type '{ oneI: this; }' to type 'R' return { anything:1, oneI:this }; ~~~~ !!! error TS2322: Type 'this' is not assignable to type 'I'. -!!! error TS2322: Type 'C' is not assignable to type 'I'. +!!! error TS2322: Property 'alsoWorks' is missing in type 'C' but required in type 'I'. +!!! related TS2728 fuzzy.ts:4:9: 'alsoWorks' is declared here. !!! related TS6500 fuzzy.ts:10:9: The expected type comes from property 'oneI' which is declared here on type 'R' } diff --git a/tests/baselines/reference/genericAssignmentCompatWithInterfaces1.errors.txt b/tests/baselines/reference/genericAssignmentCompatWithInterfaces1.errors.txt index 81470452eb8..4a64dd5471f 100644 --- a/tests/baselines/reference/genericAssignmentCompatWithInterfaces1.errors.txt +++ b/tests/baselines/reference/genericAssignmentCompatWithInterfaces1.errors.txt @@ -4,14 +4,20 @@ genericAssignmentCompatWithInterfaces1.ts(12,23): error TS2322: Type 'A' Types of parameters 'other' and 'other' are incompatible. Type 'string' is not assignable to type 'number'. genericAssignmentCompatWithInterfaces1.ts(13,5): error TS2322: Type '{ x: A; }' is not assignable to type 'I'. - Types of property 'x' are incompatible. - Type 'A' is not assignable to type 'Comparable'. + The types of 'x.compareTo' are incompatible between these types. + Type '(other: number) => number' is not assignable to type '(other: string) => number'. + Types of parameters 'other' and 'other' are incompatible. + Type 'string' is not assignable to type 'number'. genericAssignmentCompatWithInterfaces1.ts(16,5): error TS2322: Type '{ x: A; }' is not assignable to type 'I'. - Types of property 'x' are incompatible. - Type 'A' is not assignable to type 'Comparable'. + The types of 'x.compareTo' are incompatible between these types. + Type '(other: number) => number' is not assignable to type '(other: string) => number'. + Types of parameters 'other' and 'other' are incompatible. + Type 'string' is not assignable to type 'number'. genericAssignmentCompatWithInterfaces1.ts(17,5): error TS2322: Type 'K' is not assignable to type 'I'. - Types of property 'x' are incompatible. - Type 'A' is not assignable to type 'Comparable'. + The types of 'x.compareTo' are incompatible between these types. + Type '(other: number) => number' is not assignable to type '(other: string) => number'. + Types of parameters 'other' and 'other' are incompatible. + Type 'string' is not assignable to type 'number'. ==== genericAssignmentCompatWithInterfaces1.ts (4 errors) ==== @@ -37,19 +43,25 @@ genericAssignmentCompatWithInterfaces1.ts(17,5): error TS2322: Type 'K' var a2: I = function (): { x: A } { ~~ !!! error TS2322: Type '{ x: A; }' is not assignable to type 'I'. -!!! error TS2322: Types of property 'x' are incompatible. -!!! error TS2322: Type 'A' is not assignable to type 'Comparable'. +!!! error TS2322: The types of 'x.compareTo' are incompatible between these types. +!!! error TS2322: Type '(other: number) => number' is not assignable to type '(other: string) => number'. +!!! error TS2322: Types of parameters 'other' and 'other' are incompatible. +!!! error TS2322: Type 'string' is not assignable to type 'number'. var z = { x: new A() }; return z; } (); var a3: I = z; ~~ !!! error TS2322: Type '{ x: A; }' is not assignable to type 'I'. -!!! error TS2322: Types of property 'x' are incompatible. -!!! error TS2322: Type 'A' is not assignable to type 'Comparable'. +!!! error TS2322: The types of 'x.compareTo' are incompatible between these types. +!!! error TS2322: Type '(other: number) => number' is not assignable to type '(other: string) => number'. +!!! error TS2322: Types of parameters 'other' and 'other' are incompatible. +!!! error TS2322: Type 'string' is not assignable to type 'number'. var a4: I = >z; ~~ !!! error TS2322: Type 'K' is not assignable to type 'I'. -!!! error TS2322: Types of property 'x' are incompatible. -!!! error TS2322: Type 'A' is not assignable to type 'Comparable'. +!!! error TS2322: The types of 'x.compareTo' are incompatible between these types. +!!! error TS2322: Type '(other: number) => number' is not assignable to type '(other: string) => number'. +!!! error TS2322: Types of parameters 'other' and 'other' are incompatible. +!!! error TS2322: Type 'string' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.errors.txt b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.errors.txt index 42fe31432f2..653b071b3b4 100644 --- a/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.errors.txt +++ b/tests/baselines/reference/genericCallToOverloadedMethodWithOverloadedArguments.errors.txt @@ -9,6 +9,7 @@ genericCallToOverloadedMethodWithOverloadedArguments.ts(52,38): error TS2769: No Overload 2 of 2, '(cb: (x: number) => Promise, error?: (error: any) => Promise): Promise', gave the following error. Argument of type '{ (n: number): Promise; (s: string): Promise; }' is not assignable to parameter of type '(x: number) => Promise'. Type 'Promise' is not assignable to type 'Promise'. + Type 'number' is not assignable to type 'string'. genericCallToOverloadedMethodWithOverloadedArguments.ts(68,38): error TS2769: No overload matches this call. Overload 1 of 3, '(cb: (x: number) => Promise): Promise', gave the following error. Argument of type '{ (n: number): Promise; (s: string): Promise; }' is not assignable to parameter of type '(x: number) => Promise'. @@ -17,9 +18,11 @@ genericCallToOverloadedMethodWithOverloadedArguments.ts(68,38): error TS2769: No Overload 2 of 3, '(cb: (x: number) => Promise, error?: (error: any) => Promise): Promise', gave the following error. Argument of type '{ (n: number): Promise; (s: string): Promise; }' is not assignable to parameter of type '(x: number) => Promise'. Type 'Promise' is not assignable to type 'Promise'. + Type 'number' is not assignable to type 'string'. Overload 3 of 3, '(cb: (x: number) => Promise, error?: (error: any) => string, progress?: (preservation: any) => void): Promise', gave the following error. Argument of type '{ (n: number): Promise; (s: string): Promise; }' is not assignable to parameter of type '(x: number) => Promise'. Type 'Promise' is not assignable to type 'Promise'. + Type 'number' is not assignable to type 'string'. genericCallToOverloadedMethodWithOverloadedArguments.ts(84,38): error TS2769: No overload matches this call. Overload 1 of 2, '(cb: (x: number) => Promise): Promise', gave the following error. Argument of type '{ (n: number): Promise; (s: string): Promise; (b: boolean): Promise; }' is not assignable to parameter of type '(x: number) => Promise'. @@ -28,6 +31,7 @@ genericCallToOverloadedMethodWithOverloadedArguments.ts(84,38): error TS2769: No Overload 2 of 2, '(cb: (x: number) => Promise, error?: (error: any) => Promise): Promise', gave the following error. Argument of type '{ (n: number): Promise; (s: string): Promise; (b: boolean): Promise; }' is not assignable to parameter of type '(x: number) => Promise'. Type 'Promise' is not assignable to type 'Promise'. + Type 'number' is not assignable to type 'boolean'. ==== genericCallToOverloadedMethodWithOverloadedArguments.ts (4 errors) ==== @@ -96,6 +100,7 @@ genericCallToOverloadedMethodWithOverloadedArguments.ts(84,38): error TS2769: No !!! error TS2769: Overload 2 of 2, '(cb: (x: number) => Promise, error?: (error: any) => Promise): Promise', gave the following error. !!! error TS2769: Argument of type '{ (n: number): Promise; (s: string): Promise; }' is not assignable to parameter of type '(x: number) => Promise'. !!! error TS2769: Type 'Promise' is not assignable to type 'Promise'. +!!! error TS2769: Type 'number' is not assignable to type 'string'. } ////////////////////////////////////// @@ -121,9 +126,11 @@ genericCallToOverloadedMethodWithOverloadedArguments.ts(84,38): error TS2769: No !!! error TS2769: Overload 2 of 3, '(cb: (x: number) => Promise, error?: (error: any) => Promise): Promise', gave the following error. !!! error TS2769: Argument of type '{ (n: number): Promise; (s: string): Promise; }' is not assignable to parameter of type '(x: number) => Promise'. !!! error TS2769: Type 'Promise' is not assignable to type 'Promise'. +!!! error TS2769: Type 'number' is not assignable to type 'string'. !!! error TS2769: Overload 3 of 3, '(cb: (x: number) => Promise, error?: (error: any) => string, progress?: (preservation: any) => void): Promise', gave the following error. !!! error TS2769: Argument of type '{ (n: number): Promise; (s: string): Promise; }' is not assignable to parameter of type '(x: number) => Promise'. !!! error TS2769: Type 'Promise' is not assignable to type 'Promise'. +!!! error TS2769: Type 'number' is not assignable to type 'string'. } ////////////////////////////////////// @@ -149,5 +156,6 @@ genericCallToOverloadedMethodWithOverloadedArguments.ts(84,38): error TS2769: No !!! error TS2769: Overload 2 of 2, '(cb: (x: number) => Promise, error?: (error: any) => Promise): Promise', gave the following error. !!! error TS2769: Argument of type '{ (n: number): Promise; (s: string): Promise; (b: boolean): Promise; }' is not assignable to parameter of type '(x: number) => Promise'. !!! error TS2769: Type 'Promise' is not assignable to type 'Promise'. +!!! error TS2769: Type 'number' is not assignable to type 'boolean'. } \ No newline at end of file diff --git a/tests/baselines/reference/genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.errors.txt b/tests/baselines/reference/genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.errors.txt index ad660643bd7..0336f8a8912 100644 --- a/tests/baselines/reference/genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.errors.txt +++ b/tests/baselines/reference/genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.errors.txt @@ -4,7 +4,7 @@ genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.ts(13,5): er Type 'ReturnType | ReturnType | ReturnType' is not assignable to type 'A'. Type 'ReturnType' is not assignable to type 'A'. Type 'ReturnType[string]>' is not assignable to type 'A'. - Type 'unknown' is not assignable to type 'A'. + Property 'x' is missing in type '{}' but required in type 'A'. ==== genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.ts (1 errors) ==== @@ -28,7 +28,8 @@ genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.ts(13,5): er !!! error TS2322: Type 'ReturnType | ReturnType | ReturnType' is not assignable to type 'A'. !!! error TS2322: Type 'ReturnType' is not assignable to type 'A'. !!! error TS2322: Type 'ReturnType[string]>' is not assignable to type 'A'. -!!! error TS2322: Type 'unknown' is not assignable to type 'A'. +!!! error TS2322: Property 'x' is missing in type '{}' but required in type 'A'. +!!! related TS2728 genericConditionalConstrainedToUnknownNotAssignableToConcreteObject.ts:1:15: 'x' is declared here. } // Original CFA report of the above issue diff --git a/tests/baselines/reference/inferTypePredicates.errors.txt b/tests/baselines/reference/inferTypePredicates.errors.txt index e61c1cb72be..6a955c7cb06 100644 --- a/tests/baselines/reference/inferTypePredicates.errors.txt +++ b/tests/baselines/reference/inferTypePredicates.errors.txt @@ -2,7 +2,11 @@ inferTypePredicates.ts(4,7): error TS2322: Type '(number | null)[]' is not assig Type 'number | null' is not assignable to type 'number'. Type 'null' is not assignable to type 'number'. inferTypePredicates.ts(7,7): error TS2322: Type '(number | null)[]' is not assignable to type 'number[]'. + Type 'number | null' is not assignable to type 'number'. + Type 'null' is not assignable to type 'number'. inferTypePredicates.ts(14,7): error TS2322: Type '(number | null)[]' is not assignable to type 'number[]'. + Type 'number | null' is not assignable to type 'number'. + Type 'null' is not assignable to type 'number'. inferTypePredicates.ts(52,17): error TS18048: 'arr' is possibly 'undefined'. inferTypePredicates.ts(54,28): error TS2345: Argument of type 'string | undefined' is not assignable to parameter of type 'string'. Type 'undefined' is not assignable to type 'string'. @@ -31,6 +35,8 @@ inferTypePredicates.ts(205,7): error TS2741: Property 'z' is missing in type 'C1 const evenSquaresInline: number[] = // should error ~~~~~~~~~~~~~~~~~ !!! error TS2322: Type '(number | null)[]' is not assignable to type 'number[]'. +!!! error TS2322: Type 'number | null' is not assignable to type 'number'. +!!! error TS2322: Type 'null' is not assignable to type 'number'. [1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) .filter(x => !!x); // tests truthiness, not non-nullishness @@ -40,6 +46,8 @@ inferTypePredicates.ts(205,7): error TS2741: Property 'z' is missing in type 'C1 const evenSquares: number[] = // should error ~~~~~~~~~~~ !!! error TS2322: Type '(number | null)[]' is not assignable to type 'number[]'. +!!! error TS2322: Type 'number | null' is not assignable to type 'number'. +!!! error TS2322: Type 'null' is not assignable to type 'number'. [1, 2, 3, 4] .map(x => x % 2 === 0 ? x * x : null) .filter(isTruthy); diff --git a/tests/baselines/reference/inheritance1.errors.txt b/tests/baselines/reference/inheritance1.errors.txt index f056f7bdf73..b96db00d8ff 100644 --- a/tests/baselines/reference/inheritance1.errors.txt +++ b/tests/baselines/reference/inheritance1.errors.txt @@ -5,7 +5,7 @@ inheritance1.ts(18,7): error TS2420: Class 'Locations' incorrectly implements in inheritance1.ts(31,1): error TS2741: Property 'select' is missing in type 'Control' but required in type 'Button'. inheritance1.ts(37,1): error TS2741: Property 'select' is missing in type 'Control' but required in type 'TextBox'. inheritance1.ts(40,1): error TS2741: Property 'select' is missing in type 'Control' but required in type 'SelectableControl'. -inheritance1.ts(46,1): error TS2322: Type 'Image1' is not assignable to type 'SelectableControl'. +inheritance1.ts(46,1): error TS2741: Property 'select' is missing in type 'Control' but required in type 'SelectableControl'. inheritance1.ts(52,1): error TS2741: Property 'state' is missing in type 'Locations' but required in type 'SelectableControl'. inheritance1.ts(53,1): error TS2741: Property 'state' is missing in type 'Locations' but required in type 'Control'. inheritance1.ts(55,1): error TS2741: Property 'select' is missing in type 'Control' but required in type 'Locations'. @@ -79,7 +79,8 @@ inheritance1.ts(61,1): error TS2741: Property 'select' is missing in type 'Contr var i1: Image1; sc = i1; ~~ -!!! error TS2322: Type 'Image1' is not assignable to type 'SelectableControl'. +!!! error TS2741: Property 'select' is missing in type 'Control' but required in type 'SelectableControl'. +!!! related TS2728 inheritance1.ts:5:5: 'select' is declared here. c = i1; i1 = sc; i1 = c; diff --git a/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.errors.txt b/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.errors.txt index 0e250ca66b9..f68e2066410 100644 --- a/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.errors.txt +++ b/tests/baselines/reference/inlineJsxFactoryDeclarationsLocalTypes.errors.txt @@ -4,15 +4,16 @@ index.tsx(5,1): error TS2741: Property '__predomBrand' is missing in type 'impor index.tsx(21,22): error TS2786: 'MySFC' cannot be used as a JSX component. Its return type 'import("renderer2").predom.JSX.Element' is not a valid JSX element. Property '__domBrand' is missing in type 'import("renderer2").predom.JSX.Element' but required in type 'import("renderer").dom.JSX.Element'. -index.tsx(21,40): error TS2322: Type 'import("renderer").dom.JSX.Element' is not assignable to type 'import("renderer2").predom.JSX.Element'. +index.tsx(21,40): error TS2741: Property '__predomBrand' is missing in type 'import("renderer").dom.JSX.Element' but required in type 'import("renderer2").predom.JSX.Element'. index.tsx(21,41): error TS2786: 'MyClass' cannot be used as a JSX component. Its instance type 'MyClass' is not a valid JSX element. Property '__domBrand' is missing in type 'MyClass' but required in type 'ElementClass'. -index.tsx(21,63): error TS2322: Type 'import("renderer").dom.JSX.Element' is not assignable to type 'import("renderer2").predom.JSX.Element'. +index.tsx(21,63): error TS2741: Property '__predomBrand' is missing in type 'import("renderer").dom.JSX.Element' but required in type 'import("renderer2").predom.JSX.Element'. index.tsx(21,64): error TS2786: 'MyClass' cannot be used as a JSX component. Its instance type 'MyClass' is not a valid JSX element. -index.tsx(24,42): error TS2322: Type 'import("renderer2").predom.JSX.Element' is not assignable to type 'import("renderer").dom.JSX.Element'. -index.tsx(24,48): error TS2322: Type 'import("renderer2").predom.JSX.Element' is not assignable to type 'import("renderer").dom.JSX.Element'. + Property '__domBrand' is missing in type 'MyClass' but required in type 'ElementClass'. +index.tsx(24,42): error TS2741: Property '__domBrand' is missing in type 'import("renderer2").predom.JSX.Element' but required in type 'import("renderer").dom.JSX.Element'. +index.tsx(24,48): error TS2741: Property '__domBrand' is missing in type 'import("renderer2").predom.JSX.Element' but required in type 'import("renderer").dom.JSX.Element'. ==== renderer.d.ts (0 errors) ==== @@ -110,22 +111,28 @@ index.tsx(24,48): error TS2322: Type 'import("renderer2").predom.JSX.Element' is !!! error TS2786: Property '__domBrand' is missing in type 'import("renderer2").predom.JSX.Element' but required in type 'import("renderer").dom.JSX.Element'. !!! related TS2728 renderer.d.ts:7:13: '__domBrand' is declared here. ~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'import("renderer").dom.JSX.Element' is not assignable to type 'import("renderer2").predom.JSX.Element'. +!!! error TS2741: Property '__predomBrand' is missing in type 'import("renderer").dom.JSX.Element' but required in type 'import("renderer2").predom.JSX.Element'. +!!! related TS2728 renderer2.d.ts:7:13: '__predomBrand' is declared here. ~~~~~~~ !!! error TS2786: 'MyClass' cannot be used as a JSX component. !!! error TS2786: Its instance type 'MyClass' is not a valid JSX element. !!! error TS2786: Property '__domBrand' is missing in type 'MyClass' but required in type 'ElementClass'. !!! related TS2728 renderer.d.ts:7:13: '__domBrand' is declared here. ~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'import("renderer").dom.JSX.Element' is not assignable to type 'import("renderer2").predom.JSX.Element'. +!!! error TS2741: Property '__predomBrand' is missing in type 'import("renderer").dom.JSX.Element' but required in type 'import("renderer2").predom.JSX.Element'. +!!! related TS2728 renderer2.d.ts:7:13: '__predomBrand' is declared here. ~~~~~~~ !!! error TS2786: 'MyClass' cannot be used as a JSX component. !!! error TS2786: Its instance type 'MyClass' is not a valid JSX element. +!!! error TS2786: Property '__domBrand' is missing in type 'MyClass' but required in type 'ElementClass'. +!!! related TS2728 renderer.d.ts:7:13: '__domBrand' is declared here. // Should fail, nondom isn't allowed as children of dom const _brokenTree2 = {tree}{tree} ~~~~~~ -!!! error TS2322: Type 'import("renderer2").predom.JSX.Element' is not assignable to type 'import("renderer").dom.JSX.Element'. +!!! error TS2741: Property '__domBrand' is missing in type 'import("renderer2").predom.JSX.Element' but required in type 'import("renderer").dom.JSX.Element'. +!!! related TS2728 renderer.d.ts:7:13: '__domBrand' is declared here. ~~~~~~ -!!! error TS2322: Type 'import("renderer2").predom.JSX.Element' is not assignable to type 'import("renderer").dom.JSX.Element'. +!!! error TS2741: Property '__domBrand' is missing in type 'import("renderer2").predom.JSX.Element' but required in type 'import("renderer").dom.JSX.Element'. +!!! related TS2728 renderer.d.ts:7:13: '__domBrand' is declared here. \ No newline at end of file diff --git a/tests/baselines/reference/interfaceAssignmentCompat.errors.txt b/tests/baselines/reference/interfaceAssignmentCompat.errors.txt index 3b19a8a44c9..1b16cb3a0d4 100644 --- a/tests/baselines/reference/interfaceAssignmentCompat.errors.txt +++ b/tests/baselines/reference/interfaceAssignmentCompat.errors.txt @@ -2,9 +2,9 @@ interfaceAssignmentCompat.ts(32,18): error TS2345: Argument of type '(a: IFrench Types of parameters 'a' and 'a' are incompatible. Property 'coleur' is missing in type 'IEye' but required in type 'IFrenchEye'. interfaceAssignmentCompat.ts(37,29): error TS2339: Property '_map' does not exist on type 'typeof Color'. -interfaceAssignmentCompat.ts(42,13): error TS2322: Type 'IEye' is not assignable to type 'IFrenchEye'. +interfaceAssignmentCompat.ts(42,13): error TS2741: Property 'coleur' is missing in type 'IEye' but required in type 'IFrenchEye'. interfaceAssignmentCompat.ts(44,9): error TS2322: Type 'IEye[]' is not assignable to type 'IFrenchEye[]'. - Type 'IEye' is not assignable to type 'IFrenchEye'. + Property 'coleur' is missing in type 'IEye' but required in type 'IFrenchEye'. ==== interfaceAssignmentCompat.ts (4 errors) ==== @@ -58,12 +58,14 @@ interfaceAssignmentCompat.ts(44,9): error TS2322: Type 'IEye[]' is not assignabl for (var j=z.length=1;j>=0;j--) { eeks[j]=z[j]; // nope: element assignment ~~~~~~~ -!!! error TS2322: Type 'IEye' is not assignable to type 'IFrenchEye'. +!!! error TS2741: Property 'coleur' is missing in type 'IEye' but required in type 'IFrenchEye'. +!!! related TS2728 interfaceAssignmentCompat.ts:13:9: 'coleur' is declared here. } eeks=z; // nope: array assignment ~~~~ !!! error TS2322: Type 'IEye[]' is not assignable to type 'IFrenchEye[]'. -!!! error TS2322: Type 'IEye' is not assignable to type 'IFrenchEye'. +!!! error TS2322: Property 'coleur' is missing in type 'IEye' but required in type 'IFrenchEye'. +!!! related TS2728 interfaceAssignmentCompat.ts:13:9: 'coleur' is declared here. return result; } } diff --git a/tests/baselines/reference/intersectionAndUnionTypes.errors.txt b/tests/baselines/reference/intersectionAndUnionTypes.errors.txt index 6bdfc0df64c..69450109b96 100644 --- a/tests/baselines/reference/intersectionAndUnionTypes.errors.txt +++ b/tests/baselines/reference/intersectionAndUnionTypes.errors.txt @@ -5,6 +5,7 @@ intersectionAndUnionTypes.ts(20,1): error TS2322: Type 'B' is not assignable to intersectionAndUnionTypes.ts(23,1): error TS2322: Type 'A | B' is not assignable to type '(A & B) | (C & D)'. Type 'A' is not assignable to type '(A & B) | (C & D)'. Type 'A' is not assignable to type 'A & B'. + Property 'b' is missing in type 'A' but required in type 'B'. intersectionAndUnionTypes.ts(25,1): error TS2322: Type 'C | D' is not assignable to type '(A & B) | (C & D)'. Type 'C' is not assignable to type '(A & B) | (C & D)'. Type 'C' is not assignable to type 'C & D'. @@ -77,6 +78,8 @@ intersectionAndUnionTypes.ts(37,1): error TS2322: Type '(A | B) & (C | D)' is no !!! error TS2322: Type 'A | B' is not assignable to type '(A & B) | (C & D)'. !!! error TS2322: Type 'A' is not assignable to type '(A & B) | (C & D)'. !!! error TS2322: Type 'A' is not assignable to type 'A & B'. +!!! error TS2322: Property 'b' is missing in type 'A' but required in type 'B'. +!!! related TS2728 intersectionAndUnionTypes.ts:2:15: 'b' is declared here. x = cnd; // Ok x = cod; ~ diff --git a/tests/baselines/reference/invariantGenericErrorElaboration.errors.txt b/tests/baselines/reference/invariantGenericErrorElaboration.errors.txt index 677229d6d03..bef0d7adbf2 100644 --- a/tests/baselines/reference/invariantGenericErrorElaboration.errors.txt +++ b/tests/baselines/reference/invariantGenericErrorElaboration.errors.txt @@ -1,8 +1,11 @@ invariantGenericErrorElaboration.ts(3,7): error TS2322: Type 'Num' is not assignable to type 'Runtype'. The types of 'constraint.constraint' are incompatible between these types. Type 'Constraint>' is not assignable to type 'Constraint>>'. - Type 'Runtype' is not assignable to type 'Num'. + Property 'tag' is missing in type 'Runtype' but required in type 'Num'. invariantGenericErrorElaboration.ts(4,19): error TS2322: Type 'Num' is not assignable to type 'Runtype'. + The types of 'constraint.constraint' are incompatible between these types. + Type 'Constraint>' is not assignable to type 'Constraint>>'. + Property 'tag' is missing in type 'Runtype' but required in type 'Num'. ==== invariantGenericErrorElaboration.ts (2 errors) ==== @@ -13,10 +16,13 @@ invariantGenericErrorElaboration.ts(4,19): error TS2322: Type 'Num' is not assig !!! error TS2322: Type 'Num' is not assignable to type 'Runtype'. !!! error TS2322: The types of 'constraint.constraint' are incompatible between these types. !!! error TS2322: Type 'Constraint>' is not assignable to type 'Constraint>>'. -!!! error TS2322: Type 'Runtype' is not assignable to type 'Num'. +!!! error TS2322: Property 'tag' is missing in type 'Runtype' but required in type 'Num'. const Foo = Obj({ foo: Num }) ~~~ !!! error TS2322: Type 'Num' is not assignable to type 'Runtype'. +!!! error TS2322: The types of 'constraint.constraint' are incompatible between these types. +!!! error TS2322: Type 'Constraint>' is not assignable to type 'Constraint>>'. +!!! error TS2322: Property 'tag' is missing in type 'Runtype' but required in type 'Num'. !!! related TS6501 invariantGenericErrorElaboration.ts:17:34: The expected type comes from this index signature. interface Runtype { diff --git a/tests/baselines/reference/iteratorSpreadInArray6.errors.txt b/tests/baselines/reference/iteratorSpreadInArray6.errors.txt index 03db7e32b33..310b446568d 100644 --- a/tests/baselines/reference/iteratorSpreadInArray6.errors.txt +++ b/tests/baselines/reference/iteratorSpreadInArray6.errors.txt @@ -7,6 +7,9 @@ iteratorSpreadInArray6.ts(15,14): error TS2769: No overload matches this call. Overload 2 of 2, '(...items: (number | ConcatArray)[]): number[]', gave the following error. Argument of type 'symbol[]' is not assignable to parameter of type 'number | ConcatArray'. Type 'symbol[]' is not assignable to type 'ConcatArray'. + The types returned by 'slice(...)' are incompatible between these types. + Type 'symbol[]' is not assignable to type 'number[]'. + Type 'symbol' is not assignable to type 'number'. ==== iteratorSpreadInArray6.ts (1 errors) ==== @@ -34,4 +37,7 @@ iteratorSpreadInArray6.ts(15,14): error TS2769: No overload matches this call. !!! error TS2769: Type 'symbol' is not assignable to type 'number'. !!! error TS2769: Overload 2 of 2, '(...items: (number | ConcatArray)[]): number[]', gave the following error. !!! error TS2769: Argument of type 'symbol[]' is not assignable to parameter of type 'number | ConcatArray'. -!!! error TS2769: Type 'symbol[]' is not assignable to type 'ConcatArray'. \ No newline at end of file +!!! error TS2769: Type 'symbol[]' is not assignable to type 'ConcatArray'. +!!! error TS2769: The types returned by 'slice(...)' are incompatible between these types. +!!! error TS2769: Type 'symbol[]' is not assignable to type 'number[]'. +!!! error TS2769: Type 'symbol' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/jsxComponentTypeErrors.errors.txt b/tests/baselines/reference/jsxComponentTypeErrors.errors.txt index 2328ac62d1a..be8d8618eb5 100644 --- a/tests/baselines/reference/jsxComponentTypeErrors.errors.txt +++ b/tests/baselines/reference/jsxComponentTypeErrors.errors.txt @@ -10,6 +10,9 @@ jsxComponentTypeErrors.tsx(25,16): error TS2786: 'FunctionComponent' cannot be u Type 'undefined' is not assignable to type '"element"'. jsxComponentTypeErrors.tsx(26,16): error TS2786: 'FunctionComponent' cannot be used as a JSX component. Its return type '{ type: "abc" | undefined; }' is not a valid JSX element. + Types of property 'type' are incompatible. + Type '"abc" | undefined' is not assignable to type '"element"'. + Type 'undefined' is not assignable to type '"element"'. jsxComponentTypeErrors.tsx(27,16): error TS2786: 'ClassComponent' cannot be used as a JSX component. Its instance type 'ClassComponent' is not a valid JSX element. Types of property 'type' are incompatible. @@ -19,6 +22,8 @@ jsxComponentTypeErrors.tsx(28,16): error TS2786: 'MixedComponent' cannot be used Type 'ClassComponent' is not assignable to type 'Element | ElementClass | null'. Type 'ClassComponent' is not assignable to type 'Element | ElementClass'. Type 'ClassComponent' is not assignable to type 'ElementClass'. + Types of property 'type' are incompatible. + Type 'string' is not assignable to type '"element-class"'. jsxComponentTypeErrors.tsx(37,16): error TS2786: 'obj.MemberFunctionComponent' cannot be used as a JSX component. Its return type '{}' is not a valid JSX element. Property 'type' is missing in type '{}' but required in type 'Element'. @@ -69,6 +74,9 @@ jsxComponentTypeErrors.tsx(38,16): error TS2786: 'obj. MemberClassComponent' can ~~~~~~~~~~~~~~~~~ !!! error TS2786: 'FunctionComponent' cannot be used as a JSX component. !!! error TS2786: Its return type '{ type: "abc" | undefined; }' is not a valid JSX element. +!!! error TS2786: Types of property 'type' are incompatible. +!!! error TS2786: Type '"abc" | undefined' is not assignable to type '"element"'. +!!! error TS2786: Type 'undefined' is not assignable to type '"element"'. const elem3 = ; ~~~~~~~~~~~~~~ !!! error TS2786: 'ClassComponent' cannot be used as a JSX component. @@ -82,6 +90,8 @@ jsxComponentTypeErrors.tsx(38,16): error TS2786: 'obj. MemberClassComponent' can !!! error TS2786: Type 'ClassComponent' is not assignable to type 'Element | ElementClass | null'. !!! error TS2786: Type 'ClassComponent' is not assignable to type 'Element | ElementClass'. !!! error TS2786: Type 'ClassComponent' is not assignable to type 'ElementClass'. +!!! error TS2786: Types of property 'type' are incompatible. +!!! error TS2786: Type 'string' is not assignable to type '"element-class"'. const obj = { MemberFunctionComponent() { diff --git a/tests/baselines/reference/keyofAndIndexedAccess.errors.txt b/tests/baselines/reference/keyofAndIndexedAccess.errors.txt index b9df4e46891..e833106df6f 100644 --- a/tests/baselines/reference/keyofAndIndexedAccess.errors.txt +++ b/tests/baselines/reference/keyofAndIndexedAccess.errors.txt @@ -11,6 +11,8 @@ keyofAndIndexedAccess.ts(317,5): error TS2322: Type 'T[keyof T]' is not assignab Type 'T[string]' is not assignable to type '{}'. keyofAndIndexedAccess.ts(318,5): error TS2322: Type 'T[K]' is not assignable to type '{}'. Type 'T[keyof T]' is not assignable to type '{}'. + Type 'T[string] | T[number] | T[symbol]' is not assignable to type '{}'. + Type 'T[string]' is not assignable to type '{}'. ==== keyofAndIndexedAccess.ts (5 errors) ==== @@ -351,6 +353,8 @@ keyofAndIndexedAccess.ts(318,5): error TS2322: Type 'T[K]' is not assignable to ~ !!! error TS2322: Type 'T[K]' is not assignable to type '{}'. !!! error TS2322: Type 'T[keyof T]' is not assignable to type '{}'. +!!! error TS2322: Type 'T[string] | T[number] | T[symbol]' is not assignable to type '{}'. +!!! error TS2322: Type 'T[string]' is not assignable to type '{}'. } function f92(x: T, y: T[keyof T], z: T[K]) { diff --git a/tests/baselines/reference/keyofAndIndexedAccessErrors.errors.txt b/tests/baselines/reference/keyofAndIndexedAccessErrors.errors.txt index e19b848ab74..4377dad060e 100644 --- a/tests/baselines/reference/keyofAndIndexedAccessErrors.errors.txt +++ b/tests/baselines/reference/keyofAndIndexedAccessErrors.errors.txt @@ -22,6 +22,7 @@ keyofAndIndexedAccessErrors.ts(64,33): error TS2345: Argument of type '"name" | Type '"size"' is not assignable to type 'keyof Shape'. keyofAndIndexedAccessErrors.ts(66,24): error TS2345: Argument of type '"size"' is not assignable to parameter of type 'keyof Shape'. keyofAndIndexedAccessErrors.ts(67,24): error TS2345: Argument of type '"name" | "size"' is not assignable to parameter of type 'keyof Shape'. + Type '"size"' is not assignable to type 'keyof Shape'. keyofAndIndexedAccessErrors.ts(73,5): error TS2536: Type 'keyof T | keyof U' cannot be used to index type 'T | U'. keyofAndIndexedAccessErrors.ts(74,5): error TS2536: Type 'keyof T | keyof U' cannot be used to index type 'T | U'. keyofAndIndexedAccessErrors.ts(82,5): error TS2322: Type 'keyof T | keyof U' is not assignable to type 'keyof T & keyof U'. @@ -34,10 +35,28 @@ keyofAndIndexedAccessErrors.ts(82,5): error TS2322: Type 'keyof T | keyof U' is Type 'string' is not assignable to type 'keyof U'. keyofAndIndexedAccessErrors.ts(83,5): error TS2322: Type 'keyof T | keyof U' is not assignable to type 'keyof T & keyof U'. Type 'keyof T' is not assignable to type 'keyof T & keyof U'. + Type 'string | number | symbol' is not assignable to type 'keyof T & keyof U'. + Type 'string' is not assignable to type 'keyof T & keyof U'. + Type 'string' is not assignable to type 'keyof T'. + Type 'keyof T' is not assignable to type 'keyof U'. + Type 'string | number | symbol' is not assignable to type 'keyof U'. + Type 'string' is not assignable to type 'keyof U'. keyofAndIndexedAccessErrors.ts(86,5): error TS2322: Type 'keyof T | keyof U' is not assignable to type 'keyof T & keyof U'. Type 'keyof T' is not assignable to type 'keyof T & keyof U'. + Type 'string | number | symbol' is not assignable to type 'keyof T & keyof U'. + Type 'string' is not assignable to type 'keyof T & keyof U'. + Type 'string' is not assignable to type 'keyof T'. + Type 'keyof T' is not assignable to type 'keyof U'. + Type 'string | number | symbol' is not assignable to type 'keyof U'. + Type 'string' is not assignable to type 'keyof U'. keyofAndIndexedAccessErrors.ts(87,5): error TS2322: Type 'keyof T | keyof U' is not assignable to type 'keyof T & keyof U'. Type 'keyof T' is not assignable to type 'keyof T & keyof U'. + Type 'string | number | symbol' is not assignable to type 'keyof T & keyof U'. + Type 'string' is not assignable to type 'keyof T & keyof U'. + Type 'string' is not assignable to type 'keyof T'. + Type 'keyof T' is not assignable to type 'keyof U'. + Type 'string | number | symbol' is not assignable to type 'keyof U'. + Type 'string' is not assignable to type 'keyof U'. keyofAndIndexedAccessErrors.ts(103,9): error TS2322: Type 'Extract' is not assignable to type 'K'. 'Extract' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint 'string'. Type 'string' is not assignable to type 'K'. @@ -45,6 +64,8 @@ keyofAndIndexedAccessErrors.ts(103,9): error TS2322: Type 'Extract]' is not assignable to type 'T[K]'. Type 'Extract' is not assignable to type 'K'. 'Extract' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint 'string'. + Type 'string' is not assignable to type 'K'. + 'string' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint 'string'. keyofAndIndexedAccessErrors.ts(108,5): error TS2322: Type 'T[K]' is not assignable to type 'U[K]'. Type 'T' is not assignable to type 'U'. 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. @@ -184,6 +205,7 @@ keyofAndIndexedAccessErrors.ts(165,5): error TS2322: Type 'number' is not assign setProperty(shape, cond ? "name" : "size", 10); // Error ~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '"name" | "size"' is not assignable to parameter of type 'keyof Shape'. +!!! error TS2345: Type '"size"' is not assignable to type 'keyof Shape'. } function f20(x: T | U, y: T & U, k1: keyof (T | U), k2: keyof T & keyof U, k3: keyof (T & U), k4: keyof T | keyof U) { @@ -216,16 +238,34 @@ keyofAndIndexedAccessErrors.ts(165,5): error TS2322: Type 'number' is not assign ~~ !!! error TS2322: Type 'keyof T | keyof U' is not assignable to type 'keyof T & keyof U'. !!! error TS2322: Type 'keyof T' is not assignable to type 'keyof T & keyof U'. +!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'keyof T & keyof U'. +!!! error TS2322: Type 'string' is not assignable to type 'keyof T & keyof U'. +!!! error TS2322: Type 'string' is not assignable to type 'keyof T'. +!!! error TS2322: Type 'keyof T' is not assignable to type 'keyof U'. +!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'keyof U'. +!!! error TS2322: Type 'string' is not assignable to type 'keyof U'. k2 = k1; k2 = k3; // Error ~~ !!! error TS2322: Type 'keyof T | keyof U' is not assignable to type 'keyof T & keyof U'. !!! error TS2322: Type 'keyof T' is not assignable to type 'keyof T & keyof U'. +!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'keyof T & keyof U'. +!!! error TS2322: Type 'string' is not assignable to type 'keyof T & keyof U'. +!!! error TS2322: Type 'string' is not assignable to type 'keyof T'. +!!! error TS2322: Type 'keyof T' is not assignable to type 'keyof U'. +!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'keyof U'. +!!! error TS2322: Type 'string' is not assignable to type 'keyof U'. k2 = k4; // Error ~~ !!! error TS2322: Type 'keyof T | keyof U' is not assignable to type 'keyof T & keyof U'. !!! error TS2322: Type 'keyof T' is not assignable to type 'keyof T & keyof U'. +!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'keyof T & keyof U'. +!!! error TS2322: Type 'string' is not assignable to type 'keyof T & keyof U'. +!!! error TS2322: Type 'string' is not assignable to type 'keyof T'. +!!! error TS2322: Type 'keyof T' is not assignable to type 'keyof U'. +!!! error TS2322: Type 'string | number | symbol' is not assignable to type 'keyof U'. +!!! error TS2322: Type 'string' is not assignable to type 'keyof U'. k3 = k1; k3 = k2; @@ -253,6 +293,8 @@ keyofAndIndexedAccessErrors.ts(165,5): error TS2322: Type 'number' is not assign !!! error TS2322: Type 'T[Extract]' is not assignable to type 'T[K]'. !!! error TS2322: Type 'Extract' is not assignable to type 'K'. !!! error TS2322: 'Extract' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint 'string'. +!!! error TS2322: Type 'string' is not assignable to type 'K'. +!!! error TS2322: 'string' is assignable to the constraint of type 'K', but 'K' could be instantiated with a different subtype of constraint 'string'. } tk = uk; uk = tk; // error diff --git a/tests/baselines/reference/lastPropertyInLiteralWins.errors.txt b/tests/baselines/reference/lastPropertyInLiteralWins.errors.txt index 3d6cf65e0e6..e846c48f903 100644 --- a/tests/baselines/reference/lastPropertyInLiteralWins.errors.txt +++ b/tests/baselines/reference/lastPropertyInLiteralWins.errors.txt @@ -3,6 +3,8 @@ lastPropertyInLiteralWins.ts(8,5): error TS2322: Type '(num: number) => void' is Type 'string' is not assignable to type 'number'. lastPropertyInLiteralWins.ts(9,5): error TS1117: An object literal cannot have multiple properties with the same name. lastPropertyInLiteralWins.ts(9,5): error TS2322: Type '(num: number) => void' is not assignable to type '(str: string) => void'. + Types of parameters 'num' and 'str' are incompatible. + Type 'string' is not assignable to type 'number'. lastPropertyInLiteralWins.ts(14,5): error TS1117: An object literal cannot have multiple properties with the same name. @@ -25,6 +27,8 @@ lastPropertyInLiteralWins.ts(14,5): error TS1117: An object literal cannot have !!! error TS1117: An object literal cannot have multiple properties with the same name. ~~~~~ !!! error TS2322: Type '(num: number) => void' is not assignable to type '(str: string) => void'. +!!! error TS2322: Types of parameters 'num' and 'str' are incompatible. +!!! error TS2322: Type 'string' is not assignable to type 'number'. !!! related TS6500 lastPropertyInLiteralWins.ts:2:5: The expected type comes from property 'thunk' which is declared here on type 'Thing' }); diff --git a/tests/baselines/reference/mappedTypeWithAny.errors.txt b/tests/baselines/reference/mappedTypeWithAny.errors.txt index a2553052c96..f53402fd7fc 100644 --- a/tests/baselines/reference/mappedTypeWithAny.errors.txt +++ b/tests/baselines/reference/mappedTypeWithAny.errors.txt @@ -1,6 +1,6 @@ mappedTypeWithAny.ts(23,16): error TS2339: Property 'notAValue' does not exist on type 'Data'. mappedTypeWithAny.ts(45,5): error TS2740: Type 'Objectish' is missing the following properties from type 'any[]': length, pop, push, concat, and 16 more. -mappedTypeWithAny.ts(46,5): error TS2322: Type 'Objectish' is not assignable to type 'any[]'. +mappedTypeWithAny.ts(46,5): error TS2740: Type 'Objectish' is missing the following properties from type 'any[]': length, pop, push, concat, and 16 more. mappedTypeWithAny.ts(53,5): error TS2322: Type 'string[]' is not assignable to type '[any, any]'. Target requires 2 element(s) but source may have fewer. @@ -57,7 +57,7 @@ mappedTypeWithAny.ts(53,5): error TS2322: Type 'string[]' is not assignable to t !!! error TS2740: Type 'Objectish' is missing the following properties from type 'any[]': length, pop, push, concat, and 16 more. arr = indirectArrayish; ~~~ -!!! error TS2322: Type 'Objectish' is not assignable to type 'any[]'. +!!! error TS2740: Type 'Objectish' is missing the following properties from type 'any[]': length, pop, push, concat, and 16 more. } declare function stringifyArray(arr: T): { -readonly [K in keyof T]: string }; diff --git a/tests/baselines/reference/noUncheckedIndexedAccess.errors.txt b/tests/baselines/reference/noUncheckedIndexedAccess.errors.txt index 1199c0dbb17..21463e3016b 100644 --- a/tests/baselines/reference/noUncheckedIndexedAccess.errors.txt +++ b/tests/baselines/reference/noUncheckedIndexedAccess.errors.txt @@ -3,29 +3,49 @@ noUncheckedIndexedAccess.ts(3,32): error TS2344: Type 'boolean | undefined' does noUncheckedIndexedAccess.ts(12,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(13,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(14,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(15,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(16,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(17,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(18,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(19,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(20,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(21,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(22,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(23,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(24,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(25,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(38,1): error TS2322: Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(39,1): error TS2322: Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(40,1): error TS2322: Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(41,1): error TS2322: Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(46,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(47,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(48,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(49,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(50,7): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(55,5): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(63,5): error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. + Type 'undefined' is not assignable to type 'boolean'. noUncheckedIndexedAccess.ts(79,7): error TS2322: Type 'number | boolean | undefined' is not assignable to type 'number | boolean'. Type 'undefined' is not assignable to type 'number | boolean'. noUncheckedIndexedAccess.ts(85,1): error TS2322: Type 'undefined' is not assignable to type 'string'. @@ -58,42 +78,55 @@ noUncheckedIndexedAccess.ts(99,11): error TS2322: Type 'undefined' is not assign const e2: boolean = strMap.bar; ~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const e3: boolean = strMap[0]; ~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const e4: boolean = strMap[0 as string | number]; ~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const e5: boolean = strMap[0 as string | 0 | 1]; ~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const e6: boolean = strMap[0 as 0 | 1]; ~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const e7: boolean = strMap["foo" as "foo" | "baz"]; ~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const e8: boolean = strMap[NumericEnum1.A]; ~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const e9: boolean = strMap[NumericEnum2.A]; ~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const e10: boolean = strMap[StringEnum1.A]; ~~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const e11: boolean = strMap[StringEnum1.A as StringEnum1]; ~~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const e12: boolean = strMap[NumericEnum1.A as NumericEnum1]; ~~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const e13: boolean = strMap[NumericEnum2.A as NumericEnum2]; ~~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const e14: boolean = strMap[null as any]; ~~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. // Should be OK const ok1: boolean | undefined = strMap["foo"]; @@ -125,18 +158,23 @@ noUncheckedIndexedAccess.ts(99,11): error TS2322: Type 'undefined' is not assign const num_ok1: boolean = numMap[0]; ~~~~~~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const num_ok2: boolean = numMap[0 as number]; ~~~~~~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const num_ok3: boolean = numMap[0 as 0 | 1]; ~~~~~~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const num_ok4: boolean = numMap[NumericEnum1.A]; ~~~~~~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. const num_ok5: boolean = numMap[NumericEnum2.A]; ~~~~~~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. // Generics function generic1(arg: T): boolean { @@ -144,6 +182,7 @@ noUncheckedIndexedAccess.ts(99,11): error TS2322: Type 'undefined' is not assign return arg["blah"]; ~~~~~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. } function generic2(arg: T): boolean { // Should OK @@ -154,6 +193,7 @@ noUncheckedIndexedAccess.ts(99,11): error TS2322: Type 'undefined' is not assign return strMap[arg]; ~~~~~~ !!! error TS2322: Type 'boolean | undefined' is not assignable to type 'boolean'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. } // Element access into known properties is ok diff --git a/tests/baselines/reference/objectLiteralIndexerErrors.errors.txt b/tests/baselines/reference/objectLiteralIndexerErrors.errors.txt index d47bc79c372..c819749e009 100644 --- a/tests/baselines/reference/objectLiteralIndexerErrors.errors.txt +++ b/tests/baselines/reference/objectLiteralIndexerErrors.errors.txt @@ -1,5 +1,5 @@ objectLiteralIndexerErrors.ts(13,54): error TS2741: Property 'y' is missing in type 'A' but required in type 'B'. -objectLiteralIndexerErrors.ts(14,14): error TS2322: Type 'A' is not assignable to type 'B'. +objectLiteralIndexerErrors.ts(14,14): error TS2741: Property 'y' is missing in type 'A' but required in type 'B'. ==== objectLiteralIndexerErrors.ts (2 errors) ==== @@ -22,5 +22,6 @@ objectLiteralIndexerErrors.ts(14,14): error TS2322: Type 'A' is not assignable t !!! related TS6501 objectLiteralIndexerErrors.ts:13:26: The expected type comes from this index signature. o1 = { x: c, 0: a }; // string indexer is any, number indexer is A ~ -!!! error TS2322: Type 'A' is not assignable to type 'B'. +!!! error TS2741: Property 'y' is missing in type 'A' but required in type 'B'. +!!! related TS2728 objectLiteralIndexerErrors.ts:6:5: 'y' is declared here. !!! related TS6501 objectLiteralIndexerErrors.ts:13:26: The expected type comes from this index signature. \ No newline at end of file diff --git a/tests/baselines/reference/objectSpreadStrictNull.errors.txt b/tests/baselines/reference/objectSpreadStrictNull.errors.txt index c2f044c4806..2ead2fb05bb 100644 --- a/tests/baselines/reference/objectSpreadStrictNull.errors.txt +++ b/tests/baselines/reference/objectSpreadStrictNull.errors.txt @@ -5,6 +5,7 @@ objectSpreadStrictNull.ts(14,9): error TS2322: Type '{ sn: number | undefined; } objectSpreadStrictNull.ts(15,9): error TS2322: Type '{ sn: number | undefined; }' is not assignable to type '{ sn: string | number; }'. Types of property 'sn' are incompatible. Type 'number | undefined' is not assignable to type 'string | number'. + Type 'undefined' is not assignable to type 'string | number'. objectSpreadStrictNull.ts(18,9): error TS2322: Type '{ sn: string | number | undefined; }' is not assignable to type '{ sn: string | number | boolean; }'. Types of property 'sn' are incompatible. Type 'string | number | undefined' is not assignable to type 'string | number | boolean'. @@ -41,6 +42,7 @@ objectSpreadStrictNull.ts(42,5): error TS2322: Type '{ foo: number | undefined; !!! error TS2322: Type '{ sn: number | undefined; }' is not assignable to type '{ sn: string | number; }'. !!! error TS2322: Types of property 'sn' are incompatible. !!! error TS2322: Type 'number | undefined' is not assignable to type 'string | number'. +!!! error TS2322: Type 'undefined' is not assignable to type 'string | number'. let allUndefined: { sn: string | number | undefined } = { ...undefinedString, ...undefinedNumber }; let undefinedWithOptionalContinues: { sn: string | number | boolean } = { ...definiteBoolean, ...undefinedString, ...optionalNumber }; diff --git a/tests/baselines/reference/objectTypeWithStringAndNumberIndexSignatureToAny.errors.txt b/tests/baselines/reference/objectTypeWithStringAndNumberIndexSignatureToAny.errors.txt index 1ac58b7f62d..12be949583f 100644 --- a/tests/baselines/reference/objectTypeWithStringAndNumberIndexSignatureToAny.errors.txt +++ b/tests/baselines/reference/objectTypeWithStringAndNumberIndexSignatureToAny.errors.txt @@ -4,17 +4,18 @@ objectTypeWithStringAndNumberIndexSignatureToAny.ts(49,5): error TS2739: Type 'S objectTypeWithStringAndNumberIndexSignatureToAny.ts(50,5): error TS2739: Type 'NumberTo' is missing the following properties from type 'Obj': hello, world objectTypeWithStringAndNumberIndexSignatureToAny.ts(51,5): error TS2739: Type 'StringAndNumberTo' is missing the following properties from type 'Obj': hello, world objectTypeWithStringAndNumberIndexSignatureToAny.ts(61,5): error TS2322: Type 'Obj' is not assignable to type 'NumberTo'. + Index signature for type 'number' is missing in type 'Obj'. objectTypeWithStringAndNumberIndexSignatureToAny.ts(65,5): error TS2322: Type 'Obj' is not assignable to type 'StringTo & NumberTo'. Type 'Obj' is not assignable to type 'NumberTo'. Index signature for type 'number' is missing in type 'Obj'. -objectTypeWithStringAndNumberIndexSignatureToAny.ts(67,5): error TS2322: Type 'StringTo' is not assignable to type 'Obj'. -objectTypeWithStringAndNumberIndexSignatureToAny.ts(68,5): error TS2322: Type 'NumberTo' is not assignable to type 'Obj'. +objectTypeWithStringAndNumberIndexSignatureToAny.ts(67,5): error TS2739: Type 'StringTo' is missing the following properties from type 'Obj': hello, world +objectTypeWithStringAndNumberIndexSignatureToAny.ts(68,5): error TS2739: Type 'NumberTo' is missing the following properties from type 'Obj': hello, world objectTypeWithStringAndNumberIndexSignatureToAny.ts(69,5): error TS2739: Type 'StringTo & NumberTo' is missing the following properties from type 'Obj': hello, world objectTypeWithStringAndNumberIndexSignatureToAny.ts(84,5): error TS2322: Type 'Obj' is not assignable to type 'NumberToNumber'. Index signature for type 'number' is missing in type 'Obj'. objectTypeWithStringAndNumberIndexSignatureToAny.ts(88,5): error TS2322: Type 'Obj' is not assignable to type 'StringToAnyNumberToNumber'. Index signature for type 'number' is missing in type 'Obj'. -objectTypeWithStringAndNumberIndexSignatureToAny.ts(90,5): error TS2322: Type 'StringTo' is not assignable to type 'Obj'. +objectTypeWithStringAndNumberIndexSignatureToAny.ts(90,5): error TS2739: Type 'StringTo' is missing the following properties from type 'Obj': hello, world objectTypeWithStringAndNumberIndexSignatureToAny.ts(91,5): error TS2739: Type 'NumberTo' is missing the following properties from type 'Obj': hello, world @@ -91,6 +92,7 @@ objectTypeWithStringAndNumberIndexSignatureToAny.ts(91,5): error TS2739: Type 'N nToAny = someObj; ~~~~~~ !!! error TS2322: Type 'Obj' is not assignable to type 'NumberTo'. +!!! error TS2322: Index signature for type 'number' is missing in type 'Obj'. bothToAny = sToAny; bothToAny = nToAny; @@ -102,10 +104,10 @@ objectTypeWithStringAndNumberIndexSignatureToAny.ts(91,5): error TS2739: Type 'N someObj = sToAny; ~~~~~~~ -!!! error TS2322: Type 'StringTo' is not assignable to type 'Obj'. +!!! error TS2739: Type 'StringTo' is missing the following properties from type 'Obj': hello, world someObj = nToAny; ~~~~~~~ -!!! error TS2322: Type 'NumberTo' is not assignable to type 'Obj'. +!!! error TS2739: Type 'NumberTo' is missing the following properties from type 'Obj': hello, world someObj = bothToAny; ~~~~~~~ !!! error TS2739: Type 'StringTo & NumberTo' is missing the following properties from type 'Obj': hello, world @@ -137,7 +139,7 @@ objectTypeWithStringAndNumberIndexSignatureToAny.ts(91,5): error TS2739: Type 'N someObj = sToAny; ~~~~~~~ -!!! error TS2322: Type 'StringTo' is not assignable to type 'Obj'. +!!! error TS2739: Type 'StringTo' is missing the following properties from type 'Obj': hello, world someObj = nToNumber; ~~~~~~~ !!! error TS2739: Type 'NumberTo' is missing the following properties from type 'Obj': hello, world diff --git a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt index d6f3cd897e6..9a005634ba8 100644 --- a/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt +++ b/tests/baselines/reference/overloadresolutionWithConstraintCheckingDeferred.errors.txt @@ -17,12 +17,13 @@ overloadresolutionWithConstraintCheckingDeferred.ts(16,23): error TS2769: No ove Overload 2 of 3, '(arg: (x: C) => any): string', gave the following error. Argument of type '(x: D) => G' is not assignable to parameter of type '(x: C) => any'. Types of parameters 'x' and 'x' are incompatible. - Type 'C' is not assignable to type 'D'. + Property 'q' is missing in type 'C' but required in type 'D'. Overload 3 of 3, '(arg: (x: B) => any): number', gave the following error. Argument of type '(x: D) => G' is not assignable to parameter of type '(x: B) => any'. Types of parameters 'x' and 'x' are incompatible. - Type 'B' is not assignable to type 'D'. + Property 'q' is missing in type 'B' but required in type 'D'. overloadresolutionWithConstraintCheckingDeferred.ts(16,38): error TS2344: Type 'D' does not satisfy the constraint 'A'. + Property 'x' is missing in type 'D' but required in type 'A'. overloadresolutionWithConstraintCheckingDeferred.ts(18,27): error TS2769: No overload matches this call. Overload 1 of 3, '(arg: (x: D) => number): string', gave the following error. Argument of type '(x: D) => G' is not assignable to parameter of type '(x: D) => number'. @@ -30,12 +31,13 @@ overloadresolutionWithConstraintCheckingDeferred.ts(18,27): error TS2769: No ove Overload 2 of 3, '(arg: (x: C) => any): string', gave the following error. Argument of type '(x: D) => G' is not assignable to parameter of type '(x: C) => any'. Types of parameters 'x' and 'x' are incompatible. - Type 'C' is not assignable to type 'D'. + Property 'q' is missing in type 'C' but required in type 'D'. Overload 3 of 3, '(arg: (x: B) => any): number', gave the following error. Argument of type '(x: D) => G' is not assignable to parameter of type '(x: B) => any'. Types of parameters 'x' and 'x' are incompatible. - Type 'B' is not assignable to type 'D'. + Property 'q' is missing in type 'B' but required in type 'D'. overloadresolutionWithConstraintCheckingDeferred.ts(19,14): error TS2344: Type 'D' does not satisfy the constraint 'A'. + Property 'x' is missing in type 'D' but required in type 'A'. ==== overloadresolutionWithConstraintCheckingDeferred.ts (6 errors) ==== @@ -81,14 +83,18 @@ overloadresolutionWithConstraintCheckingDeferred.ts(19,14): error TS2344: Type ' !!! error TS2769: Overload 2 of 3, '(arg: (x: C) => any): string', gave the following error. !!! error TS2769: Argument of type '(x: D) => G' is not assignable to parameter of type '(x: C) => any'. !!! error TS2769: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2769: Type 'C' is not assignable to type 'D'. +!!! error TS2769: Property 'q' is missing in type 'C' but required in type 'D'. !!! error TS2769: Overload 3 of 3, '(arg: (x: B) => any): number', gave the following error. !!! error TS2769: Argument of type '(x: D) => G' is not assignable to parameter of type '(x: B) => any'. !!! error TS2769: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2769: Type 'B' is not assignable to type 'D'. +!!! error TS2769: Property 'q' is missing in type 'B' but required in type 'D'. !!! related TS6502 overloadresolutionWithConstraintCheckingDeferred.ts:10:27: The expected type comes from the return type of this signature. +!!! related TS2728 overloadresolutionWithConstraintCheckingDeferred.ts:4:15: 'q' is declared here. +!!! related TS2728 overloadresolutionWithConstraintCheckingDeferred.ts:4:15: 'q' is declared here. ~~~~~~~~ !!! error TS2344: Type 'D' does not satisfy the constraint 'A'. +!!! error TS2344: Property 'x' is missing in type 'D' but required in type 'A'. +!!! related TS2728 overloadresolutionWithConstraintCheckingDeferred.ts:1:15: 'x' is declared here. var result3: string = foo(x => { // x has type D ~~~~~~~~~~~~~~~~~~~~~~ @@ -99,14 +105,18 @@ overloadresolutionWithConstraintCheckingDeferred.ts(19,14): error TS2344: Type ' !!! error TS2769: Overload 2 of 3, '(arg: (x: C) => any): string', gave the following error. !!! error TS2769: Argument of type '(x: D) => G' is not assignable to parameter of type '(x: C) => any'. !!! error TS2769: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2769: Type 'C' is not assignable to type 'D'. +!!! error TS2769: Property 'q' is missing in type 'C' but required in type 'D'. !!! error TS2769: Overload 3 of 3, '(arg: (x: B) => any): number', gave the following error. !!! error TS2769: Argument of type '(x: D) => G' is not assignable to parameter of type '(x: B) => any'. !!! error TS2769: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2769: Type 'B' is not assignable to type 'D'. +!!! error TS2769: Property 'q' is missing in type 'B' but required in type 'D'. +!!! related TS2728 overloadresolutionWithConstraintCheckingDeferred.ts:4:15: 'q' is declared here. +!!! related TS2728 overloadresolutionWithConstraintCheckingDeferred.ts:4:15: 'q' is declared here. var y: G; // error that D does not satisfy constraint, y is of type G, entire call to foo is an error ~~~~~~~~ !!! error TS2344: Type 'D' does not satisfy the constraint 'A'. +!!! error TS2344: Property 'x' is missing in type 'D' but required in type 'A'. +!!! related TS2728 overloadresolutionWithConstraintCheckingDeferred.ts:1:15: 'x' is declared here. return y; }); \ No newline at end of file diff --git a/tests/baselines/reference/promisePermutations.errors.txt b/tests/baselines/reference/promisePermutations.errors.txt index 55ac1623ccc..ea1a007e7c8 100644 --- a/tests/baselines/reference/promisePermutations.errors.txt +++ b/tests/baselines/reference/promisePermutations.errors.txt @@ -63,6 +63,8 @@ promisePermutations.ts(106,19): error TS2769: No overload matches this call. promisePermutations.ts(109,19): error TS2769: No overload matches this call. The last overload gave the following error. Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. + Types of parameters 'cb' and 'value' are incompatible. + Type 'string' is not assignable to type '(a: T) => T'. promisePermutations.ts(110,19): error TS2769: No overload matches this call. The last overload gave the following error. Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => Promise'. @@ -114,9 +116,12 @@ promisePermutations.ts(137,33): error TS2769: No overload matches this call. The last overload gave the following error. Argument of type '(x: any) => IPromise' is not assignable to parameter of type '(error: any) => IPromise'. Type 'IPromise' is not assignable to type 'IPromise'. + Type 'string' is not assignable to type 'number'. promisePermutations.ts(144,35): error TS2769: No overload matches this call. The last overload gave the following error. Argument of type '(x: any) => IPromise' is not assignable to parameter of type '(error: any) => IPromise'. + Type 'IPromise' is not assignable to type 'IPromise'. + Type 'string' is not assignable to type 'number'. promisePermutations.ts(152,36): error TS2769: No overload matches this call. The last overload gave the following error. Argument of type '(x: any) => IPromise' is not assignable to parameter of type '(error: any) => Promise'. @@ -130,6 +135,7 @@ promisePermutations.ts(158,21): error TS2769: No overload matches this call. The last overload gave the following error. Argument of type '{ (x: number): IPromise; (x: string): IPromise; }' is not assignable to parameter of type '(value: number) => IPromise'. Type 'IPromise' is not assignable to type 'IPromise'. + Type 'number' is not assignable to type 'string'. promisePermutations.ts(159,21): error TS2769: No overload matches this call. The last overload gave the following error. Argument of type '{ (x: number): Promise; (x: string): Promise; }' is not assignable to parameter of type '(value: number) => Promise'. @@ -350,6 +356,8 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! error TS2769: No overload matches this call. !!! error TS2769: The last overload gave the following error. !!! error TS2769: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. +!!! error TS2769: Types of parameters 'cb' and 'value' are incompatible. +!!! error TS2769: Type 'string' is not assignable to type '(a: T) => T'. !!! related TS2771 promisePermutations.ts:13:5: The last overload is declared here. var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error ~~~~~~~~~~~~~~ @@ -453,6 +461,7 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! error TS2769: The last overload gave the following error. !!! error TS2769: Argument of type '(x: any) => IPromise' is not assignable to parameter of type '(error: any) => IPromise'. !!! error TS2769: Type 'IPromise' is not assignable to type 'IPromise'. +!!! error TS2769: Type 'string' is not assignable to type 'number'. !!! related TS2771 promisePermutations.ts:5:5: The last overload is declared here. var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok @@ -465,6 +474,8 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! error TS2769: No overload matches this call. !!! error TS2769: The last overload gave the following error. !!! error TS2769: Argument of type '(x: any) => IPromise' is not assignable to parameter of type '(error: any) => IPromise'. +!!! error TS2769: Type 'IPromise' is not assignable to type 'IPromise'. +!!! error TS2769: Type 'string' is not assignable to type 'number'. !!! related TS2771 promisePermutations.ts:13:5: The last overload is declared here. var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok var s10 = testFunction10P(x => x); @@ -499,6 +510,7 @@ promisePermutations.ts(160,21): error TS2769: No overload matches this call. !!! error TS2769: The last overload gave the following error. !!! error TS2769: Argument of type '{ (x: number): IPromise; (x: string): IPromise; }' is not assignable to parameter of type '(value: number) => IPromise'. !!! error TS2769: Type 'IPromise' is not assignable to type 'IPromise'. +!!! error TS2769: Type 'number' is not assignable to type 'string'. !!! related TS2771 promisePermutations.ts:5:5: The last overload is declared here. var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error ~~~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/promisePermutations2.errors.txt b/tests/baselines/reference/promisePermutations2.errors.txt index 87559b404a6..c9840881c94 100644 --- a/tests/baselines/reference/promisePermutations2.errors.txt +++ b/tests/baselines/reference/promisePermutations2.errors.txt @@ -43,6 +43,8 @@ promisePermutations2.ts(105,19): error TS2769: No overload matches this call. promisePermutations2.ts(108,19): error TS2769: No overload matches this call. The last overload gave the following error. Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. + Types of parameters 'cb' and 'value' are incompatible. + Type 'string' is not assignable to type '(a: T) => T'. promisePermutations2.ts(109,19): error TS2769: No overload matches this call. The last overload gave the following error. Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => Promise'. @@ -80,9 +82,12 @@ promisePermutations2.ts(133,19): error TS2345: Argument of type '(x: T, cb: < Target signature provides too few arguments. Expected 2 or more, but got 1. promisePermutations2.ts(136,33): error TS2345: Argument of type '(x: any) => IPromise' is not assignable to parameter of type '(error: any) => IPromise'. Type 'IPromise' is not assignable to type 'IPromise'. + Type 'string' is not assignable to type 'number'. promisePermutations2.ts(143,35): error TS2769: No overload matches this call. The last overload gave the following error. Argument of type '(x: any) => IPromise' is not assignable to parameter of type '(error: any) => IPromise'. + Type 'IPromise' is not assignable to type 'IPromise'. + Type 'string' is not assignable to type 'number'. promisePermutations2.ts(151,36): error TS2345: Argument of type '(x: any) => IPromise' is not assignable to parameter of type '(error: any) => Promise'. Property 'catch' is missing in type 'IPromise' but required in type 'Promise'. promisePermutations2.ts(155,21): error TS2769: No overload matches this call. @@ -92,6 +97,7 @@ promisePermutations2.ts(155,21): error TS2769: No overload matches this call. Type 'number' is not assignable to type 'string'. promisePermutations2.ts(157,21): error TS2345: Argument of type '{ (x: number): IPromise; (x: string): IPromise; }' is not assignable to parameter of type '(value: number) => IPromise'. Type 'IPromise' is not assignable to type 'IPromise'. + Type 'number' is not assignable to type 'string'. promisePermutations2.ts(158,21): error TS2345: Argument of type '{ (x: number): Promise; (x: string): Promise; }' is not assignable to parameter of type '(value: number) => Promise'. Type 'Promise' is not assignable to type 'Promise'. Type 'number' is not assignable to type 'string'. @@ -277,6 +283,8 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): !!! error TS2769: No overload matches this call. !!! error TS2769: The last overload gave the following error. !!! error TS2769: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. +!!! error TS2769: Types of parameters 'cb' and 'value' are incompatible. +!!! error TS2769: Type 'string' is not assignable to type '(a: T) => T'. !!! related TS2771 promisePermutations2.ts:12:5: The last overload is declared here. var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error ~~~~~~~~~~~~~~ @@ -360,6 +368,7 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): ~~~~~~~~~ !!! error TS2345: Argument of type '(x: any) => IPromise' is not assignable to parameter of type '(error: any) => IPromise'. !!! error TS2345: Type 'IPromise' is not assignable to type 'IPromise'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok var r10 = testFunction10(x => x); @@ -371,6 +380,8 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): !!! error TS2769: No overload matches this call. !!! error TS2769: The last overload gave the following error. !!! error TS2769: Argument of type '(x: any) => IPromise' is not assignable to parameter of type '(error: any) => IPromise'. +!!! error TS2769: Type 'IPromise' is not assignable to type 'IPromise'. +!!! error TS2769: Type 'string' is not assignable to type 'number'. !!! related TS2771 promisePermutations2.ts:12:5: The last overload is declared here. var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok var s10 = testFunction10P(x => x); @@ -400,6 +411,7 @@ promisePermutations2.ts(159,21): error TS2345: Argument of type '{ (x: number): ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '{ (x: number): IPromise; (x: string): IPromise; }' is not assignable to parameter of type '(value: number) => IPromise'. !!! error TS2345: Type 'IPromise' is not assignable to type 'IPromise'. +!!! error TS2345: Type 'number' is not assignable to type 'string'. var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // ok ~~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '{ (x: number): Promise; (x: string): Promise; }' is not assignable to parameter of type '(value: number) => Promise'. diff --git a/tests/baselines/reference/promisePermutations3.errors.txt b/tests/baselines/reference/promisePermutations3.errors.txt index 4b653256db3..e3967f6750a 100644 --- a/tests/baselines/reference/promisePermutations3.errors.txt +++ b/tests/baselines/reference/promisePermutations3.errors.txt @@ -56,6 +56,8 @@ promisePermutations3.ts(105,19): error TS2345: Argument of type '(cb: (a: T) Types of parameters 'cb' and 'value' are incompatible. Type 'string' is not assignable to type '(a: T) => T'. promisePermutations3.ts(108,19): error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. + Types of parameters 'cb' and 'value' are incompatible. + Type 'string' is not assignable to type '(a: T) => T'. promisePermutations3.ts(109,19): error TS2345: Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => Promise'. Types of parameters 'cb' and 'value' are incompatible. Type 'string' is not assignable to type '(a: T) => T'. @@ -97,7 +99,10 @@ promisePermutations3.ts(136,33): error TS2769: No overload matches this call. The last overload gave the following error. Argument of type '(x: any) => IPromise' is not assignable to parameter of type '(error: any) => IPromise'. Type 'IPromise' is not assignable to type 'IPromise'. + Type 'string' is not assignable to type 'number'. promisePermutations3.ts(143,35): error TS2345: Argument of type '(x: any) => IPromise' is not assignable to parameter of type '(error: any) => IPromise'. + Type 'IPromise' is not assignable to type 'IPromise'. + Type 'string' is not assignable to type 'number'. promisePermutations3.ts(151,36): error TS2769: No overload matches this call. The last overload gave the following error. Argument of type '(x: any) => IPromise' is not assignable to parameter of type '(error: any) => Promise'. @@ -109,6 +114,7 @@ promisePermutations3.ts(157,21): error TS2769: No overload matches this call. The last overload gave the following error. Argument of type '{ (x: number): IPromise; (x: string): IPromise; }' is not assignable to parameter of type '(value: number) => IPromise'. Type 'IPromise' is not assignable to type 'IPromise'. + Type 'number' is not assignable to type 'string'. promisePermutations3.ts(158,21): error TS2769: No overload matches this call. The last overload gave the following error. Argument of type '{ (x: number): Promise; (x: string): Promise; }' is not assignable to parameter of type '(value: number) => Promise'. @@ -320,6 +326,8 @@ promisePermutations3.ts(165,21): error TS2345: Argument of type '{ (x: T): IP var s7a = r7.then(testFunction7, testFunction7, testFunction7); // error ~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => IPromise' is not assignable to parameter of type '(value: string) => IPromise'. +!!! error TS2345: Types of parameters 'cb' and 'value' are incompatible. +!!! error TS2345: Type 'string' is not assignable to type '(a: T) => T'. var s7b = r7.then(testFunction7P, testFunction7P, testFunction7P); // error ~~~~~~~~~~~~~~ !!! error TS2345: Argument of type '(cb: (a: T) => T) => Promise' is not assignable to parameter of type '(value: string) => Promise'. @@ -407,6 +415,7 @@ promisePermutations3.ts(165,21): error TS2345: Argument of type '{ (x: T): IP !!! error TS2769: The last overload gave the following error. !!! error TS2769: Argument of type '(x: any) => IPromise' is not assignable to parameter of type '(error: any) => IPromise'. !!! error TS2769: Type 'IPromise' is not assignable to type 'IPromise'. +!!! error TS2769: Type 'string' is not assignable to type 'number'. !!! related TS2771 promisePermutations3.ts:7:5: The last overload is declared here. var s9g = s9.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok @@ -417,6 +426,8 @@ promisePermutations3.ts(165,21): error TS2345: Argument of type '{ (x: T): IP var r10d = r10.then(testFunction, sIPromise, nIPromise); // error ~~~~~~~~~ !!! error TS2345: Argument of type '(x: any) => IPromise' is not assignable to parameter of type '(error: any) => IPromise'. +!!! error TS2345: Type 'IPromise' is not assignable to type 'IPromise'. +!!! error TS2345: Type 'string' is not assignable to type 'number'. var r10e = r10.then(testFunction, nIPromise, sIPromise).then(sIPromise, sIPromise, sIPromise); // ok var s10 = testFunction10P(x => x); var s10a = s10.then(testFunction10, testFunction10, testFunction10); // ok @@ -447,6 +458,7 @@ promisePermutations3.ts(165,21): error TS2345: Argument of type '{ (x: T): IP !!! error TS2769: The last overload gave the following error. !!! error TS2769: Argument of type '{ (x: number): IPromise; (x: string): IPromise; }' is not assignable to parameter of type '(value: number) => IPromise'. !!! error TS2769: Type 'IPromise' is not assignable to type 'IPromise'. +!!! error TS2769: Type 'number' is not assignable to type 'string'. !!! related TS2771 promisePermutations3.ts:7:5: The last overload is declared here. var s11b = s11.then(testFunction11P, testFunction11P, testFunction11P); // error ~~~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/promisesWithConstraints.errors.txt b/tests/baselines/reference/promisesWithConstraints.errors.txt index 3f689043ea5..45d3e8e057b 100644 --- a/tests/baselines/reference/promisesWithConstraints.errors.txt +++ b/tests/baselines/reference/promisesWithConstraints.errors.txt @@ -1,7 +1,7 @@ promisesWithConstraints.ts(15,1): error TS2322: Type 'Promise' is not assignable to type 'Promise'. Property 'y' is missing in type 'Foo' but required in type 'Bar'. promisesWithConstraints.ts(20,1): error TS2322: Type 'CPromise' is not assignable to type 'CPromise'. - Type 'Foo' is not assignable to type 'Bar'. + Property 'y' is missing in type 'Foo' but required in type 'Bar'. ==== promisesWithConstraints.ts (2 errors) ==== @@ -31,5 +31,6 @@ promisesWithConstraints.ts(20,1): error TS2322: Type 'CPromise' is not assi b2 = a2; // was error ~~ !!! error TS2322: Type 'CPromise' is not assignable to type 'CPromise'. -!!! error TS2322: Type 'Foo' is not assignable to type 'Bar'. +!!! error TS2322: Property 'y' is missing in type 'Foo' but required in type 'Bar'. +!!! related TS2728 promisesWithConstraints.ts:10:20: 'y' is declared here. \ No newline at end of file diff --git a/tests/baselines/reference/reactDefaultPropsInferenceSuccess.errors.txt b/tests/baselines/reference/reactDefaultPropsInferenceSuccess.errors.txt index b3d8cecc8c1..8d798bc537f 100644 --- a/tests/baselines/reference/reactDefaultPropsInferenceSuccess.errors.txt +++ b/tests/baselines/reference/reactDefaultPropsInferenceSuccess.errors.txt @@ -5,6 +5,8 @@ reactDefaultPropsInferenceSuccess.tsx(27,36): error TS2769: No overload matches Type 'void' is not assignable to type 'boolean'. Overload 2 of 2, '(props: Props, context?: any): FieldFeedback', gave the following error. Type '(value: string) => void' is not assignable to type '"a" | "b" | ((value: string) => boolean) | undefined'. + Type '(value: string) => void' is not assignable to type '(value: string) => boolean'. + Type 'void' is not assignable to type 'boolean'. reactDefaultPropsInferenceSuccess.tsx(43,41): error TS2769: No overload matches this call. Overload 1 of 2, '(props: Readonly): FieldFeedbackBeta', gave the following error. Type '(value: string) => void' is not assignable to type '"a" | "b" | ((value: string) => boolean) | undefined'. @@ -12,12 +14,15 @@ reactDefaultPropsInferenceSuccess.tsx(43,41): error TS2769: No overload matches Type 'void' is not assignable to type 'boolean'. Overload 2 of 2, '(props: Props, context?: any): FieldFeedbackBeta', gave the following error. Type '(value: string) => void' is not assignable to type '"a" | "b" | ((value: string) => boolean) | undefined'. + Type '(value: string) => void' is not assignable to type '(value: string) => boolean'. + Type 'void' is not assignable to type 'boolean'. reactDefaultPropsInferenceSuccess.tsx(64,37): error TS2769: No overload matches this call. Overload 1 of 2, '(props: Readonly): FieldFeedback2', gave the following error. Type '(value: string) => void' is not assignable to type '(value: string) => boolean'. Type 'void' is not assignable to type 'boolean'. Overload 2 of 2, '(props: MyPropsProps, context?: any): FieldFeedback2', gave the following error. Type '(value: string) => void' is not assignable to type '(value: string) => boolean'. + Type 'void' is not assignable to type 'boolean'. ==== reactDefaultPropsInferenceSuccess.tsx (3 errors) ==== @@ -56,6 +61,8 @@ reactDefaultPropsInferenceSuccess.tsx(64,37): error TS2769: No overload matches !!! error TS2769: Type 'void' is not assignable to type 'boolean'. !!! error TS2769: Overload 2 of 2, '(props: Props, context?: any): FieldFeedback', gave the following error. !!! error TS2769: Type '(value: string) => void' is not assignable to type '"a" | "b" | ((value: string) => boolean) | undefined'. +!!! error TS2769: Type '(value: string) => void' is not assignable to type '(value: string) => boolean'. +!!! error TS2769: Type 'void' is not assignable to type 'boolean'. !!! related TS6500 reactDefaultPropsInferenceSuccess.tsx:6:3: The expected type comes from property 'when' which is declared here on type 'IntrinsicAttributes & IntrinsicClassAttributes> & Pick & Readonly, "children" | "error"> & Partial & Readonly, "when">> & Partial boolean; }, never>>' !!! related TS6500 reactDefaultPropsInferenceSuccess.tsx:6:3: The expected type comes from property 'when' which is declared here on type 'IntrinsicAttributes & IntrinsicClassAttributes> & Pick & Readonly, "children" | "error"> & Partial & Readonly, "when">> & Partial boolean; }, never>>' @@ -82,6 +89,8 @@ reactDefaultPropsInferenceSuccess.tsx(64,37): error TS2769: No overload matches !!! error TS2769: Type 'void' is not assignable to type 'boolean'. !!! error TS2769: Overload 2 of 2, '(props: Props, context?: any): FieldFeedbackBeta', gave the following error. !!! error TS2769: Type '(value: string) => void' is not assignable to type '"a" | "b" | ((value: string) => boolean) | undefined'. +!!! error TS2769: Type '(value: string) => void' is not assignable to type '(value: string) => boolean'. +!!! error TS2769: Type 'void' is not assignable to type 'boolean'. !!! related TS6500 reactDefaultPropsInferenceSuccess.tsx:6:3: The expected type comes from property 'when' which is declared here on type 'IntrinsicAttributes & IntrinsicClassAttributes> & Pick & Readonly, "children"> & Partial & Readonly, keyof Props>> & Partial>' !!! related TS6500 reactDefaultPropsInferenceSuccess.tsx:6:3: The expected type comes from property 'when' which is declared here on type 'IntrinsicAttributes & IntrinsicClassAttributes> & Pick & Readonly, "children"> & Partial & Readonly, keyof Props>> & Partial>' @@ -112,6 +121,7 @@ reactDefaultPropsInferenceSuccess.tsx(64,37): error TS2769: No overload matches !!! error TS2769: Type 'void' is not assignable to type 'boolean'. !!! error TS2769: Overload 2 of 2, '(props: MyPropsProps, context?: any): FieldFeedback2', gave the following error. !!! error TS2769: Type '(value: string) => void' is not assignable to type '(value: string) => boolean'. +!!! error TS2769: Type 'void' is not assignable to type 'boolean'. !!! related TS6500 reactDefaultPropsInferenceSuccess.tsx:46:3: The expected type comes from property 'when' which is declared here on type 'IntrinsicAttributes & IntrinsicClassAttributes> & Pick & Readonly, "children" | "error"> & Partial & Readonly, "when">> & Partial boolean; }, never>>' !!! related TS6500 reactDefaultPropsInferenceSuccess.tsx:46:3: The expected type comes from property 'when' which is declared here on type 'IntrinsicAttributes & IntrinsicClassAttributes> & Pick & Readonly, "children" | "error"> & Partial & Readonly, "when">> & Partial boolean; }, never>>' diff --git a/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.errors.txt b/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.errors.txt index 73e20f3dce2..06adbd50c99 100644 --- a/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.errors.txt +++ b/tests/baselines/reference/reactReduxLikeDeferredInferenceAllowsAssignment.errors.txt @@ -7,6 +7,9 @@ reactReduxLikeDeferredInferenceAllowsAssignment.ts(76,50): error TS2344: Type 'G Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. Type '(TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string]) | GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[keyof TInjectedProps & string] | TInjectedProps[keyof TInjectedProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. + Type 'GetProps[keyof TInjectedProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. ==== reactReduxLikeDeferredInferenceAllowsAssignment.ts (1 errors) ==== @@ -96,6 +99,9 @@ reactReduxLikeDeferredInferenceAllowsAssignment.ts(76,50): error TS2344: Type 'G !!! error TS2344: Type 'keyof GetProps & string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & keyof GetProps & string] extends GetProps[keyof TInjectedProps & keyof GetProps & string] ? GetProps[keyof TInjectedProps & keyof GetProps & string] : TInjectedProps[keyof TInjectedProps & keyof GetProps & string] : GetProps[keyof GetProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. !!! error TS2344: Type 'string extends keyof TInjectedProps ? TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string] : GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. !!! error TS2344: Type '(TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string]) | GetProps[string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'TInjectedProps[keyof TInjectedProps & string] extends GetProps[keyof TInjectedProps & string] ? GetProps[keyof TInjectedProps & string] : TInjectedProps[keyof TInjectedProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[keyof TInjectedProps & string] | TInjectedProps[keyof TInjectedProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. +!!! error TS2344: Type 'GetProps[keyof TInjectedProps & string]' is not assignable to type '(TInjectedProps[P] extends GetProps[P] ? GetProps[P] : never) | undefined'. >; declare const connect: { diff --git a/tests/baselines/reference/relationComplexityError.errors.txt b/tests/baselines/reference/relationComplexityError.errors.txt index 9738edb2d9d..e6753e6b596 100644 --- a/tests/baselines/reference/relationComplexityError.errors.txt +++ b/tests/baselines/reference/relationComplexityError.errors.txt @@ -1,4 +1,4 @@ -relationComplexityError.ts(12,5): error TS2322: Type 'T1 & T2' is not assignable to type 'T1 | null'. +relationComplexityError.ts(12,5): error TS2859: Excessive complexity comparing types 'T1 & T2' and 'T1 | null'. relationComplexityError.ts(12,5): error TS2859: Excessive complexity comparing types 'T1 & T2' and 'T1 | null'. @@ -16,7 +16,7 @@ relationComplexityError.ts(12,5): error TS2859: Excessive complexity comparing t function f2(x: T1 | null, y: T1 & T2) { x = y; // Complexity error ~ -!!! error TS2322: Type 'T1 & T2' is not assignable to type 'T1 | null'. +!!! error TS2859: Excessive complexity comparing types 'T1 & T2' and 'T1 | null'. ~~~~~ !!! error TS2859: Excessive complexity comparing types 'T1 & T2' and 'T1 | null'. } diff --git a/tests/baselines/reference/setMethods.errors.txt b/tests/baselines/reference/setMethods.errors.txt index dc46f007ec6..62b1e3babe1 100644 --- a/tests/baselines/reference/setMethods.errors.txt +++ b/tests/baselines/reference/setMethods.errors.txt @@ -1,11 +1,17 @@ setMethods.ts(13,17): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. Type 'undefined[]' is missing the following properties from type 'ReadonlySetLike': has, size setMethods.ts(19,24): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. + Type 'undefined[]' is missing the following properties from type 'ReadonlySetLike': has, size setMethods.ts(25,22): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. + Type 'undefined[]' is missing the following properties from type 'ReadonlySetLike': has, size setMethods.ts(31,31): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. + Type 'undefined[]' is missing the following properties from type 'ReadonlySetLike': has, size setMethods.ts(37,22): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. + Type 'undefined[]' is missing the following properties from type 'ReadonlySetLike': has, size setMethods.ts(43,24): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. + Type 'undefined[]' is missing the following properties from type 'ReadonlySetLike': has, size setMethods.ts(49,26): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. + Type 'undefined[]' is missing the following properties from type 'ReadonlySetLike': has, size ==== setMethods.ts (7 errors) ==== @@ -33,6 +39,7 @@ setMethods.ts(49,26): error TS2345: Argument of type 'undefined[]' is not assign numberSet.intersection([]); ~~ !!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. +!!! error TS2345: Type 'undefined[]' is missing the following properties from type 'ReadonlySetLike': has, size numberSet.intersection(new Set); numberSet.intersection(stringSet); numberSet.intersection(numberMap); @@ -41,6 +48,7 @@ setMethods.ts(49,26): error TS2345: Argument of type 'undefined[]' is not assign numberSet.difference([]); ~~ !!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. +!!! error TS2345: Type 'undefined[]' is missing the following properties from type 'ReadonlySetLike': has, size numberSet.difference(new Set); numberSet.difference(stringSet); numberSet.difference(numberMap); @@ -49,6 +57,7 @@ setMethods.ts(49,26): error TS2345: Argument of type 'undefined[]' is not assign numberSet.symmetricDifference([]); ~~ !!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. +!!! error TS2345: Type 'undefined[]' is missing the following properties from type 'ReadonlySetLike': has, size numberSet.symmetricDifference(new Set); numberSet.symmetricDifference(stringSet); numberSet.symmetricDifference(numberMap); @@ -57,6 +66,7 @@ setMethods.ts(49,26): error TS2345: Argument of type 'undefined[]' is not assign numberSet.isSubsetOf([]); ~~ !!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. +!!! error TS2345: Type 'undefined[]' is missing the following properties from type 'ReadonlySetLike': has, size numberSet.isSubsetOf(new Set); numberSet.isSubsetOf(stringSet); numberSet.isSubsetOf(numberMap); @@ -65,6 +75,7 @@ setMethods.ts(49,26): error TS2345: Argument of type 'undefined[]' is not assign numberSet.isSupersetOf([]); ~~ !!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. +!!! error TS2345: Type 'undefined[]' is missing the following properties from type 'ReadonlySetLike': has, size numberSet.isSupersetOf(new Set); numberSet.isSupersetOf(stringSet); numberSet.isSupersetOf(numberMap); @@ -73,6 +84,7 @@ setMethods.ts(49,26): error TS2345: Argument of type 'undefined[]' is not assign numberSet.isDisjointFrom([]); ~~ !!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'ReadonlySetLike'. +!!! error TS2345: Type 'undefined[]' is missing the following properties from type 'ReadonlySetLike': has, size numberSet.isDisjointFrom(new Set); numberSet.isDisjointFrom(stringSet); numberSet.isDisjointFrom(numberMap); diff --git a/tests/baselines/reference/strictFunctionTypesErrors.errors.txt b/tests/baselines/reference/strictFunctionTypesErrors.errors.txt index 0b5ad519223..8c04449ebb3 100644 --- a/tests/baselines/reference/strictFunctionTypesErrors.errors.txt +++ b/tests/baselines/reference/strictFunctionTypesErrors.errors.txt @@ -39,14 +39,18 @@ strictFunctionTypesErrors.ts(61,1): error TS2322: Type 'Func, Type 'Object' is not assignable to type 'string'. strictFunctionTypesErrors.ts(62,1): error TS2322: Type 'Func, string>' is not assignable to type 'Func, Object>'. Type 'Func' is not assignable to type 'Func'. + Type 'Object' is not assignable to type 'string'. strictFunctionTypesErrors.ts(65,1): error TS2322: Type 'Func, Object>' is not assignable to type 'Func, string>'. Type 'Func' is not assignable to type 'Func'. + Type 'Object' is not assignable to type 'string'. strictFunctionTypesErrors.ts(66,1): error TS2322: Type 'Func, string>' is not assignable to type 'Func, string>'. Type 'Func' is not assignable to type 'Func'. + Type 'Object' is not assignable to type 'string'. strictFunctionTypesErrors.ts(67,1): error TS2322: Type 'Func, Object>' is not assignable to type 'Func, string>'. Type 'Object' is not assignable to type 'string'. strictFunctionTypesErrors.ts(74,1): error TS2322: Type 'Func>' is not assignable to type 'Func>'. Type 'Func' is not assignable to type 'Func'. + Type 'Object' is not assignable to type 'string'. strictFunctionTypesErrors.ts(75,1): error TS2322: Type 'Func>' is not assignable to type 'Func>'. Type 'Object' is not assignable to type 'string'. strictFunctionTypesErrors.ts(76,1): error TS2322: Type 'Func>' is not assignable to type 'Func>'. @@ -57,32 +61,34 @@ strictFunctionTypesErrors.ts(80,1): error TS2322: Type 'Func>' is not assignable to type 'Func>'. Type 'Func' is not assignable to type 'Func'. + Type 'Object' is not assignable to type 'string'. strictFunctionTypesErrors.ts(84,1): error TS2322: Type 'Func>' is not assignable to type 'Func>'. Type 'Func' is not assignable to type 'Func'. + Type 'Object' is not assignable to type 'string'. strictFunctionTypesErrors.ts(111,1): error TS2322: Type 'Comparer2' is not assignable to type 'Comparer2'. Property 'dog' is missing in type 'Animal' but required in type 'Dog'. strictFunctionTypesErrors.ts(126,1): error TS2322: Type 'Crate' is not assignable to type 'Crate'. Types of property 'onSetItem' are incompatible. Type '(item: Dog) => void' is not assignable to type '(item: Animal) => void'. Types of parameters 'item' and 'item' are incompatible. - Type 'Animal' is not assignable to type 'Dog'. + Property 'dog' is missing in type 'Animal' but required in type 'Dog'. strictFunctionTypesErrors.ts(127,1): error TS2322: Type 'Crate' is not assignable to type 'Crate'. Types of property 'item' are incompatible. - Type 'Animal' is not assignable to type 'Dog'. + Property 'dog' is missing in type 'Animal' but required in type 'Dog'. strictFunctionTypesErrors.ts(133,1): error TS2328: Types of parameters 'f' and 'f' are incompatible. - Type 'Animal' is not assignable to type 'Dog'. + Property 'dog' is missing in type 'Animal' but required in type 'Dog'. strictFunctionTypesErrors.ts(134,1): error TS2322: Type '(f: (x: Animal) => Animal) => void' is not assignable to type '(f: (x: Dog) => Dog) => void'. Types of parameters 'f' and 'f' are incompatible. Types of parameters 'x' and 'x' are incompatible. - Type 'Animal' is not assignable to type 'Dog'. + Property 'dog' is missing in type 'Animal' but required in type 'Dog'. strictFunctionTypesErrors.ts(147,5): error TS2322: Type '(cb: (x: Animal) => Animal) => void' is not assignable to type '(cb: (x: Dog) => Animal) => void'. Types of parameters 'cb' and 'cb' are incompatible. Types of parameters 'x' and 'x' are incompatible. - Type 'Animal' is not assignable to type 'Dog'. + Property 'dog' is missing in type 'Animal' but required in type 'Dog'. strictFunctionTypesErrors.ts(155,5): error TS2322: Type '(cb: (x: Animal) => Animal) => void' is not assignable to type '(cb: (x: Dog) => Animal) => void'. Types of parameters 'cb' and 'cb' are incompatible. Types of parameters 'x' and 'x' are incompatible. - Type 'Animal' is not assignable to type 'Dog'. + Property 'dog' is missing in type 'Animal' but required in type 'Dog'. ==== strictFunctionTypesErrors.ts (35 errors) ==== @@ -207,16 +213,19 @@ strictFunctionTypesErrors.ts(155,5): error TS2322: Type '(cb: (x: Animal) => Ani ~~ !!! error TS2322: Type 'Func, string>' is not assignable to type 'Func, Object>'. !!! error TS2322: Type 'Func' is not assignable to type 'Func'. +!!! error TS2322: Type 'Object' is not assignable to type 'string'. h3 = h4; // Ok h4 = h1; // Error ~~ !!! error TS2322: Type 'Func, Object>' is not assignable to type 'Func, string>'. !!! error TS2322: Type 'Func' is not assignable to type 'Func'. +!!! error TS2322: Type 'Object' is not assignable to type 'string'. h4 = h2; // Error ~~ !!! error TS2322: Type 'Func, string>' is not assignable to type 'Func, string>'. !!! error TS2322: Type 'Func' is not assignable to type 'Func'. +!!! error TS2322: Type 'Object' is not assignable to type 'string'. h4 = h3; // Error ~~ !!! error TS2322: Type 'Func, Object>' is not assignable to type 'Func, string>'. @@ -231,6 +240,7 @@ strictFunctionTypesErrors.ts(155,5): error TS2322: Type '(cb: (x: Animal) => Ani ~~ !!! error TS2322: Type 'Func>' is not assignable to type 'Func>'. !!! error TS2322: Type 'Func' is not assignable to type 'Func'. +!!! error TS2322: Type 'Object' is not assignable to type 'string'. i1 = i3; // Error ~~ !!! error TS2322: Type 'Func>' is not assignable to type 'Func>'. @@ -255,10 +265,12 @@ strictFunctionTypesErrors.ts(155,5): error TS2322: Type '(cb: (x: Animal) => Ani ~~ !!! error TS2322: Type 'Func>' is not assignable to type 'Func>'. !!! error TS2322: Type 'Func' is not assignable to type 'Func'. +!!! error TS2322: Type 'Object' is not assignable to type 'string'. i3 = i4; // Error ~~ !!! error TS2322: Type 'Func>' is not assignable to type 'Func>'. !!! error TS2322: Type 'Func' is not assignable to type 'Func'. +!!! error TS2322: Type 'Object' is not assignable to type 'string'. i4 = i1; // Ok i4 = i2; // Ok @@ -310,12 +322,14 @@ strictFunctionTypesErrors.ts(155,5): error TS2322: Type '(cb: (x: Animal) => Ani !!! error TS2322: Types of property 'onSetItem' are incompatible. !!! error TS2322: Type '(item: Dog) => void' is not assignable to type '(item: Animal) => void'. !!! error TS2322: Types of parameters 'item' and 'item' are incompatible. -!!! error TS2322: Type 'Animal' is not assignable to type 'Dog'. +!!! error TS2322: Property 'dog' is missing in type 'Animal' but required in type 'Dog'. +!!! related TS2728 strictFunctionTypesErrors.ts:91:32: 'dog' is declared here. dogCrate = animalCrate; // Error ~~~~~~~~ !!! error TS2322: Type 'Crate' is not assignable to type 'Crate'. !!! error TS2322: Types of property 'item' are incompatible. -!!! error TS2322: Type 'Animal' is not assignable to type 'Dog'. +!!! error TS2322: Property 'dog' is missing in type 'Animal' but required in type 'Dog'. +!!! related TS2728 strictFunctionTypesErrors.ts:91:32: 'dog' is declared here. // Verify that callback parameters are strictly checked @@ -324,13 +338,15 @@ strictFunctionTypesErrors.ts(155,5): error TS2322: Type '(cb: (x: Animal) => Ani fc1 = fc2; // Error ~~~ !!! error TS2328: Types of parameters 'f' and 'f' are incompatible. -!!! error TS2328: Type 'Animal' is not assignable to type 'Dog'. +!!! error TS2328: Property 'dog' is missing in type 'Animal' but required in type 'Dog'. +!!! related TS2728 strictFunctionTypesErrors.ts:91:32: 'dog' is declared here. fc2 = fc1; // Error ~~~ !!! error TS2322: Type '(f: (x: Animal) => Animal) => void' is not assignable to type '(f: (x: Dog) => Dog) => void'. !!! error TS2322: Types of parameters 'f' and 'f' are incompatible. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'Animal' is not assignable to type 'Dog'. +!!! error TS2322: Property 'dog' is missing in type 'Animal' but required in type 'Dog'. +!!! related TS2728 strictFunctionTypesErrors.ts:91:32: 'dog' is declared here. // Verify that callback parameters aren't loosely checked when types // originate in method declarations @@ -348,7 +364,8 @@ strictFunctionTypesErrors.ts(155,5): error TS2322: Type '(cb: (x: Animal) => Ani !!! error TS2322: Type '(cb: (x: Animal) => Animal) => void' is not assignable to type '(cb: (x: Dog) => Animal) => void'. !!! error TS2322: Types of parameters 'cb' and 'cb' are incompatible. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'Animal' is not assignable to type 'Dog'. +!!! error TS2322: Property 'dog' is missing in type 'Animal' but required in type 'Dog'. +!!! related TS2728 strictFunctionTypesErrors.ts:91:32: 'dog' is declared here. } namespace n2 { @@ -361,5 +378,6 @@ strictFunctionTypesErrors.ts(155,5): error TS2322: Type '(cb: (x: Animal) => Ani !!! error TS2322: Type '(cb: (x: Animal) => Animal) => void' is not assignable to type '(cb: (x: Dog) => Animal) => void'. !!! error TS2322: Types of parameters 'cb' and 'cb' are incompatible. !!! error TS2322: Types of parameters 'x' and 'x' are incompatible. -!!! error TS2322: Type 'Animal' is not assignable to type 'Dog'. +!!! error TS2322: Property 'dog' is missing in type 'Animal' but required in type 'Dog'. +!!! related TS2728 strictFunctionTypesErrors.ts:91:32: 'dog' is declared here. } \ No newline at end of file diff --git a/tests/baselines/reference/stringMappingOverPatternLiterals.errors.txt b/tests/baselines/reference/stringMappingOverPatternLiterals.errors.txt index d450ef0fcf0..aa201dde6e1 100644 --- a/tests/baselines/reference/stringMappingOverPatternLiterals.errors.txt +++ b/tests/baselines/reference/stringMappingOverPatternLiterals.errors.txt @@ -18,6 +18,7 @@ stringMappingOverPatternLiterals.ts(57,5): error TS2322: Type 'string' is not as stringMappingOverPatternLiterals.ts(78,5): error TS2322: Type 'Uppercase' is not assignable to type 'Uppercase>'. Type 'string' is not assignable to type 'Lowercase'. stringMappingOverPatternLiterals.ts(79,5): error TS2322: Type 'Uppercase' is not assignable to type 'Uppercase>'. + Type 'string' is not assignable to type 'Lowercase'. stringMappingOverPatternLiterals.ts(83,5): error TS2322: Type 'Lowercase>' is not assignable to type 'Uppercase'. stringMappingOverPatternLiterals.ts(84,5): error TS2322: Type 'Lowercase>' is not assignable to type 'Uppercase'. stringMappingOverPatternLiterals.ts(85,5): error TS2322: Type 'Lowercase>' is not assignable to type 'Uppercase>'. @@ -27,11 +28,15 @@ stringMappingOverPatternLiterals.ts(89,5): error TS2322: Type 'Uppercase' is not assignable to type '`A${string}`'. Type 'string' is not assignable to type '`A${string}`'. stringMappingOverPatternLiterals.ts(130,5): error TS2322: Type 'Capitalize' is not assignable to type '`A${string}`'. + Type 'string' is not assignable to type '`A${string}`'. stringMappingOverPatternLiterals.ts(131,5): error TS2322: Type 'Capitalize' is not assignable to type '`A${string}`'. + Type 'string' is not assignable to type '`A${string}`'. stringMappingOverPatternLiterals.ts(147,5): error TS2322: Type 'Uncapitalize' is not assignable to type '`a${string}`'. Type 'string' is not assignable to type '`a${string}`'. stringMappingOverPatternLiterals.ts(148,5): error TS2322: Type 'Uncapitalize' is not assignable to type '`a${string}`'. + Type 'string' is not assignable to type '`a${string}`'. stringMappingOverPatternLiterals.ts(149,5): error TS2322: Type 'Uncapitalize' is not assignable to type '`a${string}`'. + Type 'string' is not assignable to type '`a${string}`'. ==== stringMappingOverPatternLiterals.ts (29 errors) ==== @@ -151,6 +156,7 @@ stringMappingOverPatternLiterals.ts(149,5): error TS2322: Type 'Uncapitalize' is not assignable to type 'Uppercase>'. +!!! error TS2322: Type 'string' is not assignable to type 'Lowercase'. // and this should also not be equivlent to any others var x4: Lowercase> = null as any; @@ -219,9 +225,11 @@ stringMappingOverPatternLiterals.ts(149,5): error TS2322: Type 'Uncapitalize' is not assignable to type '`A${string}`'. +!!! error TS2322: Type 'string' is not assignable to type '`A${string}`'. cap_tem_map2 = cap_str; ~~~~~~~~~~~~ !!! error TS2322: Type 'Capitalize' is not assignable to type '`A${string}`'. +!!! error TS2322: Type 'string' is not assignable to type '`A${string}`'. // All these are uncapitalized uncap_str = uncap_tem; @@ -244,7 +252,9 @@ stringMappingOverPatternLiterals.ts(149,5): error TS2322: Type 'Uncapitalize' is not assignable to type '`a${string}`'. +!!! error TS2322: Type 'string' is not assignable to type '`a${string}`'. uncap_tem_map2 = uncap_str; ~~~~~~~~~~~~~~ !!! error TS2322: Type 'Uncapitalize' is not assignable to type '`a${string}`'. +!!! error TS2322: Type 'string' is not assignable to type '`a${string}`'. } \ No newline at end of file diff --git a/tests/baselines/reference/subclassThisTypeAssignable01.errors.txt b/tests/baselines/reference/subclassThisTypeAssignable01.errors.txt index b385c350407..e97bdfb5ac0 100644 --- a/tests/baselines/reference/subclassThisTypeAssignable01.errors.txt +++ b/tests/baselines/reference/subclassThisTypeAssignable01.errors.txt @@ -1,4 +1,5 @@ file1.js(2,7): error TS2322: Type 'C' is not assignable to type 'ClassComponent'. + Index signature for type 'number' is missing in type 'C'. tile1.ts(2,30): error TS2344: Type 'State' does not satisfy the constraint 'Lifecycle'. tile1.ts(6,81): error TS2744: Type parameter defaults can only reference previously declared type parameters. tile1.ts(11,40): error TS2344: Type 'State' does not satisfy the constraint 'Lifecycle'. @@ -62,4 +63,5 @@ tile1.ts(24,7): error TS2322: Type 'C' is not assignable to type 'ClassComponent const test9 = new C(); ~~~~~ !!! error TS2322: Type 'C' is not assignable to type 'ClassComponent'. +!!! error TS2322: Index signature for type 'number' is missing in type 'C'. \ No newline at end of file diff --git a/tests/baselines/reference/subtypingWithNumericIndexer2.errors.txt b/tests/baselines/reference/subtypingWithNumericIndexer2.errors.txt index 572c103836f..4ffb55f7afd 100644 --- a/tests/baselines/reference/subtypingWithNumericIndexer2.errors.txt +++ b/tests/baselines/reference/subtypingWithNumericIndexer2.errors.txt @@ -2,6 +2,7 @@ subtypingWithNumericIndexer2.ts(11,11): error TS2430: Interface 'B' incorrectly 'number' index signatures are incompatible. Property 'bar' is missing in type 'Base' but required in type 'Derived'. subtypingWithNumericIndexer2.ts(24,27): error TS2344: Type 'Base' does not satisfy the constraint 'Derived'. + Property 'bar' is missing in type 'Base' but required in type 'Derived'. subtypingWithNumericIndexer2.ts(32,15): error TS2430: Interface 'B3' incorrectly extends interface 'A'. 'number' index signatures are incompatible. Type 'Base' is not assignable to type 'T'. @@ -48,6 +49,8 @@ subtypingWithNumericIndexer2.ts(40,15): error TS2430: Interface 'B5' incorrec interface B extends A { ~~~~ !!! error TS2344: Type 'Base' does not satisfy the constraint 'Derived'. +!!! error TS2344: Property 'bar' is missing in type 'Base' but required in type 'Derived'. +!!! related TS2728 subtypingWithNumericIndexer2.ts:4:34: 'bar' is declared here. [x: number]: Derived; // error } diff --git a/tests/baselines/reference/subtypingWithNumericIndexer3.errors.txt b/tests/baselines/reference/subtypingWithNumericIndexer3.errors.txt index f6ad0824e6f..f08112dbb97 100644 --- a/tests/baselines/reference/subtypingWithNumericIndexer3.errors.txt +++ b/tests/baselines/reference/subtypingWithNumericIndexer3.errors.txt @@ -2,6 +2,7 @@ subtypingWithNumericIndexer3.ts(11,7): error TS2415: Class 'B' incorrectly exten 'number' index signatures are incompatible. Property 'bar' is missing in type 'Base' but required in type 'Derived'. subtypingWithNumericIndexer3.ts(24,23): error TS2344: Type 'Base' does not satisfy the constraint 'Derived'. + Property 'bar' is missing in type 'Base' but required in type 'Derived'. subtypingWithNumericIndexer3.ts(32,11): error TS2415: Class 'B3' incorrectly extends base class 'A'. 'number' index signatures are incompatible. Type 'Base' is not assignable to type 'T'. @@ -48,6 +49,8 @@ subtypingWithNumericIndexer3.ts(40,11): error TS2415: Class 'B5' incorrectly class B extends A { ~~~~ !!! error TS2344: Type 'Base' does not satisfy the constraint 'Derived'. +!!! error TS2344: Property 'bar' is missing in type 'Base' but required in type 'Derived'. +!!! related TS2728 subtypingWithNumericIndexer3.ts:4:34: 'bar' is declared here. [x: number]: Derived; // error } diff --git a/tests/baselines/reference/subtypingWithObjectMembers3.errors.txt b/tests/baselines/reference/subtypingWithObjectMembers3.errors.txt index c59241257c5..c69465b1ee1 100644 --- a/tests/baselines/reference/subtypingWithObjectMembers3.errors.txt +++ b/tests/baselines/reference/subtypingWithObjectMembers3.errors.txt @@ -3,19 +3,19 @@ subtypingWithObjectMembers3.ts(17,15): error TS2430: Interface 'B' incorrectly e Property 'bar' is missing in type 'Base' but required in type 'Derived'. subtypingWithObjectMembers3.ts(27,15): error TS2430: Interface 'B2' incorrectly extends interface 'A2'. Types of property '2.0' are incompatible. - Type 'Base' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Base' but required in type 'Derived'. subtypingWithObjectMembers3.ts(37,15): error TS2430: Interface 'B3' incorrectly extends interface 'A3'. Types of property ''2.0'' are incompatible. - Type 'Base' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Base' but required in type 'Derived'. subtypingWithObjectMembers3.ts(49,15): error TS2430: Interface 'B' incorrectly extends interface 'A'. Types of property 'bar' are incompatible. - Type 'Base' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Base' but required in type 'Derived'. subtypingWithObjectMembers3.ts(59,15): error TS2430: Interface 'B2' incorrectly extends interface 'A2'. Types of property '2.0' are incompatible. - Type 'Base' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Base' but required in type 'Derived'. subtypingWithObjectMembers3.ts(69,15): error TS2430: Interface 'B3' incorrectly extends interface 'A3'. Types of property ''2.0'' are incompatible. - Type 'Base' is not assignable to type 'Derived'. + Property 'bar' is missing in type 'Base' but required in type 'Derived'. ==== subtypingWithObjectMembers3.ts (6 errors) ==== @@ -54,7 +54,8 @@ subtypingWithObjectMembers3.ts(69,15): error TS2430: Interface 'B3' incorrectly ~~ !!! error TS2430: Interface 'B2' incorrectly extends interface 'A2'. !!! error TS2430: Types of property '2.0' are incompatible. -!!! error TS2430: Type 'Base' is not assignable to type 'Derived'. +!!! error TS2430: Property 'bar' is missing in type 'Base' but required in type 'Derived'. +!!! related TS2728 subtypingWithObjectMembers3.ts:6:5: 'bar' is declared here. 1: Derived; // ok 2: Base; // error } @@ -68,7 +69,8 @@ subtypingWithObjectMembers3.ts(69,15): error TS2430: Interface 'B3' incorrectly ~~ !!! error TS2430: Interface 'B3' incorrectly extends interface 'A3'. !!! error TS2430: Types of property ''2.0'' are incompatible. -!!! error TS2430: Type 'Base' is not assignable to type 'Derived'. +!!! error TS2430: Property 'bar' is missing in type 'Base' but required in type 'Derived'. +!!! related TS2728 subtypingWithObjectMembers3.ts:6:5: 'bar' is declared here. '1': Derived; // ok '2.0': Base; // error } @@ -84,7 +86,8 @@ subtypingWithObjectMembers3.ts(69,15): error TS2430: Interface 'B3' incorrectly ~ !!! error TS2430: Interface 'B' incorrectly extends interface 'A'. !!! error TS2430: Types of property 'bar' are incompatible. -!!! error TS2430: Type 'Base' is not assignable to type 'Derived'. +!!! error TS2430: Property 'bar' is missing in type 'Base' but required in type 'Derived'. +!!! related TS2728 subtypingWithObjectMembers3.ts:6:5: 'bar' is declared here. foo?: Derived; // ok bar?: Base; // error } @@ -98,7 +101,8 @@ subtypingWithObjectMembers3.ts(69,15): error TS2430: Interface 'B3' incorrectly ~~ !!! error TS2430: Interface 'B2' incorrectly extends interface 'A2'. !!! error TS2430: Types of property '2.0' are incompatible. -!!! error TS2430: Type 'Base' is not assignable to type 'Derived'. +!!! error TS2430: Property 'bar' is missing in type 'Base' but required in type 'Derived'. +!!! related TS2728 subtypingWithObjectMembers3.ts:6:5: 'bar' is declared here. 1?: Derived; // ok 2?: Base; // error } @@ -112,7 +116,8 @@ subtypingWithObjectMembers3.ts(69,15): error TS2430: Interface 'B3' incorrectly ~~ !!! error TS2430: Interface 'B3' incorrectly extends interface 'A3'. !!! error TS2430: Types of property ''2.0'' are incompatible. -!!! error TS2430: Type 'Base' is not assignable to type 'Derived'. +!!! error TS2430: Property 'bar' is missing in type 'Base' but required in type 'Derived'. +!!! related TS2728 subtypingWithObjectMembers3.ts:6:5: 'bar' is declared here. '1'?: Derived; // ok '2.0'?: Base; // error } diff --git a/tests/baselines/reference/subtypingWithStringIndexer2.errors.txt b/tests/baselines/reference/subtypingWithStringIndexer2.errors.txt index 36cd6465749..8a43b708b19 100644 --- a/tests/baselines/reference/subtypingWithStringIndexer2.errors.txt +++ b/tests/baselines/reference/subtypingWithStringIndexer2.errors.txt @@ -2,6 +2,7 @@ subtypingWithStringIndexer2.ts(11,11): error TS2430: Interface 'B' incorrectly e 'string' index signatures are incompatible. Property 'bar' is missing in type 'Base' but required in type 'Derived'. subtypingWithStringIndexer2.ts(24,27): error TS2344: Type 'Base' does not satisfy the constraint 'Derived'. + Property 'bar' is missing in type 'Base' but required in type 'Derived'. subtypingWithStringIndexer2.ts(32,15): error TS2430: Interface 'B3' incorrectly extends interface 'A'. 'string' index signatures are incompatible. Type 'Base' is not assignable to type 'T'. @@ -48,6 +49,8 @@ subtypingWithStringIndexer2.ts(40,15): error TS2430: Interface 'B5' incorrect interface B extends A { ~~~~ !!! error TS2344: Type 'Base' does not satisfy the constraint 'Derived'. +!!! error TS2344: Property 'bar' is missing in type 'Base' but required in type 'Derived'. +!!! related TS2728 subtypingWithStringIndexer2.ts:4:34: 'bar' is declared here. [x: string]: Derived; // error } diff --git a/tests/baselines/reference/subtypingWithStringIndexer3.errors.txt b/tests/baselines/reference/subtypingWithStringIndexer3.errors.txt index 9f55434c78a..2097ececc05 100644 --- a/tests/baselines/reference/subtypingWithStringIndexer3.errors.txt +++ b/tests/baselines/reference/subtypingWithStringIndexer3.errors.txt @@ -2,6 +2,7 @@ subtypingWithStringIndexer3.ts(11,7): error TS2415: Class 'B' incorrectly extend 'string' index signatures are incompatible. Property 'bar' is missing in type 'Base' but required in type 'Derived'. subtypingWithStringIndexer3.ts(24,23): error TS2344: Type 'Base' does not satisfy the constraint 'Derived'. + Property 'bar' is missing in type 'Base' but required in type 'Derived'. subtypingWithStringIndexer3.ts(32,11): error TS2415: Class 'B3' incorrectly extends base class 'A'. 'string' index signatures are incompatible. Type 'Base' is not assignable to type 'T'. @@ -48,6 +49,8 @@ subtypingWithStringIndexer3.ts(40,11): error TS2415: Class 'B5' incorrectly e class B extends A { ~~~~ !!! error TS2344: Type 'Base' does not satisfy the constraint 'Derived'. +!!! error TS2344: Property 'bar' is missing in type 'Base' but required in type 'Derived'. +!!! related TS2728 subtypingWithStringIndexer3.ts:4:34: 'bar' is declared here. [x: string]: Derived; // error } diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.errors.txt index b9eb286af2f..4ebe0dd9bd5 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1.errors.txt @@ -1,21 +1,28 @@ taggedTemplateStringsWithOverloadResolution1.ts(9,13): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. taggedTemplateStringsWithOverloadResolution1.ts(10,13): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. taggedTemplateStringsWithOverloadResolution1.ts(11,13): error TS2769: No overload matches this call. Overload 1 of 4, '(strs: TemplateStringsArray, x: number, y: number): boolean', gave the following error. Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. Overload 2 of 4, '(strs: TemplateStringsArray, x: number, y: string): {}', gave the following error. Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. taggedTemplateStringsWithOverloadResolution1.ts(12,13): error TS2769: No overload matches this call. Overload 1 of 4, '(strs: TemplateStringsArray, x: number, y: number): boolean', gave the following error. Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. Overload 2 of 4, '(strs: TemplateStringsArray, x: number, y: string): {}', gave the following error. Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. taggedTemplateStringsWithOverloadResolution1.ts(13,13): error TS2769: No overload matches this call. Overload 1 of 4, '(strs: TemplateStringsArray, x: number, y: number): boolean', gave the following error. Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. Overload 2 of 4, '(strs: TemplateStringsArray, x: number, y: string): {}', gave the following error. Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. taggedTemplateStringsWithOverloadResolution1.ts(14,23): error TS2554: Expected 1-3 arguments, but got 4. taggedTemplateStringsWithOverloadResolution1.ts(19,20): error TS2769: No overload matches this call. Overload 1 of 4, '(strs: TemplateStringsArray, x: number, y: number): boolean', gave the following error. @@ -43,30 +50,44 @@ taggedTemplateStringsWithOverloadResolution1.ts(21,24): error TS2554: Expected 1 var b = foo([], 1); // string ~~ !!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2345: Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. +!!! related TS2728 lib.es5.d.ts:--:--: 'raw' is declared here. !!! related TS2793 taggedTemplateStringsWithOverloadResolution1.ts:5:10: The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible. var c = foo([], 1, 2); // boolean ~~ !!! error TS2769: No overload matches this call. !!! error TS2769: Overload 1 of 4, '(strs: TemplateStringsArray, x: number, y: number): boolean', gave the following error. !!! error TS2769: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2769: Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. !!! error TS2769: Overload 2 of 4, '(strs: TemplateStringsArray, x: number, y: string): {}', gave the following error. !!! error TS2769: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2769: Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. +!!! related TS2728 lib.es5.d.ts:--:--: 'raw' is declared here. +!!! related TS2728 lib.es5.d.ts:--:--: 'raw' is declared here. !!! related TS2793 taggedTemplateStringsWithOverloadResolution1.ts:5:10: The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible. var d = foo([], 1, true); // boolean (with error) ~~ !!! error TS2769: No overload matches this call. !!! error TS2769: Overload 1 of 4, '(strs: TemplateStringsArray, x: number, y: number): boolean', gave the following error. !!! error TS2769: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2769: Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. !!! error TS2769: Overload 2 of 4, '(strs: TemplateStringsArray, x: number, y: string): {}', gave the following error. !!! error TS2769: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2769: Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. +!!! related TS2728 lib.es5.d.ts:--:--: 'raw' is declared here. +!!! related TS2728 lib.es5.d.ts:--:--: 'raw' is declared here. !!! related TS2793 taggedTemplateStringsWithOverloadResolution1.ts:5:10: The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible. var e = foo([], 1, "2"); // {} ~~ !!! error TS2769: No overload matches this call. !!! error TS2769: Overload 1 of 4, '(strs: TemplateStringsArray, x: number, y: number): boolean', gave the following error. !!! error TS2769: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2769: Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. !!! error TS2769: Overload 2 of 4, '(strs: TemplateStringsArray, x: number, y: string): {}', gave the following error. !!! error TS2769: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2769: Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. +!!! related TS2728 lib.es5.d.ts:--:--: 'raw' is declared here. +!!! related TS2728 lib.es5.d.ts:--:--: 'raw' is declared here. !!! related TS2793 taggedTemplateStringsWithOverloadResolution1.ts:5:10: The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible. var f = foo([], 1, 2, 3); // any (with error) ~ diff --git a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.errors.txt b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.errors.txt index 1db36713d9c..128b830203e 100644 --- a/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.errors.txt +++ b/tests/baselines/reference/taggedTemplateStringsWithOverloadResolution1_ES6.errors.txt @@ -1,21 +1,28 @@ taggedTemplateStringsWithOverloadResolution1_ES6.ts(9,13): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. taggedTemplateStringsWithOverloadResolution1_ES6.ts(10,13): error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. taggedTemplateStringsWithOverloadResolution1_ES6.ts(11,13): error TS2769: No overload matches this call. Overload 1 of 4, '(strs: TemplateStringsArray, x: number, y: number): boolean', gave the following error. Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. Overload 2 of 4, '(strs: TemplateStringsArray, x: number, y: string): {}', gave the following error. Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. taggedTemplateStringsWithOverloadResolution1_ES6.ts(12,13): error TS2769: No overload matches this call. Overload 1 of 4, '(strs: TemplateStringsArray, x: number, y: number): boolean', gave the following error. Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. Overload 2 of 4, '(strs: TemplateStringsArray, x: number, y: string): {}', gave the following error. Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. taggedTemplateStringsWithOverloadResolution1_ES6.ts(13,13): error TS2769: No overload matches this call. Overload 1 of 4, '(strs: TemplateStringsArray, x: number, y: number): boolean', gave the following error. Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. Overload 2 of 4, '(strs: TemplateStringsArray, x: number, y: string): {}', gave the following error. Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. + Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. taggedTemplateStringsWithOverloadResolution1_ES6.ts(14,23): error TS2554: Expected 1-3 arguments, but got 4. taggedTemplateStringsWithOverloadResolution1_ES6.ts(19,20): error TS2769: No overload matches this call. Overload 1 of 4, '(strs: TemplateStringsArray, x: number, y: number): boolean', gave the following error. @@ -43,30 +50,44 @@ taggedTemplateStringsWithOverloadResolution1_ES6.ts(21,24): error TS2554: Expect var b = foo([], 1); // string ~~ !!! error TS2345: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2345: Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. +!!! related TS2728 lib.es5.d.ts:--:--: 'raw' is declared here. !!! related TS2793 taggedTemplateStringsWithOverloadResolution1_ES6.ts:5:10: The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible. var c = foo([], 1, 2); // boolean ~~ !!! error TS2769: No overload matches this call. !!! error TS2769: Overload 1 of 4, '(strs: TemplateStringsArray, x: number, y: number): boolean', gave the following error. !!! error TS2769: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2769: Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. !!! error TS2769: Overload 2 of 4, '(strs: TemplateStringsArray, x: number, y: string): {}', gave the following error. !!! error TS2769: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2769: Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. +!!! related TS2728 lib.es5.d.ts:--:--: 'raw' is declared here. +!!! related TS2728 lib.es5.d.ts:--:--: 'raw' is declared here. !!! related TS2793 taggedTemplateStringsWithOverloadResolution1_ES6.ts:5:10: The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible. var d = foo([], 1, true); // boolean (with error) ~~ !!! error TS2769: No overload matches this call. !!! error TS2769: Overload 1 of 4, '(strs: TemplateStringsArray, x: number, y: number): boolean', gave the following error. !!! error TS2769: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2769: Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. !!! error TS2769: Overload 2 of 4, '(strs: TemplateStringsArray, x: number, y: string): {}', gave the following error. !!! error TS2769: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2769: Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. +!!! related TS2728 lib.es5.d.ts:--:--: 'raw' is declared here. +!!! related TS2728 lib.es5.d.ts:--:--: 'raw' is declared here. !!! related TS2793 taggedTemplateStringsWithOverloadResolution1_ES6.ts:5:10: The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible. var e = foo([], 1, "2"); // {} ~~ !!! error TS2769: No overload matches this call. !!! error TS2769: Overload 1 of 4, '(strs: TemplateStringsArray, x: number, y: number): boolean', gave the following error. !!! error TS2769: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2769: Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. !!! error TS2769: Overload 2 of 4, '(strs: TemplateStringsArray, x: number, y: string): {}', gave the following error. !!! error TS2769: Argument of type 'undefined[]' is not assignable to parameter of type 'TemplateStringsArray'. +!!! error TS2769: Property 'raw' is missing in type 'undefined[]' but required in type 'TemplateStringsArray'. +!!! related TS2728 lib.es5.d.ts:--:--: 'raw' is declared here. +!!! related TS2728 lib.es5.d.ts:--:--: 'raw' is declared here. !!! related TS2793 taggedTemplateStringsWithOverloadResolution1_ES6.ts:5:10: The call would have succeeded against this implementation, but implementation signatures of overloads are not externally visible. var f = foo([], 1, 2, 3); // any (with error) ~ diff --git a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt index 6362a162253..5ce0e368dcd 100644 --- a/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt +++ b/tests/baselines/reference/thisTypeInFunctionsNegative.errors.txt @@ -38,20 +38,22 @@ thisTypeInFunctionsNegative.ts(108,1): error TS2322: Type '(this: { x: number; } Property 'x' is missing in type '{ n: number; }' but required in type '{ x: number; }'. thisTypeInFunctionsNegative.ts(110,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. The 'this' types of each signature are incompatible. - Type 'C' is not assignable to type 'D'. + Type 'C' is missing the following properties from type 'D': x, explicitD thisTypeInFunctionsNegative.ts(111,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. The 'this' types of each signature are incompatible. - Type 'C' is not assignable to type 'D'. + Type 'C' is missing the following properties from type 'D': x, explicitD thisTypeInFunctionsNegative.ts(112,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. The 'this' types of each signature are incompatible. - Type 'C' is not assignable to type 'D'. + Type 'C' is missing the following properties from type 'D': x, explicitD thisTypeInFunctionsNegative.ts(113,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. The 'this' types of each signature are incompatible. - Type 'C' is not assignable to type 'D'. + Type 'C' is missing the following properties from type 'D': x, explicitD thisTypeInFunctionsNegative.ts(114,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: { n: number; }, m: number) => number'. The 'this' types of each signature are incompatible. Type '{ n: number; }' is missing the following properties from type 'D': x, explicitThis, explicitD thisTypeInFunctionsNegative.ts(115,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. + The 'this' types of each signature are incompatible. + Type 'C' is missing the following properties from type 'D': x, explicitD thisTypeInFunctionsNegative.ts(116,1): error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: void, m: number) => number'. The 'this' types of each signature are incompatible. Type 'void' is not assignable to type 'D'. @@ -64,8 +66,10 @@ thisTypeInFunctionsNegative.ts(145,1): error TS2322: Type '(this: Base2) => numb Property 'y' is missing in type 'Base1' but required in type 'Base2'. thisTypeInFunctionsNegative.ts(146,1): error TS2322: Type '(this: Base2) => number' is not assignable to type '(this: Base1) => number'. The 'this' types of each signature are incompatible. - Type 'Base1' is not assignable to type 'Base2'. + Property 'y' is missing in type 'Base1' but required in type 'Base2'. thisTypeInFunctionsNegative.ts(148,1): error TS2322: Type '(this: Base2) => number' is not assignable to type '(this: Base1) => number'. + The 'this' types of each signature are incompatible. + Property 'y' is missing in type 'Base1' but required in type 'Base2'. thisTypeInFunctionsNegative.ts(154,16): error TS2679: A function that is called with the 'new' keyword cannot have a 'this' type that is 'void'. thisTypeInFunctionsNegative.ts(158,17): error TS2681: A constructor cannot have a 'this' parameter. thisTypeInFunctionsNegative.ts(162,9): error TS2681: A constructor cannot have a 'this' parameter. @@ -278,22 +282,22 @@ thisTypeInFunctionsNegative.ts(178,22): error TS2730: An arrow function cannot h ~~~~~~~~~~~ !!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. !!! error TS2322: The 'this' types of each signature are incompatible. -!!! error TS2322: Type 'C' is not assignable to type 'D'. +!!! error TS2322: Type 'C' is missing the following properties from type 'D': x, explicitD c.explicitC = d.explicitThis; ~~~~~~~~~~~ !!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. !!! error TS2322: The 'this' types of each signature are incompatible. -!!! error TS2322: Type 'C' is not assignable to type 'D'. +!!! error TS2322: Type 'C' is missing the following properties from type 'D': x, explicitD c.explicitThis = d.explicitD; ~~~~~~~~~~~~~~ !!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. !!! error TS2322: The 'this' types of each signature are incompatible. -!!! error TS2322: Type 'C' is not assignable to type 'D'. +!!! error TS2322: Type 'C' is missing the following properties from type 'D': x, explicitD c.explicitThis = d.explicitThis; ~~~~~~~~~~~~~~ !!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. !!! error TS2322: The 'this' types of each signature are incompatible. -!!! error TS2322: Type 'C' is not assignable to type 'D'. +!!! error TS2322: Type 'C' is missing the following properties from type 'D': x, explicitD c.explicitProperty = d.explicitD; ~~~~~~~~~~~~~~~~~~ !!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: { n: number; }, m: number) => number'. @@ -302,6 +306,8 @@ thisTypeInFunctionsNegative.ts(178,22): error TS2730: An arrow function cannot h c.explicitThis = d.explicitThis; ~~~~~~~~~~~~~~ !!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: C, m: number) => number'. +!!! error TS2322: The 'this' types of each signature are incompatible. +!!! error TS2322: Type 'C' is missing the following properties from type 'D': x, explicitD c.explicitVoid = d.explicitD; ~~~~~~~~~~~~~~ !!! error TS2322: Type '(this: D, m: number) => number' is not assignable to type '(this: void, m: number) => number'. @@ -351,11 +357,15 @@ thisTypeInFunctionsNegative.ts(178,22): error TS2730: An arrow function cannot h ~~~~~~~~~~~ !!! error TS2322: Type '(this: Base2) => number' is not assignable to type '(this: Base1) => number'. !!! error TS2322: The 'this' types of each signature are incompatible. -!!! error TS2322: Type 'Base1' is not assignable to type 'Base2'. +!!! error TS2322: Property 'y' is missing in type 'Base1' but required in type 'Base2'. +!!! related TS2728 thisTypeInFunctionsNegative.ts:131:5: 'y' is declared here. d1.explicit = b2.polymorphic // error, 'y' not in Base1: { x } ~~~~~~~~~~~ !!! error TS2322: Type '(this: Base2) => number' is not assignable to type '(this: Base1) => number'. +!!! error TS2322: The 'this' types of each signature are incompatible. +!!! error TS2322: Property 'y' is missing in type 'Base1' but required in type 'Base2'. +!!! related TS2728 thisTypeInFunctionsNegative.ts:131:5: 'y' is declared here. ////// use this-type for construction with new //// function VoidThis(this: void) { diff --git a/tests/baselines/reference/tsxNotUsingApparentTypeOfSFC.errors.txt b/tests/baselines/reference/tsxNotUsingApparentTypeOfSFC.errors.txt index 33a85ca2e99..5bd0a3bf133 100644 --- a/tests/baselines/reference/tsxNotUsingApparentTypeOfSFC.errors.txt +++ b/tests/baselines/reference/tsxNotUsingApparentTypeOfSFC.errors.txt @@ -13,6 +13,7 @@ tsxNotUsingApparentTypeOfSFC.tsx(18,14): error TS2769: No overload matches this Type 'P' is not assignable to type 'IntrinsicAttributes'. Overload 2 of 2, '(props: P, context?: any): MyComponent', gave the following error. Type 'P' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes & Readonly<{ children?: ReactNode; }> & Readonly

'. + Type 'P' is not assignable to type 'IntrinsicAttributes'. ==== tsxNotUsingApparentTypeOfSFC.tsx (4 errors) ==== @@ -54,7 +55,9 @@ tsxNotUsingApparentTypeOfSFC.tsx(18,14): error TS2769: No overload matches this !!! error TS2769: Type 'P' is not assignable to type 'IntrinsicAttributes'. !!! error TS2769: Overload 2 of 2, '(props: P, context?: any): MyComponent', gave the following error. !!! error TS2769: Type 'P' is not assignable to type 'IntrinsicAttributes & IntrinsicClassAttributes & Readonly<{ children?: ReactNode; }> & Readonly

'. +!!! error TS2769: Type 'P' is not assignable to type 'IntrinsicAttributes'. !!! related TS2208 tsxNotUsingApparentTypeOfSFC.tsx:5:15: This type parameter might need an `extends JSX.IntrinsicAttributes` constraint. !!! related TS2208 tsxNotUsingApparentTypeOfSFC.tsx:5:15: This type parameter might need an `extends JSX.IntrinsicAttributes & JSX.IntrinsicClassAttributes & Readonly<{ children?: React.ReactNode; }> & Readonly

` constraint. +!!! related TS2208 tsxNotUsingApparentTypeOfSFC.tsx:5:15: This type parameter might need an `extends JSX.IntrinsicAttributes` constraint. !!! related TS2208 tsxNotUsingApparentTypeOfSFC.tsx:5:15: This type parameter might need an `extends JSX.IntrinsicAttributes & JSX.IntrinsicClassAttributes & Readonly<{ children?: React.ReactNode; }> & Readonly

` constraint. } \ No newline at end of file diff --git a/tests/baselines/reference/tsxTypeArgumentResolution.errors.txt b/tests/baselines/reference/tsxTypeArgumentResolution.errors.txt index 3c9c65b490b..dcadad81bab 100644 --- a/tests/baselines/reference/tsxTypeArgumentResolution.errors.txt +++ b/tests/baselines/reference/tsxTypeArgumentResolution.errors.txt @@ -8,6 +8,8 @@ file.tsx(39,14): error TS2344: Type 'Prop' does not satisfy the constraint '{ a: Types of property 'a' are incompatible. Type 'number' is not assignable to type 'string'. file.tsx(41,14): error TS2344: Type 'Prop' does not satisfy the constraint '{ a: string; }'. + Types of property 'a' are incompatible. + Type 'number' is not assignable to type 'string'. file.tsx(47,14): error TS2558: Expected 1-2 type arguments, but got 3. file.tsx(49,14): error TS2558: Expected 1-2 type arguments, but got 3. file.tsx(51,47): error TS2322: Type 'string' is not assignable to type 'number'. @@ -76,6 +78,8 @@ file.tsx(53,47): error TS2322: Type 'string' is not assignable to type 'number'. x = a={10} b="hi">; // error ~~~~ !!! error TS2344: Type 'Prop' does not satisfy the constraint '{ a: string; }'. +!!! error TS2344: Types of property 'a' are incompatible. +!!! error TS2344: Type 'number' is not assignable to type 'string'. x = a="hi" b="hi" />; // OK diff --git a/tests/baselines/reference/tupleTypes.errors.txt b/tests/baselines/reference/tupleTypes.errors.txt index af2d68e9d37..77dc44771da 100644 --- a/tests/baselines/reference/tupleTypes.errors.txt +++ b/tests/baselines/reference/tupleTypes.errors.txt @@ -11,6 +11,7 @@ tupleTypes.ts(18,1): error TS2322: Type '[number, string, number]' is not assign tupleTypes.ts(35,14): error TS2493: Tuple type '[number, string]' of length '2' has no element at index '2'. tupleTypes.ts(36,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'tt2' must be of type 'undefined', but here has type 'string | number'. tupleTypes.ts(41,1): error TS2322: Type '[]' is not assignable to type '[number, string]'. + Source has 0 element(s) but target requires 2. tupleTypes.ts(47,1): error TS2322: Type '[number, string]' is not assignable to type 'number[]'. Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. @@ -96,6 +97,7 @@ tupleTypes.ts(63,4): error TS2540: Cannot assign to 'length' because it is a rea tt = []; // Error ~~ !!! error TS2322: Type '[]' is not assignable to type '[number, string]'. +!!! error TS2322: Source has 0 element(s) but target requires 2. var a: number[]; var a1: [number, string]; diff --git a/tests/baselines/reference/typeAssignabilityErrorMessage.errors.txt b/tests/baselines/reference/typeAssignabilityErrorMessage.errors.txt new file mode 100644 index 00000000000..42802d6a82c --- /dev/null +++ b/tests/baselines/reference/typeAssignabilityErrorMessage.errors.txt @@ -0,0 +1,73 @@ +typeAssignabilityErrorMessage.ts(14,5): error TS2739: Type 'ThroughStream' is missing the following properties from type 'ReadStream': f, g, h, i, j +typeAssignabilityErrorMessage.ts(17,5): error TS2739: Type 'ThroughStream' is missing the following properties from type 'ReadStream': f, g, h, i, j +typeAssignabilityErrorMessage.ts(40,5): error TS2322: Type 'Foo' is not assignable to type 'Bar'. + Type 'Foo' is not assignable to type '{ foo: { what: number; }; }'. + The types of 'foo.what' are incompatible between these types. + Type 'string' is not assignable to type 'number'. +typeAssignabilityErrorMessage.ts(42,5): error TS2345: Argument of type 'OtherWrap' is not assignable to parameter of type 'Wrap'. + Types of property 'someProp' are incompatible. + Type 'Foo' is not assignable to type 'Bar'. + Type 'Foo' is not assignable to type '{ foo: { what: number; }; }'. + The types of 'foo.what' are incompatible between these types. + Type 'string' is not assignable to type 'number'. + + +==== typeAssignabilityErrorMessage.ts (4 errors) ==== + // Example: different error code altogether + + interface ThroughStream { + a: string; + } + interface ReadStream { + f: string; + g: number; + h: boolean; + i: BigInt; + j: symbol; + } + function foo(): ReadStream { + return undefined as any as ThroughStream; + ~~~~~~ +!!! error TS2739: Type 'ThroughStream' is missing the following properties from type 'ReadStream': f, g, h, i, j + } + function bar(): ReadStream { + return undefined as any as ThroughStream; + ~~~~~~ +!!! error TS2739: Type 'ThroughStream' is missing the following properties from type 'ReadStream': f, g, h, i, j + } + + // Example: different elaboration + + type Wrap = { + someProp: Bar; + } + type OtherWrap = { + someProp: Foo; + } + type Foo = { + foo: { what: T }; + } + type Bar = { + foo: { what: T }; + } | boolean; + + function fun(param: Wrap): void {} + + declare let fooStr: Foo; + declare let otherWrap: OtherWrap; + + let a: Bar = fooStr; + ~ +!!! error TS2322: Type 'Foo' is not assignable to type 'Bar'. +!!! error TS2322: Type 'Foo' is not assignable to type '{ foo: { what: number; }; }'. +!!! error TS2322: The types of 'foo.what' are incompatible between these types. +!!! error TS2322: Type 'string' is not assignable to type 'number'. + + fun(otherWrap); + ~~~~~~~~~ +!!! error TS2345: Argument of type 'OtherWrap' is not assignable to parameter of type 'Wrap'. +!!! error TS2345: Types of property 'someProp' are incompatible. +!!! error TS2345: Type 'Foo' is not assignable to type 'Bar'. +!!! error TS2345: Type 'Foo' is not assignable to type '{ foo: { what: number; }; }'. +!!! error TS2345: The types of 'foo.what' are incompatible between these types. +!!! error TS2345: Type 'string' is not assignable to type 'number'. \ No newline at end of file diff --git a/tests/baselines/reference/typeAssignabilityErrorMessage.symbols b/tests/baselines/reference/typeAssignabilityErrorMessage.symbols new file mode 100644 index 00000000000..85e841b418d --- /dev/null +++ b/tests/baselines/reference/typeAssignabilityErrorMessage.symbols @@ -0,0 +1,105 @@ +//// [tests/cases/compiler/typeAssignabilityErrorMessage.ts] //// + +=== typeAssignabilityErrorMessage.ts === +// Example: different error code altogether + +interface ThroughStream { +>ThroughStream : Symbol(ThroughStream, Decl(typeAssignabilityErrorMessage.ts, 0, 0)) + + a: string; +>a : Symbol(ThroughStream.a, Decl(typeAssignabilityErrorMessage.ts, 2, 25)) +} +interface ReadStream { +>ReadStream : Symbol(ReadStream, Decl(typeAssignabilityErrorMessage.ts, 4, 1)) + + f: string; +>f : Symbol(ReadStream.f, Decl(typeAssignabilityErrorMessage.ts, 5, 22)) + + g: number; +>g : Symbol(ReadStream.g, Decl(typeAssignabilityErrorMessage.ts, 6, 14)) + + h: boolean; +>h : Symbol(ReadStream.h, Decl(typeAssignabilityErrorMessage.ts, 7, 14)) + + i: BigInt; +>i : Symbol(ReadStream.i, Decl(typeAssignabilityErrorMessage.ts, 8, 15)) +>BigInt : Symbol(BigInt, Decl(lib.es2020.bigint.d.ts, --, --), Decl(lib.es2020.bigint.d.ts, --, --)) + + j: symbol; +>j : Symbol(ReadStream.j, Decl(typeAssignabilityErrorMessage.ts, 9, 14)) +} +function foo(): ReadStream { +>foo : Symbol(foo, Decl(typeAssignabilityErrorMessage.ts, 11, 1)) +>ReadStream : Symbol(ReadStream, Decl(typeAssignabilityErrorMessage.ts, 4, 1)) + + return undefined as any as ThroughStream; +>undefined : Symbol(undefined) +>ThroughStream : Symbol(ThroughStream, Decl(typeAssignabilityErrorMessage.ts, 0, 0)) +} +function bar(): ReadStream { +>bar : Symbol(bar, Decl(typeAssignabilityErrorMessage.ts, 14, 1)) +>ReadStream : Symbol(ReadStream, Decl(typeAssignabilityErrorMessage.ts, 4, 1)) + + return undefined as any as ThroughStream; +>undefined : Symbol(undefined) +>ThroughStream : Symbol(ThroughStream, Decl(typeAssignabilityErrorMessage.ts, 0, 0)) +} + +// Example: different elaboration + +type Wrap = { +>Wrap : Symbol(Wrap, Decl(typeAssignabilityErrorMessage.ts, 17, 1)) + + someProp: Bar; +>someProp : Symbol(someProp, Decl(typeAssignabilityErrorMessage.ts, 21, 13)) +>Bar : Symbol(Bar, Decl(typeAssignabilityErrorMessage.ts, 29, 1)) +} +type OtherWrap = { +>OtherWrap : Symbol(OtherWrap, Decl(typeAssignabilityErrorMessage.ts, 23, 1)) + + someProp: Foo; +>someProp : Symbol(someProp, Decl(typeAssignabilityErrorMessage.ts, 24, 18)) +>Foo : Symbol(Foo, Decl(typeAssignabilityErrorMessage.ts, 26, 1)) +} +type Foo = { +>Foo : Symbol(Foo, Decl(typeAssignabilityErrorMessage.ts, 26, 1)) +>T : Symbol(T, Decl(typeAssignabilityErrorMessage.ts, 27, 9)) + + foo: { what: T }; +>foo : Symbol(foo, Decl(typeAssignabilityErrorMessage.ts, 27, 15)) +>what : Symbol(what, Decl(typeAssignabilityErrorMessage.ts, 28, 10)) +>T : Symbol(T, Decl(typeAssignabilityErrorMessage.ts, 27, 9)) +} +type Bar = { +>Bar : Symbol(Bar, Decl(typeAssignabilityErrorMessage.ts, 29, 1)) +>T : Symbol(T, Decl(typeAssignabilityErrorMessage.ts, 30, 9)) + + foo: { what: T }; +>foo : Symbol(foo, Decl(typeAssignabilityErrorMessage.ts, 30, 15)) +>what : Symbol(what, Decl(typeAssignabilityErrorMessage.ts, 31, 10)) +>T : Symbol(T, Decl(typeAssignabilityErrorMessage.ts, 30, 9)) + +} | boolean; + +function fun(param: Wrap): void {} +>fun : Symbol(fun, Decl(typeAssignabilityErrorMessage.ts, 32, 12)) +>param : Symbol(param, Decl(typeAssignabilityErrorMessage.ts, 34, 13)) +>Wrap : Symbol(Wrap, Decl(typeAssignabilityErrorMessage.ts, 17, 1)) + +declare let fooStr: Foo; +>fooStr : Symbol(fooStr, Decl(typeAssignabilityErrorMessage.ts, 36, 11)) +>Foo : Symbol(Foo, Decl(typeAssignabilityErrorMessage.ts, 26, 1)) + +declare let otherWrap: OtherWrap; +>otherWrap : Symbol(otherWrap, Decl(typeAssignabilityErrorMessage.ts, 37, 11)) +>OtherWrap : Symbol(OtherWrap, Decl(typeAssignabilityErrorMessage.ts, 23, 1)) + +let a: Bar = fooStr; +>a : Symbol(a, Decl(typeAssignabilityErrorMessage.ts, 39, 3)) +>Bar : Symbol(Bar, Decl(typeAssignabilityErrorMessage.ts, 29, 1)) +>fooStr : Symbol(fooStr, Decl(typeAssignabilityErrorMessage.ts, 36, 11)) + +fun(otherWrap); +>fun : Symbol(fun, Decl(typeAssignabilityErrorMessage.ts, 32, 12)) +>otherWrap : Symbol(otherWrap, Decl(typeAssignabilityErrorMessage.ts, 37, 11)) + diff --git a/tests/baselines/reference/typeAssignabilityErrorMessage.types b/tests/baselines/reference/typeAssignabilityErrorMessage.types new file mode 100644 index 00000000000..426c33a2863 --- /dev/null +++ b/tests/baselines/reference/typeAssignabilityErrorMessage.types @@ -0,0 +1,124 @@ +//// [tests/cases/compiler/typeAssignabilityErrorMessage.ts] //// + +=== typeAssignabilityErrorMessage.ts === +// Example: different error code altogether + +interface ThroughStream { + a: string; +>a : string +> : ^^^^^^ +} +interface ReadStream { + f: string; +>f : string +> : ^^^^^^ + + g: number; +>g : number +> : ^^^^^^ + + h: boolean; +>h : boolean +> : ^^^^^^^ + + i: BigInt; +>i : BigInt +> : ^^^^^^ + + j: symbol; +>j : symbol +> : ^^^^^^ +} +function foo(): ReadStream { +>foo : () => ReadStream +> : ^^^^^^ + + return undefined as any as ThroughStream; +>undefined as any as ThroughStream : ThroughStream +> : ^^^^^^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ +} +function bar(): ReadStream { +>bar : () => ReadStream +> : ^^^^^^ + + return undefined as any as ThroughStream; +>undefined as any as ThroughStream : ThroughStream +> : ^^^^^^^^^^^^^ +>undefined as any : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ +} + +// Example: different elaboration + +type Wrap = { +>Wrap : Wrap +> : ^^^^ + + someProp: Bar; +>someProp : Bar +> : ^^^^^^^^^^^ +} +type OtherWrap = { +>OtherWrap : OtherWrap +> : ^^^^^^^^^ + + someProp: Foo; +>someProp : Foo +> : ^^^^^^^^^^^ +} +type Foo = { +>Foo : Foo +> : ^^^^^^ + + foo: { what: T }; +>foo : { what: T; } +> : ^^^^^^^^ ^^^ +>what : T +> : ^ +} +type Bar = { +>Bar : Bar +> : ^^^^^^ + + foo: { what: T }; +>foo : { what: T; } +> : ^^^^^^^^ ^^^ +>what : T +> : ^ + +} | boolean; + +function fun(param: Wrap): void {} +>fun : (param: Wrap) => void +> : ^ ^^ ^^^^^ +>param : Wrap +> : ^^^^ + +declare let fooStr: Foo; +>fooStr : Foo +> : ^^^^^^^^^^^ + +declare let otherWrap: OtherWrap; +>otherWrap : OtherWrap +> : ^^^^^^^^^ + +let a: Bar = fooStr; +>a : Bar +> : ^^^^^^^^^^^ +>fooStr : Foo +> : ^^^^^^^^^^^ + +fun(otherWrap); +>fun(otherWrap) : void +> : ^^^^ +>fun : (param: Wrap) => void +> : ^ ^^ ^^^^^ +>otherWrap : OtherWrap +> : ^^^^^^^^^ + diff --git a/tests/baselines/reference/typeComparisonCaching.errors.txt b/tests/baselines/reference/typeComparisonCaching.errors.txt index b2d68102b7d..e8a0c1a3e06 100644 --- a/tests/baselines/reference/typeComparisonCaching.errors.txt +++ b/tests/baselines/reference/typeComparisonCaching.errors.txt @@ -2,8 +2,8 @@ typeComparisonCaching.ts(26,1): error TS2322: Type 'B' is not assignable to type Types of property 's' are incompatible. Type 'number' is not assignable to type 'string'. typeComparisonCaching.ts(27,1): error TS2322: Type 'D' is not assignable to type 'C'. - Types of property 'q' are incompatible. - Type 'B' is not assignable to type 'A'. + The types of 'q.s' are incompatible between these types. + Type 'number' is not assignable to type 'string'. ==== typeComparisonCaching.ts (2 errors) ==== @@ -40,6 +40,6 @@ typeComparisonCaching.ts(27,1): error TS2322: Type 'D' is not assignable to type c = d; // Should not be allowed ~ !!! error TS2322: Type 'D' is not assignable to type 'C'. -!!! error TS2322: Types of property 'q' are incompatible. -!!! error TS2322: Type 'B' is not assignable to type 'A'. +!!! error TS2322: The types of 'q.s' are incompatible between these types. +!!! error TS2322: Type 'number' is not assignable to type 'string'. \ No newline at end of file diff --git a/tests/baselines/reference/typeGuardFunctionErrors.errors.txt b/tests/baselines/reference/typeGuardFunctionErrors.errors.txt index 11653f4d939..5141906bd95 100644 --- a/tests/baselines/reference/typeGuardFunctionErrors.errors.txt +++ b/tests/baselines/reference/typeGuardFunctionErrors.errors.txt @@ -58,8 +58,12 @@ typeGuardFunctionErrors.ts(159,31): error TS2344: Type 'Bar' does not satisfy th Types of property ''a'' are incompatible. Type 'number' is not assignable to type 'string'. typeGuardFunctionErrors.ts(162,31): error TS2344: Type 'Bar' does not satisfy the constraint 'Foo'. + Types of property ''a'' are incompatible. + Type 'number' is not assignable to type 'string'. typeGuardFunctionErrors.ts(163,35): error TS2344: Type 'number' does not satisfy the constraint 'Foo'. typeGuardFunctionErrors.ts(164,51): error TS2344: Type 'Bar' does not satisfy the constraint 'Foo'. + Types of property ''a'' are incompatible. + Type 'number' is not assignable to type 'string'. typeGuardFunctionErrors.ts(165,51): error TS2344: Type 'number' does not satisfy the constraint 'Foo'. typeGuardFunctionErrors.ts(166,45): error TS2677: A type predicate's type must be assignable to its parameter's type. Type 'NeedsFoo' is not assignable to type 'number'. @@ -342,12 +346,16 @@ typeGuardFunctionErrors.ts(166,54): error TS2344: Type 'number' does not satisfy declare var anError: NeedsFoo; // error, as expected ~~~ !!! error TS2344: Type 'Bar' does not satisfy the constraint 'Foo'. +!!! error TS2344: Types of property ''a'' are incompatible. +!!! error TS2344: Type 'number' is not assignable to type 'string'. declare var alsoAnError: NeedsFoo; // also error, as expected ~~~~~~ !!! error TS2344: Type 'number' does not satisfy the constraint 'Foo'. declare function newError1(x: any): x is NeedsFoo; // should error ~~~ !!! error TS2344: Type 'Bar' does not satisfy the constraint 'Foo'. +!!! error TS2344: Types of property ''a'' are incompatible. +!!! error TS2344: Type 'number' is not assignable to type 'string'. declare function newError2(x: any): x is NeedsFoo; // should error ~~~~~~ !!! error TS2344: Type 'number' does not satisfy the constraint 'Foo'. diff --git a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.errors.txt b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.errors.txt index 86e6ce9a1f9..bb8daf5500d 100644 --- a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.errors.txt +++ b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.errors.txt @@ -6,10 +6,10 @@ typeGuardFunctionOfFormThisErrors.ts(24,1): error TS2322: Type '() => this is Fo Property 'lead' is missing in type 'FollowerGuard' but required in type 'LeadGuard'. typeGuardFunctionOfFormThisErrors.ts(26,1): error TS2322: Type '() => this is LeadGuard' is not assignable to type '() => this is FollowerGuard'. Type predicate 'this is LeadGuard' is not assignable to 'this is FollowerGuard'. - Type 'LeadGuard' is not assignable to type 'FollowerGuard'. + Property 'follow' is missing in type 'LeadGuard' but required in type 'FollowerGuard'. typeGuardFunctionOfFormThisErrors.ts(27,1): error TS2322: Type '() => this is FollowerGuard' is not assignable to type '() => this is LeadGuard'. Type predicate 'this is FollowerGuard' is not assignable to 'this is LeadGuard'. - Type 'FollowerGuard' is not assignable to type 'LeadGuard'. + Property 'lead' is missing in type 'FollowerGuard' but required in type 'LeadGuard'. typeGuardFunctionOfFormThisErrors.ts(29,32): error TS2526: A 'this' type is available only in a non-static member of a class or interface. typeGuardFunctionOfFormThisErrors.ts(55,7): error TS2339: Property 'follow' does not exist on type 'RoyalGuard'. typeGuardFunctionOfFormThisErrors.ts(58,7): error TS2339: Property 'lead' does not exist on type 'RoyalGuard'. @@ -55,12 +55,14 @@ typeGuardFunctionOfFormThisErrors.ts(58,7): error TS2339: Property 'lead' does n ~~~~~~~~~~~~ !!! error TS2322: Type '() => this is LeadGuard' is not assignable to type '() => this is FollowerGuard'. !!! error TS2322: Type predicate 'this is LeadGuard' is not assignable to 'this is FollowerGuard'. -!!! error TS2322: Type 'LeadGuard' is not assignable to type 'FollowerGuard'. +!!! error TS2322: Property 'follow' is missing in type 'LeadGuard' but required in type 'FollowerGuard'. +!!! related TS2728 typeGuardFunctionOfFormThisErrors.ts:15:5: 'follow' is declared here. a.isLeader = a.isFollower; ~~~~~~~~~~ !!! error TS2322: Type '() => this is FollowerGuard' is not assignable to type '() => this is LeadGuard'. !!! error TS2322: Type predicate 'this is FollowerGuard' is not assignable to 'this is LeadGuard'. -!!! error TS2322: Type 'FollowerGuard' is not assignable to type 'LeadGuard'. +!!! error TS2322: Property 'lead' is missing in type 'FollowerGuard' but required in type 'LeadGuard'. +!!! related TS2728 typeGuardFunctionOfFormThisErrors.ts:11:5: 'lead' is declared here. function invalidGuard(c: any): this is number { ~~~~ diff --git a/tests/baselines/reference/typeMatch2.errors.txt b/tests/baselines/reference/typeMatch2.errors.txt index ea28398ac1d..a5766a5e378 100644 --- a/tests/baselines/reference/typeMatch2.errors.txt +++ b/tests/baselines/reference/typeMatch2.errors.txt @@ -7,6 +7,7 @@ typeMatch2.ts(18,5): error TS2322: Type 'Animal[]' is not assignable to type 'Gi typeMatch2.ts(22,5): error TS2322: Type '{ f1: number; f2: Animal[]; }' is not assignable to type '{ f1: number; f2: Giraffe[]; }'. Types of property 'f2' are incompatible. Type 'Animal[]' is not assignable to type 'Giraffe[]'. + Property 'g' is missing in type 'Animal' but required in type 'Giraffe'. typeMatch2.ts(34,26): error TS2353: Object literal may only specify known properties, and 'z' does not exist in type '{ x: number; y: number; }'. typeMatch2.ts(35,5): error TS2741: Property 'y' is missing in type '{ x: number; }' but required in type '{ x: number; y: number; }'. @@ -51,6 +52,8 @@ typeMatch2.ts(35,5): error TS2741: Property 'y' is missing in type '{ x: number; !!! error TS2322: Type '{ f1: number; f2: Animal[]; }' is not assignable to type '{ f1: number; f2: Giraffe[]; }'. !!! error TS2322: Types of property 'f2' are incompatible. !!! error TS2322: Type 'Animal[]' is not assignable to type 'Giraffe[]'. +!!! error TS2322: Property 'g' is missing in type 'Animal' but required in type 'Giraffe'. +!!! related TS2728 typeMatch2.ts:10:40: 'g' is declared here. } function f4() { diff --git a/tests/baselines/reference/typeParamExtendsOtherTypeParam.errors.txt b/tests/baselines/reference/typeParamExtendsOtherTypeParam.errors.txt index 4df263c7e28..70c7ee1f6a4 100644 --- a/tests/baselines/reference/typeParamExtendsOtherTypeParam.errors.txt +++ b/tests/baselines/reference/typeParamExtendsOtherTypeParam.errors.txt @@ -15,6 +15,7 @@ typeParamExtendsOtherTypeParam.ts(17,37): error TS2344: Type '{ a: string; }' do typeParamExtendsOtherTypeParam.ts(28,15): error TS2344: Type 'I1' does not satisfy the constraint 'I2'. Property 'b' is missing in type 'I1' but required in type 'I2'. typeParamExtendsOtherTypeParam.ts(29,15): error TS2344: Type 'I1' does not satisfy the constraint 'I2'. + Property 'b' is missing in type 'I1' but required in type 'I2'. ==== typeParamExtendsOtherTypeParam.ts (8 errors) ==== @@ -77,4 +78,6 @@ typeParamExtendsOtherTypeParam.ts(29,15): error TS2344: Type 'I1' does not satis var x8: B; ~~ !!! error TS2344: Type 'I1' does not satisfy the constraint 'I2'. +!!! error TS2344: Property 'b' is missing in type 'I1' but required in type 'I2'. +!!! related TS2728 typeParamExtendsOtherTypeParam.ts:25:5: 'b' is declared here. \ No newline at end of file diff --git a/tests/baselines/reference/typeParameterAssignmentCompat1.errors.txt b/tests/baselines/reference/typeParameterAssignmentCompat1.errors.txt index ed0f228f5e5..cbba70ca89e 100644 --- a/tests/baselines/reference/typeParameterAssignmentCompat1.errors.txt +++ b/tests/baselines/reference/typeParameterAssignmentCompat1.errors.txt @@ -2,8 +2,14 @@ typeParameterAssignmentCompat1.ts(8,5): error TS2322: Type 'Foo' is not assig Type 'U' is not assignable to type 'T'. 'T' could be instantiated with an arbitrary type which could be unrelated to 'U'. typeParameterAssignmentCompat1.ts(9,5): error TS2322: Type 'Foo' is not assignable to type 'Foo'. + Type 'T' is not assignable to type 'U'. + 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. typeParameterAssignmentCompat1.ts(16,9): error TS2322: Type 'Foo' is not assignable to type 'Foo'. + Type 'U' is not assignable to type 'T'. + 'T' could be instantiated with an arbitrary type which could be unrelated to 'U'. typeParameterAssignmentCompat1.ts(17,9): error TS2322: Type 'Foo' is not assignable to type 'Foo'. + Type 'T' is not assignable to type 'U'. + 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. ==== typeParameterAssignmentCompat1.ts (4 errors) ==== @@ -23,6 +29,9 @@ typeParameterAssignmentCompat1.ts(17,9): error TS2322: Type 'Foo' is not assi return x; ~~~~~~ !!! error TS2322: Type 'Foo' is not assignable to type 'Foo'. +!!! error TS2322: Type 'T' is not assignable to type 'U'. +!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. +!!! related TS2208 typeParameterAssignmentCompat1.ts:5:12: This type parameter might need an `extends U` constraint. } class C { @@ -32,8 +41,14 @@ typeParameterAssignmentCompat1.ts(17,9): error TS2322: Type 'Foo' is not assi x = y; // should be an error ~ !!! error TS2322: Type 'Foo' is not assignable to type 'Foo'. +!!! error TS2322: Type 'U' is not assignable to type 'T'. +!!! error TS2322: 'T' could be instantiated with an arbitrary type which could be unrelated to 'U'. +!!! related TS2208 typeParameterAssignmentCompat1.ts:13:7: This type parameter might need an `extends T` constraint. return x; ~~~~~~ !!! error TS2322: Type 'Foo' is not assignable to type 'Foo'. +!!! error TS2322: Type 'T' is not assignable to type 'U'. +!!! error TS2322: 'U' could be instantiated with an arbitrary type which could be unrelated to 'T'. +!!! related TS2208 typeParameterAssignmentCompat1.ts:12:9: This type parameter might need an `extends U` constraint. } } \ No newline at end of file diff --git a/tests/baselines/reference/types.asyncGenerators.es2018.2.errors.txt b/tests/baselines/reference/types.asyncGenerators.es2018.2.errors.txt index db3350be239..1efc4e535a3 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.2.errors.txt +++ b/tests/baselines/reference/types.asyncGenerators.es2018.2.errors.txt @@ -9,23 +9,69 @@ types.asyncGenerators.es2018.2.ts(10,7): error TS2322: Type '() => AsyncGenerato Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. Type 'string' is not assignable to type 'number'. types.asyncGenerators.es2018.2.ts(13,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. - Type 'AsyncGenerator' is not assignable to type 'AsyncIterableIterator'. + Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. + The types returned by 'next(...)' are incompatible between these types. + Type 'Promise>' is not assignable to type 'Promise>'. + Type 'IteratorResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. + Type 'string' is not assignable to type 'number'. types.asyncGenerators.es2018.2.ts(16,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. - Type 'AsyncGenerator' is not assignable to type 'AsyncIterableIterator'. + Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. + The types returned by 'next(...)' are incompatible between these types. + Type 'Promise>' is not assignable to type 'Promise>'. + Type 'IteratorResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. + Type 'string' is not assignable to type 'number'. types.asyncGenerators.es2018.2.ts(19,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. - The types of '[Symbol.asyncIterator]().next' are incompatible between these types. - Type '(...args: [] | [undefined]) => Promise>' is not assignable to type '(...args: [] | [undefined]) => Promise>'. + The types returned by '[Symbol.asyncIterator]().next(...)' are incompatible between these types. + Type 'Promise>' is not assignable to type 'Promise>'. + Type 'IteratorResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. + Type 'string' is not assignable to type 'number'. types.asyncGenerators.es2018.2.ts(22,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. - Type 'AsyncGenerator' is not assignable to type 'AsyncIterable'. + Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. + The types returned by '[Symbol.asyncIterator]().next(...)' are incompatible between these types. + Type 'Promise>' is not assignable to type 'Promise>'. + Type 'IteratorResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. + Type 'string' is not assignable to type 'number'. types.asyncGenerators.es2018.2.ts(25,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. - Type 'AsyncGenerator' is not assignable to type 'AsyncIterable'. + Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. + The types returned by '[Symbol.asyncIterator]().next(...)' are incompatible between these types. + Type 'Promise>' is not assignable to type 'Promise>'. + Type 'IteratorResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. + Type 'string' is not assignable to type 'number'. types.asyncGenerators.es2018.2.ts(28,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. - Type 'AsyncGenerator' is not assignable to type 'AsyncIterator'. + Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. + The types returned by 'next(...)' are incompatible between these types. + Type 'Promise>' is not assignable to type 'Promise>'. + Type 'IteratorResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. + Type 'string' is not assignable to type 'number'. types.asyncGenerators.es2018.2.ts(31,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. - Type 'AsyncGenerator' is not assignable to type 'AsyncIterator'. + Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. + The types returned by 'next(...)' are incompatible between these types. + Type 'Promise>' is not assignable to type 'Promise>'. + Type 'IteratorResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. + Type 'string' is not assignable to type 'number'. types.asyncGenerators.es2018.2.ts(34,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. - Type 'AsyncGenerator' is not assignable to type 'AsyncIterator'. + Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. + The types returned by 'next(...)' are incompatible between these types. + Type 'Promise>' is not assignable to type 'Promise>'. + Type 'IteratorResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. + Type 'string' is not assignable to type 'number'. types.asyncGenerators.es2018.2.ts(38,11): error TS2322: Type 'string' is not assignable to type 'number'. types.asyncGenerators.es2018.2.ts(41,12): error TS2322: Type 'string' is not assignable to type 'number'. types.asyncGenerators.es2018.2.ts(44,12): error TS2322: Type 'string' is not assignable to type 'number'. @@ -73,51 +119,97 @@ types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[ const assignability2: () => AsyncIterableIterator = async function * () { ~~~~~~~~~~~~~~ !!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. -!!! error TS2322: Type 'AsyncGenerator' is not assignable to type 'AsyncIterableIterator'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. +!!! error TS2322: The types returned by 'next(...)' are incompatible between these types. +!!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. +!!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. yield* ["a", "b"]; }; const assignability3: () => AsyncIterableIterator = async function * () { ~~~~~~~~~~~~~~ !!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. -!!! error TS2322: Type 'AsyncGenerator' is not assignable to type 'AsyncIterableIterator'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. +!!! error TS2322: The types returned by 'next(...)' are incompatible between these types. +!!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. +!!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. yield* (async function * () { yield "a"; })(); }; const assignability4: () => AsyncIterable = async function * () { ~~~~~~~~~~~~~~ !!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. !!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. -!!! error TS2322: The types of '[Symbol.asyncIterator]().next' are incompatible between these types. -!!! error TS2322: Type '(...args: [] | [undefined]) => Promise>' is not assignable to type '(...args: [] | [undefined]) => Promise>'. +!!! error TS2322: The types returned by '[Symbol.asyncIterator]().next(...)' are incompatible between these types. +!!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. +!!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. yield "a"; }; const assignability5: () => AsyncIterable = async function * () { ~~~~~~~~~~~~~~ !!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. -!!! error TS2322: Type 'AsyncGenerator' is not assignable to type 'AsyncIterable'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. +!!! error TS2322: The types returned by '[Symbol.asyncIterator]().next(...)' are incompatible between these types. +!!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. +!!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. yield* ["a", "b"]; }; const assignability6: () => AsyncIterable = async function * () { ~~~~~~~~~~~~~~ !!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. -!!! error TS2322: Type 'AsyncGenerator' is not assignable to type 'AsyncIterable'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. +!!! error TS2322: The types returned by '[Symbol.asyncIterator]().next(...)' are incompatible between these types. +!!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. +!!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. yield* (async function * () { yield "a"; })(); }; const assignability7: () => AsyncIterator = async function * () { ~~~~~~~~~~~~~~ !!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. -!!! error TS2322: Type 'AsyncGenerator' is not assignable to type 'AsyncIterator'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. +!!! error TS2322: The types returned by 'next(...)' are incompatible between these types. +!!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. +!!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. yield "a"; }; const assignability8: () => AsyncIterator = async function * () { ~~~~~~~~~~~~~~ !!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. -!!! error TS2322: Type 'AsyncGenerator' is not assignable to type 'AsyncIterator'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. +!!! error TS2322: The types returned by 'next(...)' are incompatible between these types. +!!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. +!!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. yield* ["a", "b"]; }; const assignability9: () => AsyncIterator = async function * () { ~~~~~~~~~~~~~~ !!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. -!!! error TS2322: Type 'AsyncGenerator' is not assignable to type 'AsyncIterator'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. +!!! error TS2322: The types returned by 'next(...)' are incompatible between these types. +!!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. +!!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. +!!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. +!!! error TS2322: Type 'string' is not assignable to type 'number'. yield* (async function * () { yield "a"; })(); }; async function * explicitReturnType1(): AsyncIterableIterator { diff --git a/tests/baselines/reference/unionTypeCallSignatures6.errors.txt b/tests/baselines/reference/unionTypeCallSignatures6.errors.txt index a3e4e593fc4..44f7e31b242 100644 --- a/tests/baselines/reference/unionTypeCallSignatures6.errors.txt +++ b/tests/baselines/reference/unionTypeCallSignatures6.errors.txt @@ -6,7 +6,9 @@ unionTypeCallSignatures6.ts(38,4): error TS2349: This expression is not callable unionTypeCallSignatures6.ts(39,1): error TS2684: The 'this' context of type 'A & C & { f0: F0 | F3; f1: F1 | F3; f2: F1 | F4; f3: F3 | F4; f4: F3 | F5; }' is not assignable to method's 'this' of type 'B'. Property 'b' is missing in type 'A & C & { f0: F0 | F3; f1: F1 | F3; f2: F1 | F4; f3: F3 | F4; f4: F3 | F5; }' but required in type 'B'. unionTypeCallSignatures6.ts(48,1): error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'A & B'. + Type 'void' is not assignable to type 'A'. unionTypeCallSignatures6.ts(55,1): error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'A & B'. + Type 'void' is not assignable to type 'A'. ==== unionTypeCallSignatures6.ts (6 errors) ==== @@ -72,6 +74,7 @@ unionTypeCallSignatures6.ts(55,1): error TS2684: The 'this' context of type 'voi f3(); // error ~~~~ !!! error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'A & B'. +!!! error TS2684: Type 'void' is not assignable to type 'A'. interface F7 { (this: A & B & C): void; @@ -81,4 +84,5 @@ unionTypeCallSignatures6.ts(55,1): error TS2684: The 'this' context of type 'voi f4(); // error ~~~~ !!! error TS2684: The 'this' context of type 'void' is not assignable to method's 'this' of type 'A & B'. +!!! error TS2684: Type 'void' is not assignable to type 'A'. \ No newline at end of file diff --git a/tests/baselines/reference/unionTypeErrorMessageTypeRefs01.errors.txt b/tests/baselines/reference/unionTypeErrorMessageTypeRefs01.errors.txt index 2016726120a..19211ffa4bf 100644 --- a/tests/baselines/reference/unionTypeErrorMessageTypeRefs01.errors.txt +++ b/tests/baselines/reference/unionTypeErrorMessageTypeRefs01.errors.txt @@ -9,13 +9,13 @@ unionTypeErrorMessageTypeRefs01.ts(27,1): error TS2322: Type 'C' is not ass Property 'kwah' is missing in type 'Foo' but required in type 'Kwah'. unionTypeErrorMessageTypeRefs01.ts(48,1): error TS2322: Type 'X' is not assignable to type 'X | Y | Z'. Type 'X' is not assignable to type 'X'. - Type 'Foo' is not assignable to type 'Bar'. + Property 'bar' is missing in type 'Foo' but required in type 'Bar'. unionTypeErrorMessageTypeRefs01.ts(49,1): error TS2322: Type 'Y' is not assignable to type 'X | Y | Z'. Type 'Y' is not assignable to type 'Y'. - Type 'Foo' is not assignable to type 'Baz'. + Property 'baz' is missing in type 'Foo' but required in type 'Baz'. unionTypeErrorMessageTypeRefs01.ts(50,1): error TS2322: Type 'Z' is not assignable to type 'X | Y | Z'. Type 'Z' is not assignable to type 'Z'. - Type 'Foo' is not assignable to type 'Kwah'. + Property 'kwah' is missing in type 'Foo' but required in type 'Kwah'. ==== unionTypeErrorMessageTypeRefs01.ts (6 errors) ==== @@ -85,14 +85,17 @@ unionTypeErrorMessageTypeRefs01.ts(50,1): error TS2322: Type 'Z' is not ass ~~~~~~~~~~~~~~~~~~ !!! error TS2322: Type 'X' is not assignable to type 'X | Y | Z'. !!! error TS2322: Type 'X' is not assignable to type 'X'. -!!! error TS2322: Type 'Foo' is not assignable to type 'Bar'. +!!! error TS2322: Property 'bar' is missing in type 'Foo' but required in type 'Bar'. +!!! related TS2728 unionTypeErrorMessageTypeRefs01.ts:2:17: 'bar' is declared here. thingOfTypeAliases = y; ~~~~~~~~~~~~~~~~~~ !!! error TS2322: Type 'Y' is not assignable to type 'X | Y | Z'. !!! error TS2322: Type 'Y' is not assignable to type 'Y'. -!!! error TS2322: Type 'Foo' is not assignable to type 'Baz'. +!!! error TS2322: Property 'baz' is missing in type 'Foo' but required in type 'Baz'. +!!! related TS2728 unionTypeErrorMessageTypeRefs01.ts:3:17: 'baz' is declared here. thingOfTypeAliases = z; ~~~~~~~~~~~~~~~~~~ !!! error TS2322: Type 'Z' is not assignable to type 'X | Y | Z'. !!! error TS2322: Type 'Z' is not assignable to type 'Z'. -!!! error TS2322: Type 'Foo' is not assignable to type 'Kwah'. \ No newline at end of file +!!! error TS2322: Property 'kwah' is missing in type 'Foo' but required in type 'Kwah'. +!!! related TS2728 unionTypeErrorMessageTypeRefs01.ts:4:18: 'kwah' is declared here. \ No newline at end of file diff --git a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.errors.txt b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.errors.txt index b0e587f677e..a15de01e3a7 100644 --- a/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.errors.txt +++ b/tests/baselines/reference/unionTypeWithRecursiveSubtypeReduction2.errors.txt @@ -10,6 +10,9 @@ unionTypeWithRecursiveSubtypeReduction2.ts(20,1): error TS2322: Type 'Class' is Type '(Class | Property)[]' is not assignable to type 'Class[]'. Type 'Class | Property' is not assignable to type 'Class'. Type 'Property' is not assignable to type 'Class'. + Types of property 'parent' are incompatible. + Type 'Module | Class' is not assignable to type 'Namespace'. + Property 'members' is missing in type 'Class' but required in type 'Namespace'. ==== unionTypeWithRecursiveSubtypeReduction2.ts (2 errors) ==== @@ -48,4 +51,8 @@ unionTypeWithRecursiveSubtypeReduction2.ts(20,1): error TS2322: Type 'Class' is !!! error TS2322: Type '(Class | Property)[]' is not assignable to type 'Class[]'. !!! error TS2322: Type 'Class | Property' is not assignable to type 'Class'. !!! error TS2322: Type 'Property' is not assignable to type 'Class'. +!!! error TS2322: Types of property 'parent' are incompatible. +!!! error TS2322: Type 'Module | Class' is not assignable to type 'Namespace'. +!!! error TS2322: Property 'members' is missing in type 'Class' but required in type 'Namespace'. +!!! related TS2728 unionTypeWithRecursiveSubtypeReduction2.ts:6:12: 'members' is declared here. \ No newline at end of file diff --git a/tests/baselines/reference/unionTypesAssignability.errors.txt b/tests/baselines/reference/unionTypesAssignability.errors.txt index 22ab0bf812b..8ce86faf581 100644 --- a/tests/baselines/reference/unionTypesAssignability.errors.txt +++ b/tests/baselines/reference/unionTypesAssignability.errors.txt @@ -1,9 +1,9 @@ unionTypesAssignability.ts(18,1): error TS2741: Property 'foo1' is missing in type 'E' but required in type 'D'. unionTypesAssignability.ts(19,1): error TS2322: Type 'D | E' is not assignable to type 'D'. - Type 'E' is not assignable to type 'D'. + Property 'foo1' is missing in type 'E' but required in type 'D'. unionTypesAssignability.ts(20,1): error TS2741: Property 'foo2' is missing in type 'D' but required in type 'E'. unionTypesAssignability.ts(22,1): error TS2322: Type 'D | E' is not assignable to type 'E'. - Type 'D' is not assignable to type 'E'. + Property 'foo2' is missing in type 'D' but required in type 'E'. unionTypesAssignability.ts(24,1): error TS2322: Type 'string' is not assignable to type 'number'. unionTypesAssignability.ts(25,1): error TS2322: Type 'string | number' is not assignable to type 'number'. Type 'string' is not assignable to type 'number'. @@ -13,8 +13,8 @@ unionTypesAssignability.ts(28,1): error TS2322: Type 'string | number' is not as unionTypesAssignability.ts(31,1): error TS2741: Property 'foo1' is missing in type 'C' but required in type 'D'. unionTypesAssignability.ts(32,1): error TS2741: Property 'foo2' is missing in type 'C' but required in type 'E'. unionTypesAssignability.ts(33,1): error TS2322: Type 'C' is not assignable to type 'D | E'. -unionTypesAssignability.ts(35,1): error TS2322: Type 'D' is not assignable to type 'E'. -unionTypesAssignability.ts(37,1): error TS2322: Type 'E' is not assignable to type 'D'. +unionTypesAssignability.ts(35,1): error TS2741: Property 'foo2' is missing in type 'D' but required in type 'E'. +unionTypesAssignability.ts(37,1): error TS2741: Property 'foo1' is missing in type 'E' but required in type 'D'. unionTypesAssignability.ts(41,1): error TS2322: Type 'number' is not assignable to type 'string'. unionTypesAssignability.ts(43,1): error TS2322: Type 'string' is not assignable to type 'number'. unionTypesAssignability.ts(64,5): error TS2322: Type 'U' is not assignable to type 'T'. @@ -52,7 +52,8 @@ unionTypesAssignability.ts(71,5): error TS2322: Type 'T | U' is not assignable t d = unionDE; // error e is not assignable to d ~ !!! error TS2322: Type 'D | E' is not assignable to type 'D'. -!!! error TS2322: Type 'E' is not assignable to type 'D'. +!!! error TS2322: Property 'foo1' is missing in type 'E' but required in type 'D'. +!!! related TS2728 unionTypesAssignability.ts:3:21: 'foo1' is declared here. e = d; ~ !!! error TS2741: Property 'foo2' is missing in type 'D' but required in type 'E'. @@ -61,7 +62,8 @@ unionTypesAssignability.ts(71,5): error TS2322: Type 'T | U' is not assignable t e = unionDE; // error d is not assignable to e ~ !!! error TS2322: Type 'D | E' is not assignable to type 'E'. -!!! error TS2322: Type 'D' is not assignable to type 'E'. +!!! error TS2322: Property 'foo2' is missing in type 'D' but required in type 'E'. +!!! related TS2728 unionTypesAssignability.ts:4:21: 'foo2' is declared here. num = num; num = str; ~~~ @@ -94,11 +96,13 @@ unionTypesAssignability.ts(71,5): error TS2322: Type 'T | U' is not assignable t d = d; e = d; ~ -!!! error TS2322: Type 'D' is not assignable to type 'E'. +!!! error TS2741: Property 'foo2' is missing in type 'D' but required in type 'E'. +!!! related TS2728 unionTypesAssignability.ts:4:21: 'foo2' is declared here. unionDE = d; // ok d = e; ~ -!!! error TS2322: Type 'E' is not assignable to type 'D'. +!!! error TS2741: Property 'foo1' is missing in type 'E' but required in type 'D'. +!!! related TS2728 unionTypesAssignability.ts:3:21: 'foo1' is declared here. e = e; unionDE = e; // ok num = num; diff --git a/tests/baselines/reference/varianceAnnotations.errors.txt b/tests/baselines/reference/varianceAnnotations.errors.txt index d34477cce47..c58ce8ee943 100644 --- a/tests/baselines/reference/varianceAnnotations.errors.txt +++ b/tests/baselines/reference/varianceAnnotations.errors.txt @@ -63,7 +63,7 @@ varianceAnnotations.ts(160,68): error TS2345: Argument of type 'ActionObject<{ t Type 'StateNode' is not assignable to type 'StateNode'. Types of property '_storedEvent' are incompatible. Type '{ type: "PLAY"; value: number; } | { type: "RESET"; }' is not assignable to type '{ type: "PLAY"; value: number; }'. - Type '{ type: "RESET"; }' is not assignable to type '{ type: "PLAY"; value: number; }'. + Property 'value' is missing in type '{ type: "RESET"; }' but required in type '{ type: "PLAY"; value: number; }'. ==== varianceAnnotations.ts (31 errors) ==== @@ -323,7 +323,8 @@ varianceAnnotations.ts(160,68): error TS2345: Argument of type 'ActionObject<{ t !!! error TS2345: Type 'StateNode' is not assignable to type 'StateNode'. !!! error TS2345: Types of property '_storedEvent' are incompatible. !!! error TS2345: Type '{ type: "PLAY"; value: number; } | { type: "RESET"; }' is not assignable to type '{ type: "PLAY"; value: number; }'. -!!! error TS2345: Type '{ type: "RESET"; }' is not assignable to type '{ type: "PLAY"; value: number; }'. +!!! error TS2345: Property 'value' is missing in type '{ type: "RESET"; }' but required in type '{ type: "PLAY"; value: number; }'. +!!! related TS2728 varianceAnnotations.ts:158:48: 'value' is declared here. // Repros from #48618 diff --git a/tests/cases/compiler/typeAssignabilityErrorMessage.ts b/tests/cases/compiler/typeAssignabilityErrorMessage.ts new file mode 100644 index 00000000000..071217a624f --- /dev/null +++ b/tests/cases/compiler/typeAssignabilityErrorMessage.ts @@ -0,0 +1,46 @@ +// @strict: true +// @target: es2020 +// @noEmit: true + +// Example: different error code altogether + +interface ThroughStream { + a: string; +} +interface ReadStream { + f: string; + g: number; + h: boolean; + i: BigInt; + j: symbol; +} +function foo(): ReadStream { + return undefined as any as ThroughStream; +} +function bar(): ReadStream { + return undefined as any as ThroughStream; +} + +// Example: different elaboration + +type Wrap = { + someProp: Bar; +} +type OtherWrap = { + someProp: Foo; +} +type Foo = { + foo: { what: T }; +} +type Bar = { + foo: { what: T }; +} | boolean; + +function fun(param: Wrap): void {} + +declare let fooStr: Foo; +declare let otherWrap: OtherWrap; + +let a: Bar = fooStr; + +fun(otherWrap); \ No newline at end of file From 652c96c1237eb1d228c21af93d5f4e8b0ab2b05c Mon Sep 17 00:00:00 2001 From: Anders Hejlsberg Date: Mon, 15 Jul 2024 13:48:44 -0700 Subject: [PATCH 11/89] Fix circularity errors in intra-binding-pattern references (#59183) --- src/compiler/checker.ts | 165 +++++++++--------- src/compiler/diagnosticMessages.json | 4 - src/compiler/types.ts | 2 +- ...checkDestructuringShorthandAssigment.types | 16 +- ...estructuringShorthandAssigment2.errors.txt | 5 +- .../circularReferenceInReturnType2.types | 16 +- ...rInitalizedVariablesFiltersUndefined.types | 4 +- ...FlowDestructuringVariablesInTryCatch.types | 4 +- .../declarationsAndAssignments.errors.txt | 8 +- .../declarationsAndAssignments.types | 4 +- ...redLateBoundNameHasCorrectTypes.errors.txt | 6 +- ...ructuredLateBoundNameHasCorrectTypes.types | 4 +- ...ingArrayBindingPatternAndAssignment3.types | 28 +-- .../destructuringFromUnionSpread.errors.txt | 4 +- .../destructuringFromUnionSpread.types | 4 +- ...ectBindingPatternAndAssignment3.errors.txt | 5 +- ...ngObjectBindingPatternAndAssignment3.types | 4 +- ...ternAndAssignment9SiblingInitializer.types | 16 +- .../reference/destructuringSpread.errors.txt | 4 +- .../reference/destructuringSpread.types | 4 +- ...destructuringWithLiteralInitializers.types | 44 ++--- ...ngEmitHelpers-classDecorator.17.errors.txt | 5 +- .../intraBindingPatternReferences.errors.txt | 25 +++ .../intraBindingPatternReferences.symbols | 60 +++++++ .../intraBindingPatternReferences.types | 144 +++++++++++++++ .../missingAndExcessProperties.errors.txt | 50 ++---- .../missingAndExcessProperties.types | 64 +++---- .../parserForOfStatement25.errors.txt | 11 -- .../reference/parserForOfStatement25.types | 8 +- .../reference/parserForStatement9.types | 4 +- ...ldDestructuredBinding(target=es2015).types | 12 +- ...ldDestructuredBinding(target=es2022).types | 12 +- ...ldDestructuredBinding(target=esnext).types | 12 +- ...ldDestructuredBinding(target=es2015).types | 12 +- ...ldDestructuredBinding(target=es2022).types | 12 +- ...ldDestructuredBinding(target=esnext).types | 12 +- ...pertyAssignmentsInDestructuring.errors.txt | 15 +- ...ndPropertyAssignmentsInDestructuring.types | 72 ++++---- ...yAssignmentsInDestructuring_ES6.errors.txt | 15 +- ...opertyAssignmentsInDestructuring_ES6.types | 72 ++++---- .../useBeforeDeclaration_destructuring.types | 20 +-- .../compiler/intraBindingPatternReferences.ts | 21 +++ 42 files changed, 598 insertions(+), 411 deletions(-) create mode 100644 tests/baselines/reference/intraBindingPatternReferences.errors.txt create mode 100644 tests/baselines/reference/intraBindingPatternReferences.symbols create mode 100644 tests/baselines/reference/intraBindingPatternReferences.types delete mode 100644 tests/baselines/reference/parserForOfStatement25.errors.txt create mode 100644 tests/cases/compiler/intraBindingPatternReferences.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 17eaf34b0a3..6ae60c97e56 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2278,6 +2278,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { var contextualTypes: (Type | undefined)[] = []; var contextualIsCache: boolean[] = []; var contextualTypeCount = 0; + var contextualBindingPatterns: BindingPattern[] = []; var inferenceContextNodes: Node[] = []; var inferenceContexts: (InferenceContext | undefined)[] = []; @@ -11229,6 +11230,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { parentType = getTypeWithFacts(parentType, TypeFacts.NEUndefined); } + const accessFlags = AccessFlags.ExpressionPosition | (noTupleBoundsCheck || hasDefaultValue(declaration) ? AccessFlags.AllowMissing : 0); let type: Type | undefined; if (pattern.kind === SyntaxKind.ObjectBindingPattern) { if (declaration.dotDotDotToken) { @@ -11249,7 +11251,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // Use explicitly specified property name ({ p: xxx } form), or otherwise the implied name ({ p } form) const name = declaration.propertyName || declaration.name as Identifier; const indexType = getLiteralTypeFromPropertyName(name); - const declaredType = getIndexedAccessType(parentType, indexType, AccessFlags.ExpressionPosition, name); + const declaredType = getIndexedAccessType(parentType, indexType, accessFlags, name); type = getFlowTypeOfDestructuring(declaration, declaredType); } } @@ -11270,7 +11272,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } else if (isArrayLikeType(parentType)) { const indexType = getNumberLiteralType(index); - const accessFlags = AccessFlags.ExpressionPosition | (noTupleBoundsCheck || hasDefaultValue(declaration) ? AccessFlags.NoTupleBoundsCheck : 0); const declaredType = getIndexedAccessTypeOrUndefined(parentType, indexType, accessFlags, declaration.name) || errorType; type = getFlowTypeOfDestructuring(declaration, declaredType); } @@ -11826,7 +11827,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // contextual type or, if the element itself is a binding pattern, with the type implied by that binding // pattern. const contextualType = isBindingPattern(element.name) ? getTypeFromBindingPattern(element.name, /*includePatternInType*/ true, /*reportErrors*/ false) : unknownType; - return addOptionality(widenTypeInferredFromInitializer(element, checkDeclarationInitializer(element, reportErrors ? CheckMode.Normal : CheckMode.Contextual, contextualType))); + return addOptionality(widenTypeInferredFromInitializer(element, checkDeclarationInitializer(element, CheckMode.Normal, contextualType))); } if (isBindingPattern(element.name)) { return getTypeFromBindingPattern(element.name, includePatternInType, reportErrors); @@ -11903,9 +11904,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // parameter with no type annotation or initializer, the type implied by the binding pattern becomes the type of // the parameter. function getTypeFromBindingPattern(pattern: BindingPattern, includePatternInType = false, reportErrors = false): Type { - return pattern.kind === SyntaxKind.ObjectBindingPattern + if (includePatternInType) contextualBindingPatterns.push(pattern); + const result = pattern.kind === SyntaxKind.ObjectBindingPattern ? getTypeFromObjectBindingPattern(pattern, includePatternInType, reportErrors) : getTypeFromArrayBindingPattern(pattern, includePatternInType, reportErrors); + if (includePatternInType) contextualBindingPatterns.pop(); + return result; } // Return the type associated with a variable, parameter, or property declaration. In the simple case this is the type @@ -12003,16 +12007,16 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return false; } - function getTypeOfVariableOrParameterOrProperty(symbol: Symbol, checkMode?: CheckMode): Type { + function getTypeOfVariableOrParameterOrProperty(symbol: Symbol): Type { const links = getSymbolLinks(symbol); if (!links.type) { - const type = getTypeOfVariableOrParameterOrPropertyWorker(symbol, checkMode); + const type = getTypeOfVariableOrParameterOrPropertyWorker(symbol); // For a contextually typed parameter it is possible that a type has already // been assigned (in assignTypeToParameterAndFixTypeParameters), and we want // to preserve this type. In fact, we need to _prefer_ that type, but it won't // be assigned until contextual typing is complete, so we need to defer in // cases where contextual typing may take place. - if (!links.type && !isParameterOfContextSensitiveSignature(symbol) && !checkMode) { + if (!links.type && !isParameterOfContextSensitiveSignature(symbol)) { links.type = type; } return type; @@ -12020,7 +12024,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return links.type; } - function getTypeOfVariableOrParameterOrPropertyWorker(symbol: Symbol, checkMode?: CheckMode): Type { + function getTypeOfVariableOrParameterOrPropertyWorker(symbol: Symbol): Type { // Handle prototype property if (symbol.flags & SymbolFlags.Prototype) { return getTypeOfPrototypeProperty(symbol); @@ -12063,16 +12067,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (symbol.flags & SymbolFlags.ValueModule && !(symbol.flags & SymbolFlags.Assignment)) { return getTypeOfFuncClassEnumModule(symbol); } - - // When trying to get the *contextual* type of a binding element, it's possible to fall in a loop and therefore - // end up in a circularity-like situation. This is not a true circularity so we should not report such an error. - // For example, here the looping could happen when trying to get the type of `a` (binding element): - // - // const { a, b = a } = { a: 0 } - // - if (isBindingElement(declaration) && checkMode === CheckMode.Contextual) { - return errorType; - } return reportCircularityError(symbol); } let type: Type; @@ -12145,16 +12139,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (symbol.flags & SymbolFlags.ValueModule && !(symbol.flags & SymbolFlags.Assignment)) { return getTypeOfFuncClassEnumModule(symbol); } - - // When trying to get the *contextual* type of a binding element, it's possible to fall in a loop and therefore - // end up in a circularity-like situation. This is not a true circularity so we should not report such an error. - // For example, here the looping could happen when trying to get the type of `a` (binding element): - // - // const { a, b = a } = { a: 0 } - // - if (isBindingElement(declaration) && checkMode === CheckMode.Contextual) { - return type; - } return reportCircularityError(symbol); } return type; @@ -12437,7 +12421,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return getTypeOfSymbol(symbol); } - function getTypeOfSymbol(symbol: Symbol, checkMode?: CheckMode): Type { + function getTypeOfSymbol(symbol: Symbol): Type { const checkFlags = getCheckFlags(symbol); if (checkFlags & CheckFlags.DeferredType) { return getTypeOfSymbolWithDeferredType(symbol); @@ -12452,7 +12436,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return getTypeOfReverseMappedSymbol(symbol as ReverseMappedSymbol); } if (symbol.flags & (SymbolFlags.Variable | SymbolFlags.Property)) { - return getTypeOfVariableOrParameterOrProperty(symbol, checkMode); + return getTypeOfVariableOrParameterOrProperty(symbol); } if (symbol.flags & (SymbolFlags.Function | SymbolFlags.Method | SymbolFlags.Class | SymbolFlags.Enum | SymbolFlags.ValueModule)) { return getTypeOfFuncClassEnumModule(symbol); @@ -18603,7 +18587,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } if (everyType(objectType, isTupleType) && isNumericLiteralName(propName)) { const index = +propName; - if (accessNode && everyType(objectType, t => !((t as TupleTypeReference).target.combinedFlags & ElementFlags.Variable)) && !(accessFlags & AccessFlags.NoTupleBoundsCheck)) { + if (accessNode && everyType(objectType, t => !((t as TupleTypeReference).target.combinedFlags & ElementFlags.Variable)) && !(accessFlags & AccessFlags.AllowMissing)) { const indexNode = getIndexNodeForAccessExpression(accessNode); if (isTupleType(objectType)) { if (index < 0) { @@ -18738,6 +18722,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return undefined; } } + if (accessFlags & AccessFlags.AllowMissing && isObjectLiteralType(objectType)) { + return undefinedType; + } if (isJSLiteralType(objectType)) { return anyType; } @@ -30093,8 +30080,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } - function getNarrowedTypeOfSymbol(symbol: Symbol, location: Identifier, checkMode?: CheckMode) { - const type = getTypeOfSymbol(symbol, checkMode); + function getNarrowedTypeOfSymbol(symbol: Symbol, location: Identifier) { + const type = getTypeOfSymbol(symbol); const declaration = symbol.valueDeclaration; if (declaration) { // If we have a non-rest binding element with no initializer declared as a const variable or a const-like @@ -30277,7 +30264,14 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const localOrExportSymbol = getExportSymbolOfValueSymbolIfExported(symbol); let declaration = localOrExportSymbol.valueDeclaration; - let type = getNarrowedTypeOfSymbol(localOrExportSymbol, node, checkMode); + // If the identifier is declared in a binding pattern for which we're currently computing the implied type and the + // reference occurs with the same binding pattern, return the non-inferrable any type. This for example occurs in + // 'const [a, b = a + 1] = [2]' when we're computing the contextual type for the array literal '[2]'. + if (declaration && declaration.kind === SyntaxKind.BindingElement && contains(contextualBindingPatterns, declaration.parent) && findAncestor(node, parent => parent === declaration!.parent)) { + return nonInferrableAnyType; + } + + let type = getNarrowedTypeOfSymbol(localOrExportSymbol, node); const assignmentKind = getAssignmentTargetKind(node); if (assignmentKind) { @@ -32357,9 +32351,11 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return node.isSpread ? getIndexedAccessType(node.type, numberType) : node.type; } - function hasDefaultValue(node: BindingElement | Expression): boolean { - return (node.kind === SyntaxKind.BindingElement && !!(node as BindingElement).initializer) || - (node.kind === SyntaxKind.BinaryExpression && (node as BinaryExpression).operatorToken.kind === SyntaxKind.EqualsToken); + function hasDefaultValue(node: BindingElement | ObjectLiteralElementLike | Expression): boolean { + return node.kind === SyntaxKind.BindingElement && !!(node as BindingElement).initializer || + node.kind === SyntaxKind.PropertyAssignment && hasDefaultValue((node as PropertyAssignment).initializer) || + node.kind === SyntaxKind.ShorthandPropertyAssignment && !!(node as ShorthandPropertyAssignment).objectAssignmentInitializer || + node.kind === SyntaxKind.BinaryExpression && (node as BinaryExpression).operatorToken.kind === SyntaxKind.EqualsToken; } function isSpreadIntoCallOrNew(node: ArrayLiteralExpression) { @@ -32624,14 +32620,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { prop.links.nameType = nameType; } - if (inDestructuringPattern) { + if (inDestructuringPattern && hasDefaultValue(memberDecl)) { // If object literal is an assignment pattern and if the assignment pattern specifies a default value // for the property, make the property optional. - const isOptional = (memberDecl.kind === SyntaxKind.PropertyAssignment && hasDefaultValue(memberDecl.initializer)) || - (memberDecl.kind === SyntaxKind.ShorthandPropertyAssignment && memberDecl.objectAssignmentInitializer); - if (isOptional) { - prop.flags |= SymbolFlags.Optional; - } + prop.flags |= SymbolFlags.Optional; } else if (contextualTypeHasPattern && !(getObjectFlags(contextualType) & ObjectFlags.ObjectLiteralPatternWithComputedProperties)) { // If object literal is contextually typed by the implied type of a binding pattern, and if the @@ -32729,35 +32721,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } popContextualType(); - // If object literal is contextually typed by the implied type of a binding pattern, augment the result - // type with those properties for which the binding pattern specifies a default value. - // If the object literal is spread into another object literal, skip this step and let the top-level object - // literal handle it instead. Note that this might require full traversal to the root pattern's parent - // as it's the guaranteed to be the common ancestor of the pattern node and the current object node. - // It's not possible to check if the immediate parent node is a spread assignment - // since the type flows in non-obvious ways through conditional expressions, IIFEs and more. - if (contextualTypeHasPattern) { - const rootPatternParent = findAncestor(contextualType.pattern!.parent, n => - n.kind === SyntaxKind.VariableDeclaration || - n.kind === SyntaxKind.BinaryExpression || - n.kind === SyntaxKind.Parameter); - const spreadOrOutsideRootObject = findAncestor(node, n => - n === rootPatternParent || - n.kind === SyntaxKind.SpreadAssignment)!; - - if (spreadOrOutsideRootObject.kind !== SyntaxKind.SpreadAssignment) { - for (const prop of getPropertiesOfType(contextualType)) { - if (!propertiesTable.get(prop.escapedName) && !getPropertyOfType(spread, prop.escapedName)) { - if (!(prop.flags & SymbolFlags.Optional)) { - error(prop.valueDeclaration || tryCast(prop, isTransientSymbol)?.links.bindingElement, Diagnostics.Initializer_provides_no_value_for_this_binding_element_and_the_binding_element_has_no_default_value); - } - propertiesTable.set(prop.escapedName, prop); - propertiesArray.push(prop); - } - } - } - } - if (isErrorType(spread)) { return errorType; } @@ -39155,7 +39118,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { checkPropertyAccessibility(property, /*isSuper*/ false, /*writing*/ true, objectLiteralType, prop); } } - const elementType = getIndexedAccessType(objectLiteralType, exprType, AccessFlags.ExpressionPosition, name); + const elementType = getIndexedAccessType(objectLiteralType, exprType, AccessFlags.ExpressionPosition | (hasDefaultValue(property) ? AccessFlags.AllowMissing : 0), name); const type = getFlowTypeOfDestructuring(property, elementType); return checkDestructuringAssignment(property.kind === SyntaxKind.ShorthandPropertyAssignment ? property : property.initializer, type); } @@ -39214,7 +39177,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (isArrayLikeType(sourceType)) { // We create a synthetic expression so that getIndexedAccessType doesn't get confused // when the element is a SyntaxKind.ElementAccessExpression. - const accessFlags = AccessFlags.ExpressionPosition | (hasDefaultValue(element) ? AccessFlags.NoTupleBoundsCheck : 0); + const accessFlags = AccessFlags.ExpressionPosition | (hasDefaultValue(element) ? AccessFlags.AllowMissing : 0); const elementType = getIndexedAccessTypeOrUndefined(sourceType, indexType, accessFlags, createSyntheticExpression(element, indexType)) || errorType; const assignedType = hasDefaultValue(element) ? getTypeWithFacts(elementType, TypeFacts.NEUndefined) : elementType; const type = getFlowTypeOfDestructuring(element, assignedType); @@ -40181,16 +40144,56 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return checkSatisfiesExpressionWorker(initializer, typeNode, checkMode); } } - const type = getQuickTypeOfExpression(initializer) || - (contextualType ? - checkExpressionWithContextualType(initializer, contextualType, /*inferenceContext*/ undefined, checkMode || CheckMode.Normal) - : checkExpressionCached(initializer, checkMode)); - return isParameter(declaration) && declaration.name.kind === SyntaxKind.ArrayBindingPattern && - isTupleType(type) && !(type.target.combinedFlags & ElementFlags.Variable) && getTypeReferenceArity(type) < declaration.name.elements.length ? - padTupleType(type, declaration.name) : type; + const type = getQuickTypeOfExpression(initializer) || (contextualType ? + checkExpressionWithContextualType(initializer, contextualType, /*inferenceContext*/ undefined, checkMode || CheckMode.Normal) : + checkExpressionCached(initializer, checkMode)); + if (isParameter(isBindingElement(declaration) ? walkUpBindingElementsAndPatterns(declaration) : declaration)) { + if (declaration.name.kind === SyntaxKind.ObjectBindingPattern && isObjectLiteralType(type)) { + return padObjectLiteralType(type as ObjectType, declaration.name); + } + if (declaration.name.kind === SyntaxKind.ArrayBindingPattern && isTupleType(type)) { + return padTupleType(type, declaration.name); + } + } + return type; + } + + function padObjectLiteralType(type: ObjectType, pattern: ObjectBindingPattern): Type { + let missingElements: BindingElement[] | undefined; + for (const e of pattern.elements) { + if (e.initializer) { + const name = getPropertyNameFromBindingElement(e); + if (name && !getPropertyOfType(type, name)) { + missingElements = append(missingElements, e); + } + } + } + if (!missingElements) { + return type; + } + const members = createSymbolTable(); + for (const prop of getPropertiesOfObjectType(type)) { + members.set(prop.escapedName, prop); + } + for (const e of missingElements) { + const symbol = createSymbol(SymbolFlags.Property | SymbolFlags.Optional, getPropertyNameFromBindingElement(e)!); + symbol.links.type = getTypeFromBindingElement(e, /*includePatternInType*/ false, /*reportErrors*/ false); + members.set(symbol.escapedName, symbol); + } + const result = createAnonymousType(type.symbol, members, emptyArray, emptyArray, getIndexInfosOfType(type)); + result.objectFlags = type.objectFlags; + return result; + } + + function getPropertyNameFromBindingElement(e: BindingElement) { + const exprType = getLiteralTypeFromPropertyName(e.propertyName || e.name as Identifier); + return isTypeUsableAsPropertyName(exprType) ? getPropertyNameFromType(exprType) : undefined; } function padTupleType(type: TupleTypeReference, pattern: ArrayBindingPattern) { + if (type.target.combinedFlags & ElementFlags.Variable || getTypeReferenceArity(type) >= pattern.elements.length) { + return type; + } const patternElements = pattern.elements; const elementTypes = getElementTypes(type).slice(); const elementFlags = type.target.elementFlags.slice(); diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index ee3ade078a3..5a4cb28c6fe 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -2680,10 +2680,6 @@ "category": "Error", "code": 2524 }, - "Initializer provides no value for this binding element and the binding element has no default value.": { - "category": "Error", - "code": 2525 - }, "A 'this' type is available only in a non-static member of a class or interface.": { "category": "Error", "code": 2526 diff --git a/src/compiler/types.ts b/src/compiler/types.ts index de1d15c4385..c035bbe06bf 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -6697,7 +6697,7 @@ export const enum AccessFlags { NoIndexSignatures = 1 << 1, Writing = 1 << 2, CacheSymbol = 1 << 3, - NoTupleBoundsCheck = 1 << 4, + AllowMissing = 1 << 4, ExpressionPosition = 1 << 5, ReportDeprecated = 1 << 6, SuppressNoImplicitAnyError = 1 << 7, diff --git a/tests/baselines/reference/checkDestructuringShorthandAssigment.types b/tests/baselines/reference/checkDestructuringShorthandAssigment.types index 0ca8f3d1a8e..705c1b672ce 100644 --- a/tests/baselines/reference/checkDestructuringShorthandAssigment.types +++ b/tests/baselines/reference/checkDestructuringShorthandAssigment.types @@ -9,24 +9,24 @@ function Test({ b = '' } = {}) {} > : ^^^^^^ >'' : "" > : ^^ ->{} : { b?: string; } -> : ^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ Test(({ b = '5' } = {})); >Test(({ b = '5' } = {})) : void > : ^^^^ >Test : ({ b }?: { b?: string; }) => void > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->({ b = '5' } = {}) : { b?: any; } -> : ^^^^^^^^^^^^ ->{ b = '5' } = {} : { b?: any; } -> : ^^^^^^^^^^^^ +>({ b = '5' } = {}) : {} +> : ^^ +>{ b = '5' } = {} : {} +> : ^^ >{ b = '5' } : { b?: any; } > : ^^^^^^^^^^^^ >b : any > : ^^^ >'5' : "5" > : ^^^ ->{} : { b?: any; } -> : ^^^^^^^^^^^^ +>{} : {} +> : ^^ diff --git a/tests/baselines/reference/checkDestructuringShorthandAssigment2.errors.txt b/tests/baselines/reference/checkDestructuringShorthandAssigment2.errors.txt index 42032f9db1b..bb320b0ba28 100644 --- a/tests/baselines/reference/checkDestructuringShorthandAssigment2.errors.txt +++ b/tests/baselines/reference/checkDestructuringShorthandAssigment2.errors.txt @@ -1,14 +1,11 @@ -checkDestructuringShorthandAssigment2.ts(4,7): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. checkDestructuringShorthandAssigment2.ts(4,27): error TS2353: Object literal may only specify known properties, and '[k]' does not exist in type '{ x: any; }'. -==== checkDestructuringShorthandAssigment2.ts (2 errors) ==== +==== checkDestructuringShorthandAssigment2.ts (1 errors) ==== // GH #38175 -- should not crash while checking let o: any, k: any; let { x } = { x: 1, ...o, [k]: 1 }; - ~ -!!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. ~~~ !!! error TS2353: Object literal may only specify known properties, and '[k]' does not exist in type '{ x: any; }'. \ No newline at end of file diff --git a/tests/baselines/reference/circularReferenceInReturnType2.types b/tests/baselines/reference/circularReferenceInReturnType2.types index 11979f17773..01cde94ffa1 100644 --- a/tests/baselines/reference/circularReferenceInReturnType2.types +++ b/tests/baselines/reference/circularReferenceInReturnType2.types @@ -104,8 +104,8 @@ type Something = { foo: number }; // inference fails here, but ideally should not const A = object()({ ->A : ObjectType -> : ^^^^^^^^^^^^^^^^^^^^^ +>A : any +> : ^^^ >object()({ name: "A", fields: () => ({ a: field({ type: A, resolve() { return { foo: 100, }; }, }), }),}) : ObjectType > : ^^^^^^^^^^^^^^^^^^^^^ >object() : ; }>(config: { name: string; fields: Fields | (() => Fields); }) => ObjectType @@ -138,14 +138,14 @@ const A = object()({ > : ^^^^^^^^^^^^^^^^^^^^^ >field : , Key extends string>(field: FieldFuncArgs) => Field > : ^ ^^ ^^^^^^^^^ ^^ ^^^^^^^^^ ^^ ^^ ^^^^^ ->{ type: A, resolve() { return { foo: 100, }; }, } : { type: ObjectType; resolve(): { foo: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ type: A, resolve() { return { foo: 100, }; }, } : { type: any; resolve(): { foo: number; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ type: A, ->type : ObjectType -> : ^^^^^^^^^^^^^^^^^^^^^ ->A : ObjectType -> : ^^^^^^^^^^^^^^^^^^^^^ +>type : any +> : ^^^ +>A : any +> : ^^^ resolve() { >resolve : () => { foo: number; } diff --git a/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.types b/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.types index e046fab2962..8bf023a8728 100644 --- a/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.types +++ b/tests/baselines/reference/contextualTypeForInitalizedVariablesFiltersUndefined.types @@ -10,8 +10,8 @@ const fInferred = ({ a = 0 } = {}) => a; > : ^^^^^^ >0 : 0 > : ^ ->{} : { a?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ >a : number > : ^^^^^^ diff --git a/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.types b/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.types index d6de3df9f4f..d27c0515fe8 100644 --- a/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.types +++ b/tests/baselines/reference/controlFlowDestructuringVariablesInTryCatch.types @@ -53,8 +53,8 @@ try { > : ^^^^^^ >1 : 1 > : ^ ->{ } : { e?: number | undefined; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ } : {} +> : ^^ } catch { console.error("error"); diff --git a/tests/baselines/reference/declarationsAndAssignments.errors.txt b/tests/baselines/reference/declarationsAndAssignments.errors.txt index 332a127335f..935c5f230bb 100644 --- a/tests/baselines/reference/declarationsAndAssignments.errors.txt +++ b/tests/baselines/reference/declarationsAndAssignments.errors.txt @@ -11,8 +11,8 @@ declarationsAndAssignments.ts(63,13): error TS2493: Tuple type '[number]' of len declarationsAndAssignments.ts(63,16): error TS2493: Tuple type '[number]' of length '1' has no element at index '2'. declarationsAndAssignments.ts(67,9): error TS2461: Type '{}' is not an array type. declarationsAndAssignments.ts(68,9): error TS2461: Type '{ 0: number; 1: number; }' is not an array type. -declarationsAndAssignments.ts(73,11): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. -declarationsAndAssignments.ts(73,14): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +declarationsAndAssignments.ts(73,11): error TS2339: Property 'a' does not exist on type '{}'. +declarationsAndAssignments.ts(73,14): error TS2339: Property 'b' does not exist on type '{}'. declarationsAndAssignments.ts(74,11): error TS2339: Property 'a' does not exist on type 'undefined[]'. declarationsAndAssignments.ts(74,14): error TS2339: Property 'b' does not exist on type 'undefined[]'. declarationsAndAssignments.ts(106,17): error TS2741: Property 'x' is missing in type '{ y: false; }' but required in type '{ x: any; y?: boolean; }'. @@ -122,9 +122,9 @@ declarationsAndAssignments.ts(138,9): error TS2322: Type 'number' is not assigna function f10() { var { a, b } = {}; // Error ~ -!!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +!!! error TS2339: Property 'a' does not exist on type '{}'. ~ -!!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +!!! error TS2339: Property 'b' does not exist on type '{}'. var { a, b } = []; // Error ~ !!! error TS2339: Property 'a' does not exist on type 'undefined[]'. diff --git a/tests/baselines/reference/declarationsAndAssignments.types b/tests/baselines/reference/declarationsAndAssignments.types index 9cef609f57b..7f50a7b18bc 100644 --- a/tests/baselines/reference/declarationsAndAssignments.types +++ b/tests/baselines/reference/declarationsAndAssignments.types @@ -486,8 +486,8 @@ function f10() { > : ^^^ >b : any > : ^^^ ->{} : { a: any; b: any; } -> : ^^^^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ var { a, b } = []; // Error >a : any diff --git a/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.errors.txt b/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.errors.txt index a0907af1dce..b5768d2cecd 100644 --- a/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.errors.txt +++ b/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.errors.txt @@ -1,4 +1,4 @@ -destructuredLateBoundNameHasCorrectTypes.ts(11,21): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +destructuredLateBoundNameHasCorrectTypes.ts(11,8): error TS2339: Property 'prop2' does not exist on type '{ prop: string; }'. destructuredLateBoundNameHasCorrectTypes.ts(11,37): error TS2353: Object literal may only specify known properties, and 'prop' does not exist in type '{ prop2: any; }'. @@ -14,8 +14,8 @@ destructuredLateBoundNameHasCorrectTypes.ts(11,37): error TS2353: Object literal const notPresent = "prop2"; let { [notPresent]: computed2 } = { prop: "b" }; - ~~~~~~~~~ -!!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. + ~~~~~~~~~~ +!!! error TS2339: Property 'prop2' does not exist on type '{ prop: string; }'. ~~~~ !!! error TS2353: Object literal may only specify known properties, and 'prop' does not exist in type '{ prop2: any; }'. \ No newline at end of file diff --git a/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types b/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types index 9c15d6b2b21..5259f7d4b49 100644 --- a/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types +++ b/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types @@ -54,8 +54,8 @@ let { [notPresent]: computed2 } = { prop: "b" }; > : ^^^^^^^ >computed2 : any > : ^^^ ->{ prop: "b" } : { prop: string; prop2: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ prop: "b" } : { prop: string; } +> : ^^^^^^^^^^^^^^^^^ >prop : string > : ^^^^^^ >"b" : "b" diff --git a/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment3.types b/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment3.types index 20866fba043..e5da561f979 100644 --- a/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment3.types +++ b/tests/baselines/reference/destructuringArrayBindingPatternAndAssignment3.types @@ -30,20 +30,20 @@ const [c, d = c, e = e] = [1]; // error for e = e > : ^ const [f, g = f, h = i, i = f] = [1]; // error for h = i ->f : any -> : ^^^ ->g : any -> : ^^^ ->f : any -> : ^^^ ->h : any -> : ^^^ ->i : any -> : ^^^ ->i : any -> : ^^^ ->f : any -> : ^^^ +>f : number +> : ^^^^^^ +>g : number +> : ^^^^^^ +>f : number +> : ^^^^^^ +>h : number +> : ^^^^^^ +>i : number +> : ^^^^^^ +>i : number +> : ^^^^^^ +>f : number +> : ^^^^^^ >[1] : [number] > : ^^^^^^^^ >1 : 1 diff --git a/tests/baselines/reference/destructuringFromUnionSpread.errors.txt b/tests/baselines/reference/destructuringFromUnionSpread.errors.txt index 82e58168ab9..2300456dd32 100644 --- a/tests/baselines/reference/destructuringFromUnionSpread.errors.txt +++ b/tests/baselines/reference/destructuringFromUnionSpread.errors.txt @@ -1,4 +1,4 @@ -destructuringFromUnionSpread.ts(5,9): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +destructuringFromUnionSpread.ts(5,9): error TS2339: Property 'a' does not exist on type '{ a: string; } | { b: number; }'. ==== destructuringFromUnionSpread.ts (1 errors) ==== @@ -8,5 +8,5 @@ destructuringFromUnionSpread.ts(5,9): error TS2525: Initializer provides no valu declare const x: A | B; const { a } = { ...x } // error ~ -!!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +!!! error TS2339: Property 'a' does not exist on type '{ a: string; } | { b: number; }'. \ No newline at end of file diff --git a/tests/baselines/reference/destructuringFromUnionSpread.types b/tests/baselines/reference/destructuringFromUnionSpread.types index a9eb75f2347..23d1a977c6d 100644 --- a/tests/baselines/reference/destructuringFromUnionSpread.types +++ b/tests/baselines/reference/destructuringFromUnionSpread.types @@ -16,8 +16,8 @@ declare const x: A | B; const { a } = { ...x } // error >a : any > : ^^^ ->{ ...x } : { a: any; } | { a: any; b: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>{ ...x } : { a: string; } | { b: number; } +> : ^^^^^ ^^^^^^^^^^^ ^^^ >x : A | B > : ^^^^^ diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.errors.txt b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.errors.txt index 822cb4d6c51..165d25f1338 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.errors.txt +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.errors.txt @@ -2,14 +2,13 @@ destructuringObjectBindingPatternAndAssignment3.ts(2,7): error TS1005: ',' expec destructuringObjectBindingPatternAndAssignment3.ts(3,5): error TS2322: Type '{ i: number; }' is not assignable to type 'string | number'. destructuringObjectBindingPatternAndAssignment3.ts(3,6): error TS2339: Property 'i' does not exist on type 'string | number'. destructuringObjectBindingPatternAndAssignment3.ts(4,6): error TS2339: Property 'i1' does not exist on type 'string | number | {}'. -destructuringObjectBindingPatternAndAssignment3.ts(5,12): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. destructuringObjectBindingPatternAndAssignment3.ts(5,21): error TS2353: Object literal may only specify known properties, and 'f212' does not exist in type '{ f21: any; }'. destructuringObjectBindingPatternAndAssignment3.ts(6,7): error TS1005: ':' expected. destructuringObjectBindingPatternAndAssignment3.ts(6,15): error TS1005: ':' expected. destructuringObjectBindingPatternAndAssignment3.ts(7,12): error TS1005: ':' expected. -==== destructuringObjectBindingPatternAndAssignment3.ts (9 errors) ==== +==== destructuringObjectBindingPatternAndAssignment3.ts (8 errors) ==== // Error var {h?} = { h?: 1 }; ~ @@ -23,8 +22,6 @@ destructuringObjectBindingPatternAndAssignment3.ts(7,12): error TS1005: ':' expe ~~ !!! error TS2339: Property 'i1' does not exist on type 'string | number | {}'. var { f2: {f21} = { f212: "string" } }: any = undefined; - ~~~ -!!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. ~~~~ !!! error TS2353: Object literal may only specify known properties, and 'f212' does not exist in type '{ f21: any; }'. var {1} = { 1 }; diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.types index 3c59be34a82..427f102f70f 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment3.types @@ -37,8 +37,8 @@ var { f2: {f21} = { f212: "string" } }: any = undefined; > : ^^^ >f21 : any > : ^^^ ->{ f212: "string" } : { f212: string; f21: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ f212: "string" } : { f212: string; } +> : ^^^^^^^^^^^^^^^^^ >f212 : string > : ^^^^^^ >"string" : "string" diff --git a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment9SiblingInitializer.types b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment9SiblingInitializer.types index 5d8a6dcf495..9366b554265 100644 --- a/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment9SiblingInitializer.types +++ b/tests/baselines/reference/destructuringObjectBindingPatternAndAssignment9SiblingInitializer.types @@ -13,8 +13,8 @@ function f1() { > : ^^^^^^ >a1 : number > : ^^^^^^ ->{ a1: 1 } : { a1: number; b1?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ a1: 1 } : { a1: number; } +> : ^^^^^^^^^^^^^^^ >a1 : number > : ^^^^^^ >1 : 1 @@ -31,8 +31,8 @@ function f1() { > : ^ >a2 : number > : ^^^^^^ ->{ a2: 1 } : { a2: number; b2?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ a2: 1 } : { a2: number; } +> : ^^^^^^^^^^^^^^^ >a2 : number > : ^^^^^^ >1 : 1 @@ -51,8 +51,8 @@ function f2() { > : ^^^^^^ >a1 : string > : ^^^^^^ ->{ a1: 'hi' } : { a1: string; b1?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ a1: 'hi' } : { a1: string; } +> : ^^^^^^^^^^^^^^^ >a1 : string > : ^^^^^^ >'hi' : "hi" @@ -69,8 +69,8 @@ function f2() { > : ^^^^^^ >'!' : "!" > : ^^^ ->{ a2: 'hi' } : { a2: string; b2?: string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ a2: 'hi' } : { a2: string; } +> : ^^^^^^^^^^^^^^^ >a2 : string > : ^^^^^^ >'hi' : "hi" diff --git a/tests/baselines/reference/destructuringSpread.errors.txt b/tests/baselines/reference/destructuringSpread.errors.txt index 7734af70927..bec3f7e2186 100644 --- a/tests/baselines/reference/destructuringSpread.errors.txt +++ b/tests/baselines/reference/destructuringSpread.errors.txt @@ -1,4 +1,4 @@ -destructuringSpread.ts(16,21): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +destructuringSpread.ts(16,21): error TS2339: Property 'g' does not exist on type '{ f: number; e: number; d: number; c: number; }'. ==== destructuringSpread.ts (1 errors) ==== @@ -19,7 +19,7 @@ destructuringSpread.ts(16,21): error TS2525: Initializer provides no value for t const { c, d, e, f, g } = { ~ -!!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +!!! error TS2339: Property 'g' does not exist on type '{ f: number; e: number; d: number; c: number; }'. ...{ ...{ ...{ diff --git a/tests/baselines/reference/destructuringSpread.types b/tests/baselines/reference/destructuringSpread.types index 4c5756eb706..b8a321a65b1 100644 --- a/tests/baselines/reference/destructuringSpread.types +++ b/tests/baselines/reference/destructuringSpread.types @@ -78,8 +78,8 @@ const { c, d, e, f, g } = { > : ^^^^^^ >g : any > : ^^^ ->{ ...{ ...{ ...{ c: 0, }, d: 0 }, e: 0 }, f: 0} : { f: number; g: any; e: number; d: number; c: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ ...{ ...{ ...{ c: 0, }, d: 0 }, e: 0 }, f: 0} : { f: number; e: number; d: number; c: number; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ...{ >{ ...{ ...{ c: 0, }, d: 0 }, e: 0 } : { e: number; d: number; c: number; } diff --git a/tests/baselines/reference/destructuringWithLiteralInitializers.types b/tests/baselines/reference/destructuringWithLiteralInitializers.types index 127033b4f88..706dbb17b1e 100644 --- a/tests/baselines/reference/destructuringWithLiteralInitializers.types +++ b/tests/baselines/reference/destructuringWithLiteralInitializers.types @@ -177,8 +177,8 @@ function f5({ x, y = 0 } = { x: 0 }) { } > : ^^^^^^ >0 : 0 > : ^ ->{ x: 0 } : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ x: 0 } : { x: number; } +> : ^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >0 : 0 @@ -230,8 +230,8 @@ function f6({ x = 0, y = 0 } = {}) { } > : ^^^^^^ >0 : 0 > : ^ ->{} : { x?: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ f6(); >f6() : void @@ -289,8 +289,8 @@ f6({ x: 1, y: 1 }); // (arg?: { a: { x?: number, y?: number } }) => void function f7({ a: { x = 0, y = 0 } } = { a: {} }) { } ->f7 : ({ a: { x, y } }?: { a: { x?: number; y?: number; }; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f7 : ({ a: { x, y } }?: { a: {}; }) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ >a : any > : ^^^ >x : number @@ -301,24 +301,24 @@ function f7({ a: { x = 0, y = 0 } } = { a: {} }) { } > : ^^^^^^ >0 : 0 > : ^ ->{ a: {} } : { a: { x?: number; y?: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->a : { x?: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{} : { x?: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ a: {} } : { a: {}; } +> : ^^^^^^^^^^ +>a : {} +> : ^^ +>{} : {} +> : ^^ f7(); >f7() : void > : ^^^^ ->f7 : ({ a: { x, y } }?: { a: { x?: number; y?: number; }; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f7 : ({ a: { x, y } }?: { a: {}; }) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ f7({ a: {} }); >f7({ a: {} }) : void > : ^^^^ ->f7 : ({ a: { x, y } }?: { a: { x?: number; y?: number; }; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f7 : ({ a: { x, y } }?: { a: {}; }) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ >{ a: {} } : { a: {}; } > : ^^^^^^^^^^ >a : {} @@ -329,8 +329,8 @@ f7({ a: {} }); f7({ a: { x: 1 } }); >f7({ a: { x: 1 } }) : void > : ^^^^ ->f7 : ({ a: { x, y } }?: { a: { x?: number; y?: number; }; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f7 : ({ a: { x, y } }?: { a: {}; }) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ >{ a: { x: 1 } } : { a: { x: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^ >a : { x: number; } @@ -345,8 +345,8 @@ f7({ a: { x: 1 } }); f7({ a: { y: 1 } }); >f7({ a: { y: 1 } }) : void > : ^^^^ ->f7 : ({ a: { x, y } }?: { a: { x?: number; y?: number; }; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f7 : ({ a: { x, y } }?: { a: {}; }) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ >{ a: { y: 1 } } : { a: { y: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^ >a : { y: number; } @@ -361,8 +361,8 @@ f7({ a: { y: 1 } }); f7({ a: { x: 1, y: 1 } }); >f7({ a: { x: 1, y: 1 } }) : void > : ^^^^ ->f7 : ({ a: { x, y } }?: { a: { x?: number; y?: number; }; }) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f7 : ({ a: { x, y } }?: { a: {}; }) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^ >{ a: { x: 1, y: 1 } } : { a: { x: number; y: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : { x: number; y: number; } diff --git a/tests/baselines/reference/esDecorators-classExpression-missingEmitHelpers-classDecorator.17.errors.txt b/tests/baselines/reference/esDecorators-classExpression-missingEmitHelpers-classDecorator.17.errors.txt index d40d7effd2e..f510b08fac8 100644 --- a/tests/baselines/reference/esDecorators-classExpression-missingEmitHelpers-classDecorator.17.errors.txt +++ b/tests/baselines/reference/esDecorators-classExpression-missingEmitHelpers-classDecorator.17.errors.txt @@ -1,10 +1,9 @@ -main.ts(8,5): error TS2538: Type 'any' cannot be used as an index type. main.ts(8,13): error TS2343: This syntax requires an imported helper named '__esDecorate' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. main.ts(8,13): error TS2343: This syntax requires an imported helper named '__runInitializers' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. main.ts(8,13): error TS2343: This syntax requires an imported helper named '__setFunctionName' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. -==== main.ts (4 errors) ==== +==== main.ts (3 errors) ==== export {}; declare var dec: any; declare var x: any; @@ -13,8 +12,6 @@ main.ts(8,13): error TS2343: This syntax requires an imported helper named '__se // uses __esDecorate, __runInitializers, __setFunctionName, __propKey ({ [x]: C = @dec class {} } = {}); - ~ -!!! error TS2538: Type 'any' cannot be used as an index type. ~~~~ !!! error TS2343: This syntax requires an imported helper named '__esDecorate' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. ~~~~ diff --git a/tests/baselines/reference/intraBindingPatternReferences.errors.txt b/tests/baselines/reference/intraBindingPatternReferences.errors.txt new file mode 100644 index 00000000000..11cbe9cf5bc --- /dev/null +++ b/tests/baselines/reference/intraBindingPatternReferences.errors.txt @@ -0,0 +1,25 @@ +intraBindingPatternReferences.ts(18,71): error TS7006: Parameter 'x' implicitly has an 'any' type. + + +==== intraBindingPatternReferences.ts (1 errors) ==== + // https://github.com/microsoft/TypeScript/issues/59177 + + function foo() { return a } + + const [a, b = a + 1] = [42]; + + const [c1, c2 = c1] = [123]; + const [d1, d2 = d1, d3 = d2] = [123]; + + const { e1, e2 = e1 } = { e1: 1 }; + const { f1, f2 = f1, f3 = f2 } = { f1: 1 }; + + // Example that requires padding of object literal types at depth + const mockCallback = ({ event: { params = {} } = {} }) => {}; + + // The contextual type for the second lambda in the object literal is 'any' because of the + // intra-binding-pattern reference in the initializer for fn2 + const { fn1 = (x: number) => 0, fn2 = fn1 } = { fn1: x => x + 1, fn2: x => x + 2 }; + ~ +!!! error TS7006: Parameter 'x' implicitly has an 'any' type. + \ No newline at end of file diff --git a/tests/baselines/reference/intraBindingPatternReferences.symbols b/tests/baselines/reference/intraBindingPatternReferences.symbols new file mode 100644 index 00000000000..8d7008be269 --- /dev/null +++ b/tests/baselines/reference/intraBindingPatternReferences.symbols @@ -0,0 +1,60 @@ +//// [tests/cases/compiler/intraBindingPatternReferences.ts] //// + +=== intraBindingPatternReferences.ts === +// https://github.com/microsoft/TypeScript/issues/59177 + +function foo() { return a } +>foo : Symbol(foo, Decl(intraBindingPatternReferences.ts, 0, 0)) +>a : Symbol(a, Decl(intraBindingPatternReferences.ts, 4, 7)) + +const [a, b = a + 1] = [42]; +>a : Symbol(a, Decl(intraBindingPatternReferences.ts, 4, 7)) +>b : Symbol(b, Decl(intraBindingPatternReferences.ts, 4, 9)) +>a : Symbol(a, Decl(intraBindingPatternReferences.ts, 4, 7)) + +const [c1, c2 = c1] = [123]; +>c1 : Symbol(c1, Decl(intraBindingPatternReferences.ts, 6, 7)) +>c2 : Symbol(c2, Decl(intraBindingPatternReferences.ts, 6, 10)) +>c1 : Symbol(c1, Decl(intraBindingPatternReferences.ts, 6, 7)) + +const [d1, d2 = d1, d3 = d2] = [123]; +>d1 : Symbol(d1, Decl(intraBindingPatternReferences.ts, 7, 7)) +>d2 : Symbol(d2, Decl(intraBindingPatternReferences.ts, 7, 10)) +>d1 : Symbol(d1, Decl(intraBindingPatternReferences.ts, 7, 7)) +>d3 : Symbol(d3, Decl(intraBindingPatternReferences.ts, 7, 19)) +>d2 : Symbol(d2, Decl(intraBindingPatternReferences.ts, 7, 10)) + +const { e1, e2 = e1 } = { e1: 1 }; +>e1 : Symbol(e1, Decl(intraBindingPatternReferences.ts, 9, 7)) +>e2 : Symbol(e2, Decl(intraBindingPatternReferences.ts, 9, 11)) +>e1 : Symbol(e1, Decl(intraBindingPatternReferences.ts, 9, 7)) +>e1 : Symbol(e1, Decl(intraBindingPatternReferences.ts, 9, 25)) + +const { f1, f2 = f1, f3 = f2 } = { f1: 1 }; +>f1 : Symbol(f1, Decl(intraBindingPatternReferences.ts, 10, 7)) +>f2 : Symbol(f2, Decl(intraBindingPatternReferences.ts, 10, 11)) +>f1 : Symbol(f1, Decl(intraBindingPatternReferences.ts, 10, 7)) +>f3 : Symbol(f3, Decl(intraBindingPatternReferences.ts, 10, 20)) +>f2 : Symbol(f2, Decl(intraBindingPatternReferences.ts, 10, 11)) +>f1 : Symbol(f1, Decl(intraBindingPatternReferences.ts, 10, 34)) + +// Example that requires padding of object literal types at depth +const mockCallback = ({ event: { params = {} } = {} }) => {}; +>mockCallback : Symbol(mockCallback, Decl(intraBindingPatternReferences.ts, 13, 5)) +>event : Symbol(event) +>params : Symbol(params, Decl(intraBindingPatternReferences.ts, 13, 32)) + +// The contextual type for the second lambda in the object literal is 'any' because of the +// intra-binding-pattern reference in the initializer for fn2 +const { fn1 = (x: number) => 0, fn2 = fn1 } = { fn1: x => x + 1, fn2: x => x + 2 }; +>fn1 : Symbol(fn1, Decl(intraBindingPatternReferences.ts, 17, 7)) +>x : Symbol(x, Decl(intraBindingPatternReferences.ts, 17, 15)) +>fn2 : Symbol(fn2, Decl(intraBindingPatternReferences.ts, 17, 31)) +>fn1 : Symbol(fn1, Decl(intraBindingPatternReferences.ts, 17, 7)) +>fn1 : Symbol(fn1, Decl(intraBindingPatternReferences.ts, 17, 47)) +>x : Symbol(x, Decl(intraBindingPatternReferences.ts, 17, 52)) +>x : Symbol(x, Decl(intraBindingPatternReferences.ts, 17, 52)) +>fn2 : Symbol(fn2, Decl(intraBindingPatternReferences.ts, 17, 64)) +>x : Symbol(x, Decl(intraBindingPatternReferences.ts, 17, 69)) +>x : Symbol(x, Decl(intraBindingPatternReferences.ts, 17, 69)) + diff --git a/tests/baselines/reference/intraBindingPatternReferences.types b/tests/baselines/reference/intraBindingPatternReferences.types new file mode 100644 index 00000000000..ef877b74a88 --- /dev/null +++ b/tests/baselines/reference/intraBindingPatternReferences.types @@ -0,0 +1,144 @@ +//// [tests/cases/compiler/intraBindingPatternReferences.ts] //// + +=== intraBindingPatternReferences.ts === +// https://github.com/microsoft/TypeScript/issues/59177 + +function foo() { return a } +>foo : () => number +> : ^^^^^^^^^^^^ +>a : number +> : ^^^^^^ + +const [a, b = a + 1] = [42]; +>a : number +> : ^^^^^^ +>b : number +> : ^^^^^^ +>a + 1 : number +> : ^^^^^^ +>a : number +> : ^^^^^^ +>1 : 1 +> : ^ +>[42] : [number] +> : ^^^^^^^^ +>42 : 42 +> : ^^ + +const [c1, c2 = c1] = [123]; +>c1 : number +> : ^^^^^^ +>c2 : number +> : ^^^^^^ +>c1 : number +> : ^^^^^^ +>[123] : [number] +> : ^^^^^^^^ +>123 : 123 +> : ^^^ + +const [d1, d2 = d1, d3 = d2] = [123]; +>d1 : number +> : ^^^^^^ +>d2 : number +> : ^^^^^^ +>d1 : number +> : ^^^^^^ +>d3 : number +> : ^^^^^^ +>d2 : number +> : ^^^^^^ +>[123] : [number] +> : ^^^^^^^^ +>123 : 123 +> : ^^^ + +const { e1, e2 = e1 } = { e1: 1 }; +>e1 : number +> : ^^^^^^ +>e2 : number +> : ^^^^^^ +>e1 : number +> : ^^^^^^ +>{ e1: 1 } : { e1: number; } +> : ^^^^^^^^^^^^^^^ +>e1 : number +> : ^^^^^^ +>1 : 1 +> : ^ + +const { f1, f2 = f1, f3 = f2 } = { f1: 1 }; +>f1 : number +> : ^^^^^^ +>f2 : number +> : ^^^^^^ +>f1 : number +> : ^^^^^^ +>f3 : number +> : ^^^^^^ +>f2 : number +> : ^^^^^^ +>{ f1: 1 } : { f1: number; } +> : ^^^^^^^^^^^^^^^ +>f1 : number +> : ^^^^^^ +>1 : 1 +> : ^ + +// Example that requires padding of object literal types at depth +const mockCallback = ({ event: { params = {} } = {} }) => {}; +>mockCallback : ({ event: { params } }: { event?: { params?: {} | undefined; } | undefined; }) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ event: { params = {} } = {} }) => {} : ({ event: { params } }: { event?: { params?: {} | undefined; } | undefined; }) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>event : any +> : ^^^ +>params : {} +> : ^^ +>{} : {} +> : ^^ +>{} : {} +> : ^^ + +// The contextual type for the second lambda in the object literal is 'any' because of the +// intra-binding-pattern reference in the initializer for fn2 +const { fn1 = (x: number) => 0, fn2 = fn1 } = { fn1: x => x + 1, fn2: x => x + 2 }; +>fn1 : (x: number) => number +> : ^ ^^ ^^^^^^^^^^^ +>(x: number) => 0 : (x: number) => number +> : ^ ^^ ^^^^^^^^^^^ +>x : number +> : ^^^^^^ +>0 : 0 +> : ^ +>fn2 : ((x: number) => number) | ((x: any) => any) +> : ^^ ^^ ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^ +>fn1 : (x: number) => number +> : ^ ^^ ^^^^^^^^^^^ +>{ fn1: x => x + 1, fn2: x => x + 2 } : { fn1?: (x: number) => number; fn2?: (x: any) => any; } +> : ^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ +>fn1 : (x: number) => number +> : ^ ^^^^^^^^^^^^^^^^^^^ +>x => x + 1 : (x: number) => number +> : ^ ^^^^^^^^^^^^^^^^^^^ +>x : number +> : ^^^^^^ +>x + 1 : number +> : ^^^^^^ +>x : number +> : ^^^^^^ +>1 : 1 +> : ^ +>fn2 : (x: any) => any +> : ^ ^^^^^^^^^^^^^ +>x => x + 2 : (x: any) => any +> : ^ ^^^^^^^^^^^^^ +>x : any +> : ^^^ +>x + 2 : any +> : ^^^ +>x : any +> : ^^^ +>2 : 2 +> : ^ + diff --git a/tests/baselines/reference/missingAndExcessProperties.errors.txt b/tests/baselines/reference/missingAndExcessProperties.errors.txt index f0448190c90..0c2727dc543 100644 --- a/tests/baselines/reference/missingAndExcessProperties.errors.txt +++ b/tests/baselines/reference/missingAndExcessProperties.errors.txt @@ -1,15 +1,11 @@ -missingAndExcessProperties.ts(3,11): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. -missingAndExcessProperties.ts(3,14): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. -missingAndExcessProperties.ts(4,11): error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'any', but here has type 'number'. -missingAndExcessProperties.ts(4,18): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. -missingAndExcessProperties.ts(5,11): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. -missingAndExcessProperties.ts(5,14): error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'any', but here has type 'number'. -missingAndExcessProperties.ts(6,11): error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'any', but here has type 'number'. -missingAndExcessProperties.ts(6,18): error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'any', but here has type 'number'. -missingAndExcessProperties.ts(12,8): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. -missingAndExcessProperties.ts(12,11): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. -missingAndExcessProperties.ts(13,18): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. -missingAndExcessProperties.ts(14,8): error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +missingAndExcessProperties.ts(3,11): error TS2339: Property 'x' does not exist on type '{}'. +missingAndExcessProperties.ts(3,14): error TS2339: Property 'y' does not exist on type '{}'. +missingAndExcessProperties.ts(4,18): error TS2339: Property 'y' does not exist on type '{}'. +missingAndExcessProperties.ts(5,11): error TS2339: Property 'x' does not exist on type '{}'. +missingAndExcessProperties.ts(12,8): error TS2339: Property 'x' does not exist on type '{}'. +missingAndExcessProperties.ts(12,11): error TS2339: Property 'y' does not exist on type '{}'. +missingAndExcessProperties.ts(13,18): error TS2339: Property 'y' does not exist on type '{}'. +missingAndExcessProperties.ts(14,8): error TS2339: Property 'x' does not exist on type '{}'. missingAndExcessProperties.ts(21,25): error TS2353: Object literal may only specify known properties, and 'y' does not exist in type '{ x: any; }'. missingAndExcessProperties.ts(22,19): error TS2353: Object literal may only specify known properties, and 'x' does not exist in type '{ y: any; }'. missingAndExcessProperties.ts(29,14): error TS2353: Object literal may only specify known properties, and 'x' does not exist in type '{}'. @@ -18,33 +14,21 @@ missingAndExcessProperties.ts(30,22): error TS2353: Object literal may only spec missingAndExcessProperties.ts(31,16): error TS2353: Object literal may only specify known properties, and 'x' does not exist in type '{ y: number; }'. -==== missingAndExcessProperties.ts (18 errors) ==== +==== missingAndExcessProperties.ts (14 errors) ==== // Missing properties function f1() { var { x, y } = {}; ~ -!!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +!!! error TS2339: Property 'x' does not exist on type '{}'. ~ -!!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +!!! error TS2339: Property 'y' does not exist on type '{}'. var { x = 1, y } = {}; - ~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'any', but here has type 'number'. -!!! related TS6203 missingAndExcessProperties.ts:3:11: 'x' was also declared here. ~ -!!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +!!! error TS2339: Property 'y' does not exist on type '{}'. var { x, y = 1 } = {}; ~ -!!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. - ~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'any', but here has type 'number'. -!!! related TS6203 missingAndExcessProperties.ts:3:14: 'y' was also declared here. +!!! error TS2339: Property 'x' does not exist on type '{}'. var { x = 1, y = 1 } = {}; - ~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'any', but here has type 'number'. -!!! related TS6203 missingAndExcessProperties.ts:3:11: 'x' was also declared here. - ~ -!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'y' must be of type 'any', but here has type 'number'. -!!! related TS6203 missingAndExcessProperties.ts:3:14: 'y' was also declared here. } // Missing properties @@ -52,15 +36,15 @@ missingAndExcessProperties.ts(31,16): error TS2353: Object literal may only spec var x: number, y: number; ({ x, y } = {}); ~ -!!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +!!! error TS2339: Property 'x' does not exist on type '{}'. ~ -!!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +!!! error TS2339: Property 'y' does not exist on type '{}'. ({ x: x = 1, y } = {}); ~ -!!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +!!! error TS2339: Property 'y' does not exist on type '{}'. ({ x, y: y = 1 } = {}); ~ -!!! error TS2525: Initializer provides no value for this binding element and the binding element has no default value. +!!! error TS2339: Property 'x' does not exist on type '{}'. ({ x: x = 1, y: y = 1 } = {}); } diff --git a/tests/baselines/reference/missingAndExcessProperties.types b/tests/baselines/reference/missingAndExcessProperties.types index f702ab6a2ce..c5ddbd7581d 100644 --- a/tests/baselines/reference/missingAndExcessProperties.types +++ b/tests/baselines/reference/missingAndExcessProperties.types @@ -11,8 +11,8 @@ function f1() { > : ^^^ >y : any > : ^^^ ->{} : { x: any; y: any; } -> : ^^^^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ var { x = 1, y } = {}; >x : any @@ -21,8 +21,8 @@ function f1() { > : ^ >y : any > : ^^^ ->{} : { x?: number; y: any; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ var { x, y = 1 } = {}; >x : any @@ -31,8 +31,8 @@ function f1() { > : ^^^ >1 : 1 > : ^ ->{} : { x: any; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ var { x = 1, y = 1 } = {}; >x : any @@ -43,8 +43,8 @@ function f1() { > : ^^^ >1 : 1 > : ^ ->{} : { x?: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ } // Missing properties @@ -59,24 +59,24 @@ function f2() { > : ^^^^^^ ({ x, y } = {}); ->({ x, y } = {}) : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ x, y } = {} : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ x, y } = {}) : {} +> : ^^ +>{ x, y } = {} : {} +> : ^^ >{ x, y } : { x: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >y : number > : ^^^^^^ ->{} : { x: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ ({ x: x = 1, y } = {}); ->({ x: x = 1, y } = {}) : { x?: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ x: x = 1, y } = {} : { x?: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ x: x = 1, y } = {}) : {} +> : ^^ +>{ x: x = 1, y } = {} : {} +> : ^^ >{ x: x = 1, y } : { x?: number; y: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -89,14 +89,14 @@ function f2() { > : ^ >y : number > : ^^^^^^ ->{} : { x?: number; y: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ ({ x, y: y = 1 } = {}); ->({ x, y: y = 1 } = {}) : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ x, y: y = 1 } = {} : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ x, y: y = 1 } = {}) : {} +> : ^^ +>{ x, y: y = 1 } = {} : {} +> : ^^ >{ x, y: y = 1 } : { x: number; y?: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -109,14 +109,14 @@ function f2() { > : ^^^^^^ >1 : 1 > : ^ ->{} : { x: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ ({ x: x = 1, y: y = 1 } = {}); ->({ x: x = 1, y: y = 1 } = {}) : { x?: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ x: x = 1, y: y = 1 } = {} : { x?: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ x: x = 1, y: y = 1 } = {}) : {} +> : ^^ +>{ x: x = 1, y: y = 1 } = {} : {} +> : ^^ >{ x: x = 1, y: y = 1 } : { x?: number; y?: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -135,8 +135,8 @@ function f2() { > : ^^^^^^ >1 : 1 > : ^ ->{} : { x?: number; y?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ } // Excess properties diff --git a/tests/baselines/reference/parserForOfStatement25.errors.txt b/tests/baselines/reference/parserForOfStatement25.errors.txt deleted file mode 100644 index 68a6589ca56..00000000000 --- a/tests/baselines/reference/parserForOfStatement25.errors.txt +++ /dev/null @@ -1,11 +0,0 @@ -parserForOfStatement25.ts(4,11): error TS2339: Property 'x' does not exist on type '{}'. - - -==== parserForOfStatement25.ts (1 errors) ==== - // repro from https://github.com/microsoft/TypeScript/issues/54769 - - for (let [x = 'a' in {}] of [[]]) console.log(x) - for (let {x = 'a' in {}} of [{}]) console.log(x) - ~ -!!! error TS2339: Property 'x' does not exist on type '{}'. - \ No newline at end of file diff --git a/tests/baselines/reference/parserForOfStatement25.types b/tests/baselines/reference/parserForOfStatement25.types index 0a80626a619..66f6d3ad7f5 100644 --- a/tests/baselines/reference/parserForOfStatement25.types +++ b/tests/baselines/reference/parserForOfStatement25.types @@ -28,8 +28,8 @@ for (let [x = 'a' in {}] of [[]]) console.log(x) > : ^^^^^^^ for (let {x = 'a' in {}} of [{}]) console.log(x) ->x : any -> : ^^^ +>x : boolean +> : ^^^^^^^ >'a' in {} : boolean > : ^^^^^^^ >'a' : "a" @@ -48,6 +48,6 @@ for (let {x = 'a' in {}} of [{}]) console.log(x) > : ^^^^^^^ >log : (...data: any[]) => void > : ^^^^ ^^ ^^^^^ ->x : any -> : ^^^ +>x : boolean +> : ^^^^^^^ diff --git a/tests/baselines/reference/parserForStatement9.types b/tests/baselines/reference/parserForStatement9.types index 8f7f2f3f836..e4b025dfa51 100644 --- a/tests/baselines/reference/parserForStatement9.types +++ b/tests/baselines/reference/parserForStatement9.types @@ -46,8 +46,8 @@ for (let {x = 'a' in {}} = {}; !x; x = !x) console.log(x) > : ^^^ >{} : {} > : ^^ ->{} : { x?: boolean; } -> : ^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ >!x : boolean > : ^^^^^^^ >x : boolean diff --git a/tests/baselines/reference/privateNameFieldDestructuredBinding(target=es2015).types b/tests/baselines/reference/privateNameFieldDestructuredBinding(target=es2015).types index 85dfe8b55f6..d2738266e4b 100644 --- a/tests/baselines/reference/privateNameFieldDestructuredBinding(target=es2015).types +++ b/tests/baselines/reference/privateNameFieldDestructuredBinding(target=es2015).types @@ -157,10 +157,10 @@ class A { > : ^ ({ a: this.#field = 1, b: [this.#field = 1] } = { b: [] }); ->({ a: this.#field = 1, b: [this.#field = 1] } = { b: [] }) : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ->{ a: this.#field = 1, b: [this.#field = 1] } = { b: [] } : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +>({ a: this.#field = 1, b: [this.#field = 1] } = { b: [] }) : { b: []; } +> : ^^^^^^^^^^ +>{ a: this.#field = 1, b: [this.#field = 1] } = { b: [] } : { b: []; } +> : ^^^^^^^^^^ >{ a: this.#field = 1, b: [this.#field = 1] } : { a?: number; b: [number]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -185,8 +185,8 @@ class A { > : ^^^^ >1 : 1 > : ^ ->{ b: [] } : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +>{ b: [] } : { b: []; } +> : ^^^^^^^^^^ >b : [] > : ^^ >[] : [] diff --git a/tests/baselines/reference/privateNameFieldDestructuredBinding(target=es2022).types b/tests/baselines/reference/privateNameFieldDestructuredBinding(target=es2022).types index 85dfe8b55f6..d2738266e4b 100644 --- a/tests/baselines/reference/privateNameFieldDestructuredBinding(target=es2022).types +++ b/tests/baselines/reference/privateNameFieldDestructuredBinding(target=es2022).types @@ -157,10 +157,10 @@ class A { > : ^ ({ a: this.#field = 1, b: [this.#field = 1] } = { b: [] }); ->({ a: this.#field = 1, b: [this.#field = 1] } = { b: [] }) : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ->{ a: this.#field = 1, b: [this.#field = 1] } = { b: [] } : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +>({ a: this.#field = 1, b: [this.#field = 1] } = { b: [] }) : { b: []; } +> : ^^^^^^^^^^ +>{ a: this.#field = 1, b: [this.#field = 1] } = { b: [] } : { b: []; } +> : ^^^^^^^^^^ >{ a: this.#field = 1, b: [this.#field = 1] } : { a?: number; b: [number]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -185,8 +185,8 @@ class A { > : ^^^^ >1 : 1 > : ^ ->{ b: [] } : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +>{ b: [] } : { b: []; } +> : ^^^^^^^^^^ >b : [] > : ^^ >[] : [] diff --git a/tests/baselines/reference/privateNameFieldDestructuredBinding(target=esnext).types b/tests/baselines/reference/privateNameFieldDestructuredBinding(target=esnext).types index 85dfe8b55f6..d2738266e4b 100644 --- a/tests/baselines/reference/privateNameFieldDestructuredBinding(target=esnext).types +++ b/tests/baselines/reference/privateNameFieldDestructuredBinding(target=esnext).types @@ -157,10 +157,10 @@ class A { > : ^ ({ a: this.#field = 1, b: [this.#field = 1] } = { b: [] }); ->({ a: this.#field = 1, b: [this.#field = 1] } = { b: [] }) : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ->{ a: this.#field = 1, b: [this.#field = 1] } = { b: [] } : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +>({ a: this.#field = 1, b: [this.#field = 1] } = { b: [] }) : { b: []; } +> : ^^^^^^^^^^ +>{ a: this.#field = 1, b: [this.#field = 1] } = { b: [] } : { b: []; } +> : ^^^^^^^^^^ >{ a: this.#field = 1, b: [this.#field = 1] } : { a?: number; b: [number]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -185,8 +185,8 @@ class A { > : ^^^^ >1 : 1 > : ^ ->{ b: [] } : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +>{ b: [] } : { b: []; } +> : ^^^^^^^^^^ >b : [] > : ^^ >[] : [] diff --git a/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=es2015).types b/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=es2015).types index 3141d2ef0de..e85c8d14a44 100644 --- a/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=es2015).types +++ b/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=es2015).types @@ -155,10 +155,10 @@ class A { > : ^ ({ a: A.#field = 1, b: [A.#field = 1] } = { b: [] }); ->({ a: A.#field = 1, b: [A.#field = 1] } = { b: [] }) : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ->{ a: A.#field = 1, b: [A.#field = 1] } = { b: [] } : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +>({ a: A.#field = 1, b: [A.#field = 1] } = { b: [] }) : { b: []; } +> : ^^^^^^^^^^ +>{ a: A.#field = 1, b: [A.#field = 1] } = { b: [] } : { b: []; } +> : ^^^^^^^^^^ >{ a: A.#field = 1, b: [A.#field = 1] } : { a?: number; b: [number]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -183,8 +183,8 @@ class A { > : ^^^^^^^^ >1 : 1 > : ^ ->{ b: [] } : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +>{ b: [] } : { b: []; } +> : ^^^^^^^^^^ >b : [] > : ^^ >[] : [] diff --git a/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=es2022).types b/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=es2022).types index 3141d2ef0de..e85c8d14a44 100644 --- a/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=es2022).types +++ b/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=es2022).types @@ -155,10 +155,10 @@ class A { > : ^ ({ a: A.#field = 1, b: [A.#field = 1] } = { b: [] }); ->({ a: A.#field = 1, b: [A.#field = 1] } = { b: [] }) : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ->{ a: A.#field = 1, b: [A.#field = 1] } = { b: [] } : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +>({ a: A.#field = 1, b: [A.#field = 1] } = { b: [] }) : { b: []; } +> : ^^^^^^^^^^ +>{ a: A.#field = 1, b: [A.#field = 1] } = { b: [] } : { b: []; } +> : ^^^^^^^^^^ >{ a: A.#field = 1, b: [A.#field = 1] } : { a?: number; b: [number]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -183,8 +183,8 @@ class A { > : ^^^^^^^^ >1 : 1 > : ^ ->{ b: [] } : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +>{ b: [] } : { b: []; } +> : ^^^^^^^^^^ >b : [] > : ^^ >[] : [] diff --git a/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=esnext).types b/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=esnext).types index 3141d2ef0de..e85c8d14a44 100644 --- a/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=esnext).types +++ b/tests/baselines/reference/privateNameStaticFieldDestructuredBinding(target=esnext).types @@ -155,10 +155,10 @@ class A { > : ^ ({ a: A.#field = 1, b: [A.#field = 1] } = { b: [] }); ->({ a: A.#field = 1, b: [A.#field = 1] } = { b: [] }) : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ ->{ a: A.#field = 1, b: [A.#field = 1] } = { b: [] } : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +>({ a: A.#field = 1, b: [A.#field = 1] } = { b: [] }) : { b: []; } +> : ^^^^^^^^^^ +>{ a: A.#field = 1, b: [A.#field = 1] } = { b: [] } : { b: []; } +> : ^^^^^^^^^^ >{ a: A.#field = 1, b: [A.#field = 1] } : { a?: number; b: [number]; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number @@ -183,8 +183,8 @@ class A { > : ^^^^^^^^ >1 : 1 > : ^ ->{ b: [] } : { b: []; a?: number; } -> : ^^^^^^^^^^^^^^^^^^^^^^ +>{ b: [] } : { b: []; } +> : ^^^^^^^^^^ >b : [] > : ^^ >[] : [] diff --git a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.errors.txt b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.errors.txt index cdc3707a211..6a12186cc76 100644 --- a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.errors.txt +++ b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.errors.txt @@ -1,5 +1,3 @@ -shorthandPropertyAssignmentsInDestructuring.ts(14,9): error TS2339: Property 's1' does not exist on type '{}'. -shorthandPropertyAssignmentsInDestructuring.ts(20,9): error TS2339: Property 's1' does not exist on type '{}'. shorthandPropertyAssignmentsInDestructuring.ts(38,9): error TS2322: Type 'number' is not assignable to type 'string'. shorthandPropertyAssignmentsInDestructuring.ts(44,12): error TS2322: Type 'number' is not assignable to type 'string'. shorthandPropertyAssignmentsInDestructuring.ts(70,5): error TS2322: Type 'number' is not assignable to type 'string'. @@ -7,14 +5,11 @@ shorthandPropertyAssignmentsInDestructuring.ts(75,8): error TS2322: Type 'number shorthandPropertyAssignmentsInDestructuring.ts(80,5): error TS2322: Type 'number' is not assignable to type 'string'. shorthandPropertyAssignmentsInDestructuring.ts(80,20): error TS2322: Type 'number' is not assignable to type 'string'. shorthandPropertyAssignmentsInDestructuring.ts(85,8): error TS2322: Type 'number' is not assignable to type 'string'. -shorthandPropertyAssignmentsInDestructuring.ts(85,19): error TS2322: Type '{ x: number; }' is not assignable to type '{ x: string; }'. - Types of property 'x' are incompatible. - Type 'number' is not assignable to type 'string'. shorthandPropertyAssignmentsInDestructuring.ts(85,26): error TS2322: Type 'number' is not assignable to type 'string'. shorthandPropertyAssignmentsInDestructuring.ts(111,14): error TS1312: Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern. -==== shorthandPropertyAssignmentsInDestructuring.ts (12 errors) ==== +==== shorthandPropertyAssignmentsInDestructuring.ts (9 errors) ==== (function() { var s0; for ({ s0 = 5 } of [{ s0: 1 }]) { @@ -29,16 +24,12 @@ shorthandPropertyAssignmentsInDestructuring.ts(111,14): error TS1312: Did you me (function() { var s1; for ({ s1 = 5 } of [{}]) { - ~~ -!!! error TS2339: Property 's1' does not exist on type '{}'. } }); (function() { var s1; for ({ s1:s1 = 5 } of [{}]) { - ~~ -!!! error TS2339: Property 's1' does not exist on type '{}'. } }); @@ -119,10 +110,6 @@ shorthandPropertyAssignmentsInDestructuring.ts(111,14): error TS1312: Did you me ({ y2:y2 = 5, y3:y3 = { x: 1 } } = {}) ~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. - ~~ -!!! error TS2322: Type '{ x: number; }' is not assignable to type '{ x: string; }'. -!!! error TS2322: Types of property 'x' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. ~ !!! error TS2322: Type 'number' is not assignable to type 'string'. !!! related TS6500 shorthandPropertyAssignmentsInDestructuring.ts:84:24: The expected type comes from property 'x' which is declared here on type '{ x: string; }' diff --git a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.types b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.types index dfaaa2fe5c2..32af2c23948 100644 --- a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.types +++ b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring.types @@ -371,18 +371,18 @@ > : ^^^^^^ ({ y1 = 5 } = {}) ->({ y1 = 5 } = {}) : { y1?: string; } -> : ^^^^^^^^^^^^^^^^ ->{ y1 = 5 } = {} : { y1?: string; } -> : ^^^^^^^^^^^^^^^^ +>({ y1 = 5 } = {}) : {} +> : ^^ +>{ y1 = 5 } = {} : {} +> : ^^ >{ y1 = 5 } : { y1?: string; } > : ^^^^^^^^^^^^^^^^ >y1 : string > : ^^^^^^ >5 : 5 > : ^ ->{} : { y1?: string; } -> : ^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ }); @@ -397,10 +397,10 @@ > : ^^^^^^ ({ y1:y1 = 5 } = {}) ->({ y1:y1 = 5 } = {}) : { y1?: number; } -> : ^^^^^^^^^^^^^^^^ ->{ y1:y1 = 5 } = {} : { y1?: number; } -> : ^^^^^^^^^^^^^^^^ +>({ y1:y1 = 5 } = {}) : {} +> : ^^ +>{ y1:y1 = 5 } = {} : {} +> : ^^ >{ y1:y1 = 5 } : { y1?: number; } > : ^^^^^^^^^^^^^^^^ >y1 : number @@ -411,8 +411,8 @@ > : ^^^^^^ >5 : 5 > : ^ ->{} : { y1?: number; } -> : ^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ }); @@ -431,10 +431,10 @@ > : ^^^^^^ ({ y2 = 5, y3 = { x: 1 } } = {}) ->({ y2 = 5, y3 = { x: 1 } } = {}) : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ->{ y2 = 5, y3 = { x: 1 } } = {} : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>({ y2 = 5, y3 = { x: 1 } } = {}) : {} +> : ^^ +>{ y2 = 5, y3 = { x: 1 } } = {} : {} +> : ^^ >{ y2 = 5, y3 = { x: 1 } } : { y2?: string; y3?: { x: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >y2 : string @@ -449,8 +449,8 @@ > : ^^^^^^ >1 : 1 > : ^ ->{} : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>{} : {} +> : ^^ }); @@ -469,10 +469,10 @@ > : ^^^^^^ ({ y2:y2 = 5, y3:y3 = { x: 1 } } = {}) ->({ y2:y2 = 5, y3:y3 = { x: 1 } } = {}) : { y2?: number; y3?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ y2:y2 = 5, y3:y3 = { x: 1 } } = {} : { y2?: number; y3?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ y2:y2 = 5, y3:y3 = { x: 1 } } = {}) : {} +> : ^^ +>{ y2:y2 = 5, y3:y3 = { x: 1 } } = {} : {} +> : ^^ >{ y2:y2 = 5, y3:y3 = { x: 1 } } : { y2?: number; y3?: { x: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >y2 : number @@ -495,8 +495,8 @@ > : ^^^^^^ >1 : 1 > : ^ ->{} : { y2?: number; y3?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ }); @@ -515,10 +515,10 @@ > : ^^^^^^ ({ y4 = 5, y5 = { x: 1 } } = {}) ->({ y4 = 5, y5 = { x: 1 } } = {}) : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ->{ y4 = 5, y5 = { x: 1 } } = {} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>({ y4 = 5, y5 = { x: 1 } } = {}) : {} +> : ^^ +>{ y4 = 5, y5 = { x: 1 } } = {} : {} +> : ^^ >{ y4 = 5, y5 = { x: 1 } } : { y4?: number; y5?: { x: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >y4 : number @@ -533,8 +533,8 @@ > : ^^^^^^ >1 : 1 > : ^ ->{} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>{} : {} +> : ^^ }); @@ -553,10 +553,10 @@ > : ^^^^^^ ({ y4:y4 = 5, y5:y5 = { x: 1 } } = {}) ->({ y4:y4 = 5, y5:y5 = { x: 1 } } = {}) : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ y4:y4 = 5, y5:y5 = { x: 1 } } = {} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ y4:y4 = 5, y5:y5 = { x: 1 } } = {}) : {} +> : ^^ +>{ y4:y4 = 5, y5:y5 = { x: 1 } } = {} : {} +> : ^^ >{ y4:y4 = 5, y5:y5 = { x: 1 } } : { y4?: number; y5?: { x: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >y4 : number @@ -579,8 +579,8 @@ > : ^^^^^^ >1 : 1 > : ^ ->{} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ }); diff --git a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.errors.txt b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.errors.txt index 4d3cc097116..cd0830e27c5 100644 --- a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.errors.txt +++ b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.errors.txt @@ -1,5 +1,3 @@ -shorthandPropertyAssignmentsInDestructuring_ES6.ts(14,9): error TS2339: Property 's1' does not exist on type '{}'. -shorthandPropertyAssignmentsInDestructuring_ES6.ts(20,9): error TS2339: Property 's1' does not exist on type '{}'. shorthandPropertyAssignmentsInDestructuring_ES6.ts(38,9): error TS2322: Type 'number' is not assignable to type 'string'. shorthandPropertyAssignmentsInDestructuring_ES6.ts(44,12): error TS2322: Type 'number' is not assignable to type 'string'. shorthandPropertyAssignmentsInDestructuring_ES6.ts(70,5): error TS2322: Type 'number' is not assignable to type 'string'. @@ -7,14 +5,11 @@ shorthandPropertyAssignmentsInDestructuring_ES6.ts(75,8): error TS2322: Type 'nu shorthandPropertyAssignmentsInDestructuring_ES6.ts(80,5): error TS2322: Type 'number' is not assignable to type 'string'. shorthandPropertyAssignmentsInDestructuring_ES6.ts(80,20): error TS2322: Type 'number' is not assignable to type 'string'. shorthandPropertyAssignmentsInDestructuring_ES6.ts(85,8): error TS2322: Type 'number' is not assignable to type 'string'. -shorthandPropertyAssignmentsInDestructuring_ES6.ts(85,19): error TS2322: Type '{ x: number; }' is not assignable to type '{ x: string; }'. - Types of property 'x' are incompatible. - Type 'number' is not assignable to type 'string'. shorthandPropertyAssignmentsInDestructuring_ES6.ts(85,26): error TS2322: Type 'number' is not assignable to type 'string'. shorthandPropertyAssignmentsInDestructuring_ES6.ts(111,14): error TS1312: Did you mean to use a ':'? An '=' can only follow a property name when the containing object literal is part of a destructuring pattern. -==== shorthandPropertyAssignmentsInDestructuring_ES6.ts (12 errors) ==== +==== shorthandPropertyAssignmentsInDestructuring_ES6.ts (9 errors) ==== (function() { var s0; for ({ s0 = 5 } of [{ s0: 1 }]) { @@ -29,16 +24,12 @@ shorthandPropertyAssignmentsInDestructuring_ES6.ts(111,14): error TS1312: Did yo (function() { var s1; for ({ s1 = 5 } of [{}]) { - ~~ -!!! error TS2339: Property 's1' does not exist on type '{}'. } }); (function() { var s1; for ({ s1:s1 = 5 } of [{}]) { - ~~ -!!! error TS2339: Property 's1' does not exist on type '{}'. } }); @@ -119,10 +110,6 @@ shorthandPropertyAssignmentsInDestructuring_ES6.ts(111,14): error TS1312: Did yo ({ y2:y2 = 5, y3:y3 = { x: 1 } } = {}) ~~ !!! error TS2322: Type 'number' is not assignable to type 'string'. - ~~ -!!! error TS2322: Type '{ x: number; }' is not assignable to type '{ x: string; }'. -!!! error TS2322: Types of property 'x' are incompatible. -!!! error TS2322: Type 'number' is not assignable to type 'string'. ~ !!! error TS2322: Type 'number' is not assignable to type 'string'. !!! related TS6500 shorthandPropertyAssignmentsInDestructuring_ES6.ts:84:24: The expected type comes from property 'x' which is declared here on type '{ x: string; }' diff --git a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.types b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.types index b713ddd3e4d..511d33c914e 100644 --- a/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.types +++ b/tests/baselines/reference/shorthandPropertyAssignmentsInDestructuring_ES6.types @@ -371,18 +371,18 @@ > : ^^^^^^ ({ y1 = 5 } = {}) ->({ y1 = 5 } = {}) : { y1?: string; } -> : ^^^^^^^^^^^^^^^^ ->{ y1 = 5 } = {} : { y1?: string; } -> : ^^^^^^^^^^^^^^^^ +>({ y1 = 5 } = {}) : {} +> : ^^ +>{ y1 = 5 } = {} : {} +> : ^^ >{ y1 = 5 } : { y1?: string; } > : ^^^^^^^^^^^^^^^^ >y1 : string > : ^^^^^^ >5 : 5 > : ^ ->{} : { y1?: string; } -> : ^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ }); @@ -397,10 +397,10 @@ > : ^^^^^^ ({ y1:y1 = 5 } = {}) ->({ y1:y1 = 5 } = {}) : { y1?: number; } -> : ^^^^^^^^^^^^^^^^ ->{ y1:y1 = 5 } = {} : { y1?: number; } -> : ^^^^^^^^^^^^^^^^ +>({ y1:y1 = 5 } = {}) : {} +> : ^^ +>{ y1:y1 = 5 } = {} : {} +> : ^^ >{ y1:y1 = 5 } : { y1?: number; } > : ^^^^^^^^^^^^^^^^ >y1 : number @@ -411,8 +411,8 @@ > : ^^^^^^ >5 : 5 > : ^ ->{} : { y1?: number; } -> : ^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ }); @@ -431,10 +431,10 @@ > : ^^^^^^ ({ y2 = 5, y3 = { x: 1 } } = {}) ->({ y2 = 5, y3 = { x: 1 } } = {}) : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ->{ y2 = 5, y3 = { x: 1 } } = {} : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>({ y2 = 5, y3 = { x: 1 } } = {}) : {} +> : ^^ +>{ y2 = 5, y3 = { x: 1 } } = {} : {} +> : ^^ >{ y2 = 5, y3 = { x: 1 } } : { y2?: string; y3?: { x: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >y2 : string @@ -449,8 +449,8 @@ > : ^^^^^^ >1 : 1 > : ^ ->{} : { y2?: string; y3?: { x: string; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>{} : {} +> : ^^ }); @@ -469,10 +469,10 @@ > : ^^^^^^ ({ y2:y2 = 5, y3:y3 = { x: 1 } } = {}) ->({ y2:y2 = 5, y3:y3 = { x: 1 } } = {}) : { y2?: number; y3?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ y2:y2 = 5, y3:y3 = { x: 1 } } = {} : { y2?: number; y3?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ y2:y2 = 5, y3:y3 = { x: 1 } } = {}) : {} +> : ^^ +>{ y2:y2 = 5, y3:y3 = { x: 1 } } = {} : {} +> : ^^ >{ y2:y2 = 5, y3:y3 = { x: 1 } } : { y2?: number; y3?: { x: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >y2 : number @@ -495,8 +495,8 @@ > : ^^^^^^ >1 : 1 > : ^ ->{} : { y2?: number; y3?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ }); @@ -515,10 +515,10 @@ > : ^^^^^^ ({ y4 = 5, y5 = { x: 1 } } = {}) ->({ y4 = 5, y5 = { x: 1 } } = {}) : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ ->{ y4 = 5, y5 = { x: 1 } } = {} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>({ y4 = 5, y5 = { x: 1 } } = {}) : {} +> : ^^ +>{ y4 = 5, y5 = { x: 1 } } = {} : {} +> : ^^ >{ y4 = 5, y5 = { x: 1 } } : { y4?: number; y5?: { x: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ >y4 : number @@ -533,8 +533,8 @@ > : ^^^^^^ >1 : 1 > : ^ ->{} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^ +>{} : {} +> : ^^ }); @@ -553,10 +553,10 @@ > : ^^^^^^ ({ y4:y4 = 5, y5:y5 = { x: 1 } } = {}) ->({ y4:y4 = 5, y5:y5 = { x: 1 } } = {}) : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ y4:y4 = 5, y5:y5 = { x: 1 } } = {} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>({ y4:y4 = 5, y5:y5 = { x: 1 } } = {}) : {} +> : ^^ +>{ y4:y4 = 5, y5:y5 = { x: 1 } } = {} : {} +> : ^^ >{ y4:y4 = 5, y5:y5 = { x: 1 } } : { y4?: number; y5?: { x: number; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >y4 : number @@ -579,8 +579,8 @@ > : ^^^^^^ >1 : 1 > : ^ ->{} : { y4?: number; y5?: { x: number; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{} : {} +> : ^^ }); diff --git a/tests/baselines/reference/useBeforeDeclaration_destructuring.types b/tests/baselines/reference/useBeforeDeclaration_destructuring.types index fbe75b58947..545a6c4df10 100644 --- a/tests/baselines/reference/useBeforeDeclaration_destructuring.types +++ b/tests/baselines/reference/useBeforeDeclaration_destructuring.types @@ -2,16 +2,16 @@ === useBeforeDeclaration_destructuring.ts === a; ->a : any -> : ^^^ +>a : string +> : ^^^^^^ let {a, b = a} = {a: '', b: 1}; ->a : any -> : ^^^ ->b : any -> : ^^^ ->a : any -> : ^^^ +>a : string +> : ^^^^^^ +>b : string | number +> : ^^^^^^^^^^^^^^^ +>a : string +> : ^^^^^^ >{a: '', b: 1} : { a: string; b?: number; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string @@ -24,8 +24,8 @@ let {a, b = a} = {a: '', b: 1}; > : ^ b; ->b : any -> : ^^^ +>b : string | number +> : ^^^^^^^^^^^^^^^ function test({c, d = c}: Record) {} >test : ({ c, d }: Record) => void diff --git a/tests/cases/compiler/intraBindingPatternReferences.ts b/tests/cases/compiler/intraBindingPatternReferences.ts new file mode 100644 index 00000000000..4af5d7675ee --- /dev/null +++ b/tests/cases/compiler/intraBindingPatternReferences.ts @@ -0,0 +1,21 @@ +// @strict: true +// @noEmit: true + +// https://github.com/microsoft/TypeScript/issues/59177 + +function foo() { return a } + +const [a, b = a + 1] = [42]; + +const [c1, c2 = c1] = [123]; +const [d1, d2 = d1, d3 = d2] = [123]; + +const { e1, e2 = e1 } = { e1: 1 }; +const { f1, f2 = f1, f3 = f2 } = { f1: 1 }; + +// Example that requires padding of object literal types at depth +const mockCallback = ({ event: { params = {} } = {} }) => {}; + +// The contextual type for the second lambda in the object literal is 'any' because of the +// intra-binding-pattern reference in the initializer for fn2 +const { fn1 = (x: number) => 0, fn2 = fn1 } = { fn1: x => x + 1, fn2: x => x + 2 }; From ec446b6f19b44ed3db2d787b59d9c99a5b710283 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Mon, 15 Jul 2024 23:39:25 +0200 Subject: [PATCH 12/89] Fixed crash on circular local type arguments when outer ones are present too (#59089) Co-authored-by: Gabriela Araujo Britto --- src/compiler/checker.ts | 4 ++-- ...eArgumentsLocalAndOuterNoCrash1.errors.txt | 13 +++++++++++ ...TypeArgumentsLocalAndOuterNoCrash1.symbols | 22 +++++++++++++++++++ ...arTypeArgumentsLocalAndOuterNoCrash1.types | 15 +++++++++++++ ...cularTypeArgumentsLocalAndOuterNoCrash1.ts | 9 ++++++++ 5 files changed, 61 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/circularTypeArgumentsLocalAndOuterNoCrash1.errors.txt create mode 100644 tests/baselines/reference/circularTypeArgumentsLocalAndOuterNoCrash1.symbols create mode 100644 tests/baselines/reference/circularTypeArgumentsLocalAndOuterNoCrash1.types create mode 100644 tests/cases/compiler/circularTypeArgumentsLocalAndOuterNoCrash1.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 6ae60c97e56..444bee8c7b3 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -16300,7 +16300,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function getTypeArguments(type: TypeReference): readonly Type[] { if (!type.resolvedTypeArguments) { if (!pushTypeResolution(type, TypeSystemPropertyName.ResolvedTypeArguments)) { - return type.target.localTypeParameters?.map(() => errorType) || emptyArray; + return concatenate(type.target.outerTypeParameters, type.target.localTypeParameters?.map(() => errorType)) || emptyArray; } const node = type.node; const typeArguments = !node ? emptyArray : @@ -16311,7 +16311,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { type.resolvedTypeArguments ??= type.mapper ? instantiateTypes(typeArguments, type.mapper) : typeArguments; } else { - type.resolvedTypeArguments ??= type.target.localTypeParameters?.map(() => errorType) || emptyArray; + type.resolvedTypeArguments ??= concatenate(type.target.outerTypeParameters, type.target.localTypeParameters?.map(() => errorType) || emptyArray); error( type.node || currentNode, type.target.symbol ? Diagnostics.Type_arguments_for_0_circularly_reference_themselves : Diagnostics.Tuple_type_arguments_circularly_reference_themselves, diff --git a/tests/baselines/reference/circularTypeArgumentsLocalAndOuterNoCrash1.errors.txt b/tests/baselines/reference/circularTypeArgumentsLocalAndOuterNoCrash1.errors.txt new file mode 100644 index 00000000000..53282f471d8 --- /dev/null +++ b/tests/baselines/reference/circularTypeArgumentsLocalAndOuterNoCrash1.errors.txt @@ -0,0 +1,13 @@ +circularTypeArgumentsLocalAndOuterNoCrash1.ts(5,12): error TS4109: Type arguments for 'NumArray' circularly reference themselves. + + +==== circularTypeArgumentsLocalAndOuterNoCrash1.ts (1 errors) ==== + // https://github.com/microsoft/TypeScript/issues/59062 + + function f<_T, _S>() { + interface NumArray extends Array {} + type X = NumArray; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS4109: Type arguments for 'NumArray' circularly reference themselves. + } + \ No newline at end of file diff --git a/tests/baselines/reference/circularTypeArgumentsLocalAndOuterNoCrash1.symbols b/tests/baselines/reference/circularTypeArgumentsLocalAndOuterNoCrash1.symbols new file mode 100644 index 00000000000..ba186a74b88 --- /dev/null +++ b/tests/baselines/reference/circularTypeArgumentsLocalAndOuterNoCrash1.symbols @@ -0,0 +1,22 @@ +//// [tests/cases/compiler/circularTypeArgumentsLocalAndOuterNoCrash1.ts] //// + +=== circularTypeArgumentsLocalAndOuterNoCrash1.ts === +// https://github.com/microsoft/TypeScript/issues/59062 + +function f<_T, _S>() { +>f : Symbol(f, Decl(circularTypeArgumentsLocalAndOuterNoCrash1.ts, 0, 0)) +>_T : Symbol(_T, Decl(circularTypeArgumentsLocalAndOuterNoCrash1.ts, 2, 11)) +>_S : Symbol(_S, Decl(circularTypeArgumentsLocalAndOuterNoCrash1.ts, 2, 14)) + + interface NumArray extends Array {} +>NumArray : Symbol(NumArray, Decl(circularTypeArgumentsLocalAndOuterNoCrash1.ts, 2, 22)) +>T : Symbol(T, Decl(circularTypeArgumentsLocalAndOuterNoCrash1.ts, 3, 21)) +>Array : Symbol(Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --)) +>T : Symbol(T, Decl(circularTypeArgumentsLocalAndOuterNoCrash1.ts, 3, 21)) + + type X = NumArray; +>X : Symbol(X, Decl(circularTypeArgumentsLocalAndOuterNoCrash1.ts, 3, 58)) +>NumArray : Symbol(NumArray, Decl(circularTypeArgumentsLocalAndOuterNoCrash1.ts, 2, 22)) +>X : Symbol(X, Decl(circularTypeArgumentsLocalAndOuterNoCrash1.ts, 3, 58)) +} + diff --git a/tests/baselines/reference/circularTypeArgumentsLocalAndOuterNoCrash1.types b/tests/baselines/reference/circularTypeArgumentsLocalAndOuterNoCrash1.types new file mode 100644 index 00000000000..47ad9b521a0 --- /dev/null +++ b/tests/baselines/reference/circularTypeArgumentsLocalAndOuterNoCrash1.types @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/circularTypeArgumentsLocalAndOuterNoCrash1.ts] //// + +=== circularTypeArgumentsLocalAndOuterNoCrash1.ts === +// https://github.com/microsoft/TypeScript/issues/59062 + +function f<_T, _S>() { +>f : <_T, _S>() => void +> : ^ ^^ ^^^^^^^^^^^ + + interface NumArray extends Array {} + type X = NumArray; +>X : NumArray +> : ^^^^^^^^^^^^^ +} + diff --git a/tests/cases/compiler/circularTypeArgumentsLocalAndOuterNoCrash1.ts b/tests/cases/compiler/circularTypeArgumentsLocalAndOuterNoCrash1.ts new file mode 100644 index 00000000000..89ba056b8d2 --- /dev/null +++ b/tests/cases/compiler/circularTypeArgumentsLocalAndOuterNoCrash1.ts @@ -0,0 +1,9 @@ +// @strict: true +// @noEmit: true + +// https://github.com/microsoft/TypeScript/issues/59062 + +function f<_T, _S>() { + interface NumArray extends Array {} + type X = NumArray; +} From bd54a6bb2bb4594e7ce6fca4c7212f2d0d99b164 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Tue, 16 Jul 2024 10:03:02 -0700 Subject: [PATCH 13/89] Verify that perf_hooks result actually contains the performance object (#59300) --- src/compiler/performanceCore.ts | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/src/compiler/performanceCore.ts b/src/compiler/performanceCore.ts index abff50eb8aa..ba03e7a3314 100644 --- a/src/compiler/performanceCore.ts +++ b/src/compiler/performanceCore.ts @@ -31,11 +31,14 @@ function tryGetPerformance() { if (isNodeLikeSystem()) { try { // By default, only write native events when generating a cpu profile or using the v8 profiler. - const { performance } = require("perf_hooks") as typeof import("perf_hooks"); - return { - shouldWriteNativeEvents: false, - performance, - }; + // Some environments may polyfill this module with an empty object; verify the object has the expected shape. + const { performance } = require("perf_hooks") as Partial; + if (performance) { + return { + shouldWriteNativeEvents: false, + performance, + }; + } } catch { // ignore errors From 6369240da6f83c18994692a44c6960b8207406c8 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Tue, 16 Jul 2024 10:12:14 -0700 Subject: [PATCH 14/89] Store information in buildInfo to repopulate mode mismatch based on status of package.json (#59286) --- src/compiler/builder.ts | 18 +- src/compiler/checker.ts | 37 +-- src/compiler/moduleNameResolver.ts | 20 +- src/compiler/moduleSpecifiers.ts | 2 +- src/compiler/program.ts | 2 +- src/compiler/types.ts | 5 +- src/compiler/utilities.ts | 32 ++ src/server/session.ts | 2 +- .../unittests/tsc/moduleResolution.ts | 50 ++- ...le-from-CJS-module-error-on-jsx-element.js | 8 +- .../moduleResolution/package-json-scope.js | 293 ++++++++++++++++++ 11 files changed, 404 insertions(+), 65 deletions(-) create mode 100644 tests/baselines/reference/tsc/moduleResolution/package-json-scope.js diff --git a/src/compiler/builder.ts b/src/compiler/builder.ts index 6784485d21c..6b0d7a24b3f 100644 --- a/src/compiler/builder.ts +++ b/src/compiler/builder.ts @@ -21,6 +21,7 @@ import { concatenate, convertToOptionsWithAbsolutePaths, createGetCanonicalFileName, + createModeMismatchDetails, createModuleNotFoundChain, createProgram, CustomTransformers, @@ -70,7 +71,6 @@ import { ReadBuildProgramHost, ReadonlyCollection, RepopulateDiagnosticChainInfo, - RepopulateModuleNotFoundDiagnosticChain, returnFalse, returnUndefined, sameMap, @@ -111,8 +111,8 @@ export interface ReusableDiagnosticRelatedInformation { } /** @internal */ -export interface ReusableRepopulateModuleNotFoundChain { - info: RepopulateModuleNotFoundDiagnosticChain; +export interface ReusableRepopulateInfoChain { + info: RepopulateDiagnosticChainInfo; next?: ReusableDiagnosticMessageChain[]; } @@ -122,7 +122,7 @@ export type SerializedDiagnosticMessageChain = Omit RepopulateDiagnosticChainInfo | undefined, ): DiagnosticMessageChain { const info = repopulateInfo(chain); - if (info) { + if (info === true) { + return { + ...createModeMismatchDetails(sourceFile!), + next: convertOrRepopulateDiagnosticMessageChainArray(chain.next as T[], sourceFile, newProgram, repopulateInfo), + }; + } + else if (info) { return { ...createModuleNotFoundChain(sourceFile!, newProgram, info.moduleReference, info.mode, info.packageName || info.moduleReference), next: convertOrRepopulateDiagnosticMessageChainArray(chain.next as T[], sourceFile, newProgram, repopulateInfo), @@ -600,7 +606,7 @@ function convertToDiagnosticRelatedInformation( file: sourceFile, messageText: isString(diagnostic.messageText) ? diagnostic.messageText : - convertOrRepopulateDiagnosticMessageChain(diagnostic.messageText, sourceFile, newProgram, chain => (chain as ReusableRepopulateModuleNotFoundChain).info), + convertOrRepopulateDiagnosticMessageChain(diagnostic.messageText, sourceFile, newProgram, chain => (chain as ReusableRepopulateInfoChain).info), }; } diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 444bee8c7b3..e7a6a1fe0d5 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -79,7 +79,6 @@ import { classOrConstructorParameterIsDecorated, ClassStaticBlockDeclaration, clear, - combinePaths, compareDiagnostics, comparePaths, compareValues, @@ -116,6 +115,7 @@ import { createFlowNode, createGetSymbolWalker, createModeAwareCacheKey, + createModeMismatchDetails, createModuleNotFoundChain, createMultiMap, createNameResolver, @@ -4627,40 +4627,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { let diagnosticDetails; const ext = tryGetExtensionFromPath(currentSourceFile.fileName); if (ext === Extension.Ts || ext === Extension.Js || ext === Extension.Tsx || ext === Extension.Jsx) { - const scope = currentSourceFile.packageJsonScope; - const targetExt = ext === Extension.Ts ? Extension.Mts : ext === Extension.Js ? Extension.Mjs : undefined; - if (scope && !scope.contents.packageJsonContent.type) { - if (targetExt) { - diagnosticDetails = chainDiagnosticMessages( - /*details*/ undefined, - Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1, - targetExt, - combinePaths(scope.packageDirectory, "package.json"), - ); - } - else { - diagnosticDetails = chainDiagnosticMessages( - /*details*/ undefined, - Diagnostics.To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0, - combinePaths(scope.packageDirectory, "package.json"), - ); - } - } - else { - if (targetExt) { - diagnosticDetails = chainDiagnosticMessages( - /*details*/ undefined, - Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module, - targetExt, - ); - } - else { - diagnosticDetails = chainDiagnosticMessages( - /*details*/ undefined, - Diagnostics.To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module, - ); - } - } + diagnosticDetails = createModeMismatchDetails(currentSourceFile); } diagnostics.add(createDiagnosticForNodeFromMessageChain( getSourceFileOfNode(errorNode), diff --git a/src/compiler/moduleNameResolver.ts b/src/compiler/moduleNameResolver.ts index 01c325c443d..62756b7309a 100644 --- a/src/compiler/moduleNameResolver.ts +++ b/src/compiler/moduleNameResolver.ts @@ -2382,17 +2382,11 @@ export interface PackageJsonInfoContents { * * @internal */ -export function getPackageScopeForPath(fileName: string, state: ModuleResolutionState): PackageJsonInfo | undefined { - const parts = getPathComponents(fileName); - parts.pop(); - while (parts.length > 0) { - const pkg = getPackageJsonInfo(getPathFromPathComponents(parts), /*onlyRecordFailures*/ false, state); - if (pkg) { - return pkg; - } - parts.pop(); - } - return undefined; +export function getPackageScopeForPath(directory: string, state: ModuleResolutionState): PackageJsonInfo | undefined { + return forEachAncestorDirectory( + directory, + dir => getPackageJsonInfo(dir, /*onlyRecordFailures*/ false, state), + ); } function getVersionPathsOfPackageJsonInfo(packageJsonInfo: PackageJsonInfo, state: ModuleResolutionState): VersionPaths | undefined { @@ -2568,7 +2562,7 @@ function noKeyStartsWithDot(obj: MapLike) { } function loadModuleFromSelfNameReference(extensions: Extensions, moduleName: string, directory: string, state: ModuleResolutionState, cache: ModuleResolutionCache | undefined, redirectedReference: ResolvedProjectReference | undefined): SearchResult { - const directoryPath = getNormalizedAbsolutePath(combinePaths(directory, "dummy"), state.host.getCurrentDirectory?.()); + const directoryPath = getNormalizedAbsolutePath(directory, state.host.getCurrentDirectory?.()); const scope = getPackageScopeForPath(directoryPath, state); if (!scope || !scope.contents.packageJsonContent.exports) { return undefined; @@ -2649,7 +2643,7 @@ function loadModuleFromImports(extensions: Extensions, moduleName: string, direc } return toSearchResult(/*value*/ undefined); } - const directoryPath = getNormalizedAbsolutePath(combinePaths(directory, "dummy"), state.host.getCurrentDirectory?.()); + const directoryPath = getNormalizedAbsolutePath(directory, state.host.getCurrentDirectory?.()); const scope = getPackageScopeForPath(directoryPath, state); if (!scope) { if (state.traceEnabled) { diff --git a/src/compiler/moduleSpecifiers.ts b/src/compiler/moduleSpecifiers.ts index 2fe39cfb22c..f32ad448820 100644 --- a/src/compiler/moduleSpecifiers.ts +++ b/src/compiler/moduleSpecifiers.ts @@ -737,7 +737,7 @@ function getAllModulePathsWorker(info: Info, importedFileName: string, host: Mod // This should populate all the relevant symlinks in the symlink cache, and most, if not all, of these resolutions // should get (re)used. const state = getTemporaryModuleResolutionState(cache.getPackageJsonInfoCache(), host, {}); - const packageJson = getPackageScopeForPath(info.importingSourceFileName, state); + const packageJson = getPackageScopeForPath(getDirectoryPath(info.importingSourceFileName), state); if (packageJson) { const toResolve = getAllRuntimeDependencies(packageJson.contents.packageJsonContent); for (const depName of (toResolve || emptyArray)) { diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 25530950ac1..d2bf5792423 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -1363,7 +1363,7 @@ export function getImpliedNodeFormatForFileWorker( const packageJsonLocations: string[] = []; state.failedLookupLocations = packageJsonLocations; state.affectingLocations = packageJsonLocations; - const packageJsonScope = getPackageScopeForPath(fileName, state); + const packageJsonScope = getPackageScopeForPath(getDirectoryPath(fileName), state); const impliedNodeFormat = packageJsonScope?.contents.packageJsonContent.type === "module" ? ModuleKind.ESNext : ModuleKind.CommonJS; return { impliedNodeFormat, packageJsonLocations, packageJsonScope }; } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index c035bbe06bf..9e2a0b980dd 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -7042,7 +7042,10 @@ export interface RepopulateModuleNotFoundDiagnosticChain { } /** @internal */ -export type RepopulateDiagnosticChainInfo = RepopulateModuleNotFoundDiagnosticChain; +export type RepopulateModeMismatchDiagnosticChain = true; + +/** @internal */ +export type RepopulateDiagnosticChainInfo = RepopulateModuleNotFoundDiagnosticChain | RepopulateModeMismatchDiagnosticChain; /** * A linked list of formatted diagnostic messages to be used as part of a multiline message. diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 38146135ae7..c999951036d 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -844,6 +844,38 @@ export function createModuleNotFoundChain(sourceFile: SourceFile, host: TypeChec return result; } +/** @internal */ +export function createModeMismatchDetails(currentSourceFile: SourceFile) { + const ext = tryGetExtensionFromPath(currentSourceFile.fileName); + const scope = currentSourceFile.packageJsonScope; + const targetExt = ext === Extension.Ts ? Extension.Mts : ext === Extension.Js ? Extension.Mjs : undefined; + const result = scope && !scope.contents.packageJsonContent.type ? + targetExt ? + chainDiagnosticMessages( + /*details*/ undefined, + Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_add_the_field_type_Colon_module_to_1, + targetExt, + combinePaths(scope.packageDirectory, "package.json"), + ) : + chainDiagnosticMessages( + /*details*/ undefined, + Diagnostics.To_convert_this_file_to_an_ECMAScript_module_add_the_field_type_Colon_module_to_0, + combinePaths(scope.packageDirectory, "package.json"), + ) : + targetExt ? + chainDiagnosticMessages( + /*details*/ undefined, + Diagnostics.To_convert_this_file_to_an_ECMAScript_module_change_its_file_extension_to_0_or_create_a_local_package_json_file_with_type_Colon_module, + targetExt, + ) : + chainDiagnosticMessages( + /*details*/ undefined, + Diagnostics.To_convert_this_file_to_an_ECMAScript_module_create_a_local_package_json_file_with_type_Colon_module, + ); + result.repopulateInfo = () => true; + return result; +} + function packageIdIsEqual(a: PackageId | undefined, b: PackageId | undefined): boolean { return a === b || !!a && !!b && a.name === b.name && a.subModuleName === b.subModuleName && a.version === b.version && a.peerDependencies === b.peerDependencies; } diff --git a/src/server/session.ts b/src/server/session.ts index 821ed568d31..5951733c839 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -1712,7 +1712,7 @@ export class Session implements EventSender { const packageDirectory = fileName.substring(0, nodeModulesPathParts.packageRootIndex); const packageJsonCache = project.getModuleResolutionCache()?.getPackageJsonInfoCache(); const compilerOptions = project.getCompilationSettings(); - const packageJson = getPackageScopeForPath(getNormalizedAbsolutePath(packageDirectory + "/package.json", project.getCurrentDirectory()), getTemporaryModuleResolutionState(packageJsonCache, project, compilerOptions)); + const packageJson = getPackageScopeForPath(getNormalizedAbsolutePath(packageDirectory, project.getCurrentDirectory()), getTemporaryModuleResolutionState(packageJsonCache, project, compilerOptions)); if (!packageJson) return undefined; // Use fake options instead of actual compiler options to avoid following export map if the project uses node16 or nodenext - // Mapping from an export map entry across packages is out of scope for now. Returned entrypoints will only be what can be diff --git a/src/testRunner/unittests/tsc/moduleResolution.ts b/src/testRunner/unittests/tsc/moduleResolution.ts index 19326d2d892..0b2a844a77d 100644 --- a/src/testRunner/unittests/tsc/moduleResolution.ts +++ b/src/testRunner/unittests/tsc/moduleResolution.ts @@ -1,3 +1,7 @@ +import { + ModuleKind, + ScriptTarget, +} from "../../_namespaces/ts.js"; import { dedent } from "../../_namespaces/Utils.js"; import { jsonToReadableText } from "../helpers.js"; import { @@ -6,11 +10,17 @@ import { getFsContentsForAlternateResultDts, getFsContentsForAlternateResultPackageJson, } from "../helpers/alternateResult.js"; -import { libContent } from "../helpers/contents.js"; +import { + compilerOptionsToConfigJson, + libContent, +} from "../helpers/contents.js"; import { verifyTsc } from "../helpers/tsc.js"; import { verifyTscWatch } from "../helpers/tscWatch.js"; import { loadProjectFromFiles } from "../helpers/vfs.js"; -import { createWatchedSystem } from "../helpers/virtualFileSystemWithWatch.js"; +import { + createWatchedSystem, + libFile, +} from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsc:: moduleResolution::", () => { verifyTsc({ @@ -271,4 +281,40 @@ describe("unittests:: tsc:: moduleResolution::", () => { }, ], }); + + verifyTsc({ + scenario: "moduleResolution", + subScenario: "package json scope", + fs: () => + loadProjectFromFiles({ + "/src/projects/project/src/tsconfig.json": jsonToReadableText({ + compilerOptions: compilerOptionsToConfigJson({ + target: ScriptTarget.ES2016, + composite: true, + module: ModuleKind.Node16, + traceResolution: true, + }), + files: [ + "main.ts", + "fileA.ts", + "fileB.mts", + ], + }), + "/src/projects/project/src/main.ts": "export const x = 10;", + "/src/projects/project/src/fileA.ts": dedent` + import { foo } from "./fileB.mjs"; + foo(); + `, + "/src/projects/project/src/fileB.mts": "export function foo() {}", + "/src/projects/project/package.json": jsonToReadableText({ name: "app", version: "1.0.0" }), + "/lib/lib.es2016.full.d.ts": libFile.content, + }, { cwd: "/src/projects/project" }), + commandLineArgs: ["-p", "src", "--explainFiles", "--extendedDiagnostics"], + edits: [ + { + caption: "Delete package.json", + edit: fs => fs.unlinkSync(`/src/projects/project/package.json`), + }, + ], + }); }); diff --git a/tests/baselines/reference/tsc/composite/synthetic-jsx-import-of-ESM-module-from-CJS-module-error-on-jsx-element.js b/tests/baselines/reference/tsc/composite/synthetic-jsx-import-of-ESM-module-from-CJS-module-error-on-jsx-element.js index 44f24369bcc..662fcdbe13a 100644 --- a/tests/baselines/reference/tsc/composite/synthetic-jsx-import-of-ESM-module-from-CJS-module-error-on-jsx-element.js +++ b/tests/baselines/reference/tsc/composite/synthetic-jsx-import-of-ESM-module-from-CJS-module-error-on-jsx-element.js @@ -69,7 +69,7 @@ exports.default = (0, jsx_runtime_1.jsx)("div", {}); //// [/tsconfig.tsbuildinfo] -{"fileNames":["./lib/lib.d.ts","./node_modules/solid-js/jsx-runtime.d.ts","./src/main.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3511680495-export namespace JSX {\n type IntrinsicElements = { div: {}; };\n}\n","impliedFormat":99},{"version":"-359851309-export default

;","signature":"2119670487-declare const _default: any;\nexport default _default;\n","impliedFormat":1}],"root":[1,3],"options":{"composite":true,"jsx":4,"jsxImportSource":"solid-js","module":100},"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":15,"length":6,"code":1479,"category":1,"messageText":{"messageText":"The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import(\"solid-js/jsx-runtime\")' call instead.","category":1,"code":1479,"next":[{"messageText":"To convert this file to an ECMAScript module, create a local package.json file with `{ \"type\": \"module\" }`.","category":3,"code":1483}]}}]]],"latestChangedDtsFile":"./src/main.d.ts","version":"FakeTSVersion"} +{"fileNames":["./lib/lib.d.ts","./node_modules/solid-js/jsx-runtime.d.ts","./src/main.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-3511680495-export namespace JSX {\n type IntrinsicElements = { div: {}; };\n}\n","impliedFormat":99},{"version":"-359851309-export default
;","signature":"2119670487-declare const _default: any;\nexport default _default;\n","impliedFormat":1}],"root":[1,3],"options":{"composite":true,"jsx":4,"jsxImportSource":"solid-js","module":100},"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":15,"length":6,"code":1479,"category":1,"messageText":{"messageText":"The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import(\"solid-js/jsx-runtime\")' call instead.","category":1,"code":1479,"next":[{"info":true}]}}]]],"latestChangedDtsFile":"./src/main.d.ts","version":"FakeTSVersion"} //// [/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -151,9 +151,7 @@ exports.default = (0, jsx_runtime_1.jsx)("div", {}); "code": 1479, "next": [ { - "messageText": "To convert this file to an ECMAScript module, create a local package.json file with `{ \"type\": \"module\" }`.", - "category": 3, - "code": 1483 + "info": true } ] } @@ -163,6 +161,6 @@ exports.default = (0, jsx_runtime_1.jsx)("div", {}); ], "latestChangedDtsFile": "./src/main.d.ts", "version": "FakeTSVersion", - "size": 1628 + "size": 1487 } diff --git a/tests/baselines/reference/tsc/moduleResolution/package-json-scope.js b/tests/baselines/reference/tsc/moduleResolution/package-json-scope.js new file mode 100644 index 00000000000..e211fcafa44 --- /dev/null +++ b/tests/baselines/reference/tsc/moduleResolution/package-json-scope.js @@ -0,0 +1,293 @@ +currentDirectory:: /src/projects/project useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/lib/lib.es2016.full.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + +//// [/src/projects/project/package.json] +{ + "name": "app", + "version": "1.0.0" +} + +//// [/src/projects/project/src/fileA.ts] +import { foo } from "./fileB.mjs"; +foo(); + + +//// [/src/projects/project/src/fileB.mts] +export function foo() {} + +//// [/src/projects/project/src/main.ts] +export const x = 10; + +//// [/src/projects/project/src/tsconfig.json] +{ + "compilerOptions": { + "target": "es2016", + "composite": true, + "module": "node16", + "traceResolution": true + }, + "files": [ + "main.ts", + "fileA.ts", + "fileB.mts" + ] +} + + + +Output:: +/lib/tsc -p src --explainFiles --extendedDiagnostics +File '/src/projects/project/src/package.json' does not exist. +Found 'package.json' at '/src/projects/project/package.json'. +File '/src/projects/project/src/package.json' does not exist according to earlier cached lookups. +File '/src/projects/project/package.json' exists according to earlier cached lookups. +======== Resolving module './fileB.mjs' from '/src/projects/project/src/fileA.ts'. ======== +Module resolution kind is not specified, using 'Node16'. +Resolving in CJS mode with conditions 'require', 'types', 'node'. +Loading module as file / folder, candidate module location '/src/projects/project/src/fileB.mjs', target file types: TypeScript, JavaScript, Declaration. +File name '/src/projects/project/src/fileB.mjs' has a '.mjs' extension - stripping it. +File '/src/projects/project/src/fileB.mts' exists - use it as a name resolution result. +======== Module name './fileB.mjs' was successfully resolved to '/src/projects/project/src/fileB.mts'. ======== +File '/lib/package.json' does not exist. +File '/package.json' does not exist. +src/fileA.ts:1:21 - error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("./fileB.mjs")' call instead. + To convert this file to an ECMAScript module, change its file extension to '.mts', or add the field `"type": "module"` to '/src/projects/project/package.json'. + +1 import { foo } from "./fileB.mjs"; +   ~~~~~~~~~~~~~ + +../../../lib/lib.es2016.full.d.ts + Default library for target 'es2016' +src/main.ts + Part of 'files' list in tsconfig.json + File is CommonJS module because 'package.json' does not have field "type" +src/fileB.mts + Imported via "./fileB.mjs" from file 'src/fileA.ts' + Part of 'files' list in tsconfig.json +src/fileA.ts + Part of 'files' list in tsconfig.json + File is CommonJS module because 'package.json' does not have field "type" + +Found 1 error in src/fileA.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/projects/project/src/fileA.d.ts] +export {}; + + +//// [/src/projects/project/src/fileA.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const fileB_mjs_1 = require("./fileB.mjs"); +(0, fileB_mjs_1.foo)(); + + +//// [/src/projects/project/src/fileB.d.mts] +export declare function foo(): void; + + +//// [/src/projects/project/src/fileB.mjs] +export function foo() { } + + +//// [/src/projects/project/src/main.d.ts] +export declare const x = 10; + + +//// [/src/projects/project/src/main.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.x = void 0; +exports.x = 10; + + +//// [/src/projects/project/src/tsconfig.tsbuildinfo] +{"fileNames":["../../../../lib/lib.es2016.full.d.ts","./main.ts","./fileb.mts","./filea.ts"],"fileIdsList":[[3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-10726455937-export const x = 10;","signature":"-6821242887-export declare const x = 10;\n","impliedFormat":1},{"version":"3524703962-export function foo() {}","signature":"-5677608893-export declare function foo(): void;\n","impliedFormat":99},{"version":"-5325347830-import { foo } from \"./fileB.mjs\";\nfoo();\n","signature":"-3531856636-export {};\n","impliedFormat":1}],"root":[[2,4]],"options":{"composite":true,"module":100,"target":3},"referencedMap":[[4,1]],"semanticDiagnosticsPerFile":[[4,[{"start":20,"length":13,"code":1479,"category":1,"messageText":{"messageText":"The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import(\"./fileB.mjs\")' call instead.","category":1,"code":1479,"next":[{"info":true}]}}]]],"latestChangedDtsFile":"./fileA.d.ts","version":"FakeTSVersion"} + +//// [/src/projects/project/src/tsconfig.tsbuildinfo.readable.baseline.txt] +{ + "fileNames": [ + "../../../../lib/lib.es2016.full.d.ts", + "./main.ts", + "./fileb.mts", + "./filea.ts" + ], + "fileIdsList": [ + [ + "./fileb.mts" + ] + ], + "fileInfos": { + "../../../../lib/lib.es2016.full.d.ts": { + "original": { + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "affectsGlobalScope": true, + "impliedFormat": 1 + }, + "version": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "signature": "-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }", + "affectsGlobalScope": true, + "impliedFormat": "commonjs" + }, + "./main.ts": { + "original": { + "version": "-10726455937-export const x = 10;", + "signature": "-6821242887-export declare const x = 10;\n", + "impliedFormat": 1 + }, + "version": "-10726455937-export const x = 10;", + "signature": "-6821242887-export declare const x = 10;\n", + "impliedFormat": "commonjs" + }, + "./fileb.mts": { + "original": { + "version": "3524703962-export function foo() {}", + "signature": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": 99 + }, + "version": "3524703962-export function foo() {}", + "signature": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": "esnext" + }, + "./filea.ts": { + "original": { + "version": "-5325347830-import { foo } from \"./fileB.mjs\";\nfoo();\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": 1 + }, + "version": "-5325347830-import { foo } from \"./fileB.mjs\";\nfoo();\n", + "signature": "-3531856636-export {};\n", + "impliedFormat": "commonjs" + } + }, + "root": [ + [ + [ + 2, + 4 + ], + [ + "./main.ts", + "./fileb.mts", + "./filea.ts" + ] + ] + ], + "options": { + "composite": true, + "module": 100, + "target": 3 + }, + "referencedMap": { + "./filea.ts": [ + "./fileb.mts" + ] + }, + "semanticDiagnosticsPerFile": [ + [ + "./filea.ts", + [ + { + "start": 20, + "length": 13, + "code": 1479, + "category": 1, + "messageText": { + "messageText": "The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import(\"./fileB.mjs\")' call instead.", + "category": 1, + "code": 1479, + "next": [ + { + "info": true + } + ] + } + } + ] + ] + ], + "latestChangedDtsFile": "./fileA.d.ts", + "version": "FakeTSVersion", + "size": 1495 +} + + + +Change:: Delete package.json +Input:: +//// [/src/projects/project/package.json] unlink + + +Output:: +/lib/tsc -p src --explainFiles --extendedDiagnostics +File '/src/projects/project/src/package.json' does not exist. +File '/src/projects/project/package.json' does not exist. +File '/src/projects/package.json' does not exist. +File '/src/package.json' does not exist. +File '/package.json' does not exist. +File '/src/projects/project/src/package.json' does not exist according to earlier cached lookups. +File '/src/projects/project/package.json' does not exist according to earlier cached lookups. +File '/src/projects/package.json' does not exist according to earlier cached lookups. +File '/src/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +======== Resolving module './fileB.mjs' from '/src/projects/project/src/fileA.ts'. ======== +Module resolution kind is not specified, using 'Node16'. +Resolving in CJS mode with conditions 'require', 'types', 'node'. +Loading module as file / folder, candidate module location '/src/projects/project/src/fileB.mjs', target file types: TypeScript, JavaScript, Declaration. +File name '/src/projects/project/src/fileB.mjs' has a '.mjs' extension - stripping it. +File '/src/projects/project/src/fileB.mts' exists - use it as a name resolution result. +======== Module name './fileB.mjs' was successfully resolved to '/src/projects/project/src/fileB.mts'. ======== +File '/lib/package.json' does not exist. +File '/package.json' does not exist according to earlier cached lookups. +src/fileA.ts:1:21 - error TS1479: The current file is a CommonJS module whose imports will produce 'require' calls; however, the referenced file is an ECMAScript module and cannot be imported with 'require'. Consider writing a dynamic 'import("./fileB.mjs")' call instead. + To convert this file to an ECMAScript module, change its file extension to '.mts' or create a local package.json file with `{ "type": "module" }`. + +1 import { foo } from "./fileB.mjs"; +   ~~~~~~~~~~~~~ + +../../../lib/lib.es2016.full.d.ts + Default library for target 'es2016' +src/main.ts + Part of 'files' list in tsconfig.json + File is CommonJS module because 'package.json' was not found +src/fileB.mts + Imported via "./fileB.mjs" from file 'src/fileA.ts' + Part of 'files' list in tsconfig.json +src/fileA.ts + Part of 'files' list in tsconfig.json + File is CommonJS module because 'package.json' was not found + +Found 1 error in src/fileA.ts:1 + +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + From edd08a570a755e00fd58b971aa4a639545ef3950 Mon Sep 17 00:00:00 2001 From: Hideaki Noshiro <46040697+noshiro-pf@users.noreply.github.com> Date: Wed, 17 Jul 2024 03:24:28 +0900 Subject: [PATCH 15/89] fix: fix the return type of Int8Array::toReversed in es2023.array.d.ts (#59163) --- src/lib/es2023.array.d.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/lib/es2023.array.d.ts b/src/lib/es2023.array.d.ts index d3219753355..b0793a61a6c 100644 --- a/src/lib/es2023.array.d.ts +++ b/src/lib/es2023.array.d.ts @@ -185,7 +185,7 @@ interface Int8Array { /** * Copies the array and returns the copy with the elements in reverse order. */ - toReversed(): Uint8Array; + toReversed(): Int8Array; /** * Copies and sorts the array. @@ -193,11 +193,11 @@ interface Int8Array { * a negative value if the first argument is less than the second argument, zero if they're equal, and a positive * value otherwise. If omitted, the elements are sorted in ascending order. * ```ts - * const myNums = Uint8Array.from([11, 2, 22, 1]); - * myNums.toSorted((a, b) => a - b) // Uint8Array(4) [1, 2, 11, 22] + * const myNums = Int8Array.from([11, 2, 22, 1]); + * myNums.toSorted((a, b) => a - b) // Int8Array(4) [1, 2, 11, 22] * ``` */ - toSorted(compareFn?: (a: number, b: number) => number): Uint8Array; + toSorted(compareFn?: (a: number, b: number) => number): Int8Array; /** * Copies the array and inserts the given number at the provided index. @@ -206,7 +206,7 @@ interface Int8Array { * @param value The value to insert into the copied array. * @returns A copy of the original array with the inserted value. */ - with(index: number, value: number): Uint8Array; + with(index: number, value: number): Int8Array; } interface Uint8Array { From 5e105ea71a362530e93319cc24a80fa89301f49f Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Tue, 16 Jul 2024 12:47:21 -0700 Subject: [PATCH 16/89] Use correct current directory for calculation for tests for reusable program tests (#59303) --- src/testRunner/unittests/helpers.ts | 11 +- ...ule-resolutions-from-non-modified-files.js | 202 +++++++++--------- .../change-affects-imports.js | 34 +-- .../change-affects-tripleslash-references.js | 16 +- .../change-affects-type-directives.js | 32 +-- .../change-affects-type-references.js | 64 +++--- ...ge-does-not-affect-imports-or-type-refs.js | 32 +-- .../change-doesnot-affect-type-references.js | 64 +++--- .../config-path-changes.js | 24 +-- .../fetches-imports-after-npm-install.js | 96 ++++----- ...ostics-when-diagnostics-are-not-queried.js | 68 +++--- .../handles-file-preprocessing-dignostics.js | 42 ++-- .../missing-file-is-created.js | 32 +-- .../missing-files-remain-missing.js | 32 +-- .../module-kind-changes.js | 32 +-- .../redirect-previous-duplicate-packages.js | 4 +- .../redirect-target-changes.js | 2 +- .../redirect-underlying-changes.js | 2 +- ...eFileByPath-previous-duplicate-packages.js | 4 +- ...with-getSourceFileByPath-target-changes.js | 2 +- ...-getSourceFileByPath-underlying-changes.js | 2 +- .../resolution-cache-follows-imports.js | 34 +-- ...irectives-cache-follows-type-directives.js | 2 +- .../reuseProgramStructure/rootdir-changes.js | 32 +-- ...le-declarations-from-non-modified-files.js | 2 +- 25 files changed, 434 insertions(+), 433 deletions(-) diff --git a/src/testRunner/unittests/helpers.ts b/src/testRunner/unittests/helpers.ts index 9ec9b57e661..026fdf7df54 100644 --- a/src/testRunner/unittests/helpers.ts +++ b/src/testRunner/unittests/helpers.ts @@ -118,23 +118,24 @@ export function createTestCompilerHost(texts: readonly NamedSourceText[], target }); if (useCaseSensitiveFileNames === undefined) useCaseSensitiveFileNames = ts.sys && ts.sys.useCaseSensitiveFileNames; const getCanonicalFileName = ts.createGetCanonicalFileName(useCaseSensitiveFileNames); - const filesByPath = ts.mapEntries(files, (fileName, file) => [ts.toPath(fileName, "", getCanonicalFileName), file]); + const currentDirectory = "/"; + const filesByPath = ts.mapEntries(files, (fileName, file) => [ts.toPath(fileName, currentDirectory, getCanonicalFileName), file]); const trace: string[] = []; const result: TestCompilerHost = { trace: s => trace.push(s), getTrace: () => trace, clearTrace: () => trace.length = 0, - getSourceFile: fileName => filesByPath.get(ts.toPath(fileName, "", getCanonicalFileName)), + getSourceFile: fileName => filesByPath.get(ts.toPath(fileName, currentDirectory, getCanonicalFileName)), getDefaultLibFileName: () => "lib.d.ts", writeFile: ts.notImplemented, - getCurrentDirectory: () => "", + getCurrentDirectory: () => currentDirectory, getDirectories: () => [], getCanonicalFileName, useCaseSensitiveFileNames: () => useCaseSensitiveFileNames, getNewLine: () => ts.sys ? ts.sys.newLine : newLine, - fileExists: fileName => filesByPath.has(ts.toPath(fileName, "", getCanonicalFileName)), + fileExists: fileName => filesByPath.has(ts.toPath(fileName, currentDirectory, getCanonicalFileName)), readFile: fileName => { - const file = filesByPath.get(ts.toPath(fileName, "", getCanonicalFileName)); + const file = filesByPath.get(ts.toPath(fileName, currentDirectory, getCanonicalFileName)); return file && file.text; }, }; diff --git a/tests/baselines/reference/reuseProgramStructure/can-reuse-module-resolutions-from-non-modified-files.js b/tests/baselines/reference/reuseProgramStructure/can-reuse-module-resolutions-from-non-modified-files.js index 4c328472c5a..96526409f24 100644 --- a/tests/baselines/reference/reuseProgramStructure/can-reuse-module-resolutions-from-non-modified-files.js +++ b/tests/baselines/reference/reuseProgramStructure/can-reuse-module-resolutions-from-non-modified-files.js @@ -39,7 +39,7 @@ declare module './b1' { interface B { y: string; } } resolvedModules: ./b1: { "resolvedModule": { - "resolvedFileName": "b1.ts", + "resolvedFileName": "/b1.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -49,11 +49,11 @@ resolvedTypeReferenceDirectiveNames: typerefs1: { "resolvedTypeReferenceDirective": { "primary": true, - "resolvedFileName": "node_modules/@types/typerefs1/index.d.ts", - "isExternalLibraryImport": false + "resolvedFileName": "/node_modules/@types/typerefs1/index.d.ts", + "isExternalLibraryImport": true }, "failedLookupLocations": [ - "node_modules/@types/typerefs1/package.json" + "/node_modules/@types/typerefs1/package.json" ] } @@ -66,7 +66,7 @@ import { BB } from './f1'; resolvedModules: ./b2: { "resolvedModule": { - "resolvedFileName": "b2.ts", + "resolvedFileName": "/b2.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -74,7 +74,7 @@ resolvedModules: } ./f1: { "resolvedModule": { - "resolvedFileName": "f1.ts", + "resolvedFileName": "/f1.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -84,36 +84,36 @@ resolvedTypeReferenceDirectiveNames: typerefs2: { "resolvedTypeReferenceDirective": { "primary": true, - "resolvedFileName": "node_modules/@types/typerefs2/index.d.ts", - "isExternalLibraryImport": false + "resolvedFileName": "/node_modules/@types/typerefs2/index.d.ts", + "isExternalLibraryImport": true }, "failedLookupLocations": [ - "node_modules/@types/typerefs2/package.json" + "/node_modules/@types/typerefs2/package.json" ] } -======== Resolving type reference directive 'typerefs1', containing file 'f1.ts', root directory 'node_modules/@types'. ======== -Resolving with primary search path 'node_modules/@types'. -File 'node_modules/@types/typerefs1/package.json' does not exist. -File 'node_modules/@types/typerefs1/index.d.ts' exists - use it as a name resolution result. -======== Type reference directive 'typerefs1' was successfully resolved to 'node_modules/@types/typerefs1/index.d.ts', primary: true. ======== -======== Resolving module './b1' from 'f1.ts'. ======== +======== Resolving type reference directive 'typerefs1', containing file '/f1.ts', root directory '/node_modules/@types'. ======== +Resolving with primary search path '/node_modules/@types'. +File '/node_modules/@types/typerefs1/package.json' does not exist. +File '/node_modules/@types/typerefs1/index.d.ts' exists - use it as a name resolution result. +======== Type reference directive 'typerefs1' was successfully resolved to '/node_modules/@types/typerefs1/index.d.ts', primary: true. ======== +======== Resolving module './b1' from '/f1.ts'. ======== Explicitly specified module resolution kind: 'Classic'. -File 'b1.ts' exists - use it as a name resolution result. -======== Module name './b1' was successfully resolved to 'b1.ts'. ======== -======== Resolving type reference directive 'typerefs2', containing file 'f2.ts', root directory 'node_modules/@types'. ======== -Resolving with primary search path 'node_modules/@types'. -File 'node_modules/@types/typerefs2/package.json' does not exist. -File 'node_modules/@types/typerefs2/index.d.ts' exists - use it as a name resolution result. -======== Type reference directive 'typerefs2' was successfully resolved to 'node_modules/@types/typerefs2/index.d.ts', primary: true. ======== -======== Resolving module './b2' from 'f2.ts'. ======== +File '/b1.ts' exists - use it as a name resolution result. +======== Module name './b1' was successfully resolved to '/b1.ts'. ======== +======== Resolving type reference directive 'typerefs2', containing file '/f2.ts', root directory '/node_modules/@types'. ======== +Resolving with primary search path '/node_modules/@types'. +File '/node_modules/@types/typerefs2/package.json' does not exist. +File '/node_modules/@types/typerefs2/index.d.ts' exists - use it as a name resolution result. +======== Type reference directive 'typerefs2' was successfully resolved to '/node_modules/@types/typerefs2/index.d.ts', primary: true. ======== +======== Resolving module './b2' from '/f2.ts'. ======== Explicitly specified module resolution kind: 'Classic'. -File 'b2.ts' exists - use it as a name resolution result. -======== Module name './b2' was successfully resolved to 'b2.ts'. ======== -======== Resolving module './f1' from 'f2.ts'. ======== +File '/b2.ts' exists - use it as a name resolution result. +======== Module name './b2' was successfully resolved to '/b2.ts'. ======== +======== Resolving module './f1' from '/f2.ts'. ======== Explicitly specified module resolution kind: 'Classic'. -File 'f1.ts' exists - use it as a name resolution result. -======== Module name './f1' was successfully resolved to 'f1.ts'. ======== +File '/f1.ts' exists - use it as a name resolution result. +======== Module name './f1' was successfully resolved to '/f1.ts'. ======== MissingPaths:: [] @@ -164,7 +164,7 @@ declare module './b1' { interface B { y: string; } } resolvedModules: ./b1: { "resolvedModule": { - "resolvedFileName": "b1.ts", + "resolvedFileName": "/b1.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -174,11 +174,11 @@ resolvedTypeReferenceDirectiveNames: typerefs1: { "resolvedTypeReferenceDirective": { "primary": true, - "resolvedFileName": "node_modules/@types/typerefs1/index.d.ts", - "isExternalLibraryImport": false + "resolvedFileName": "/node_modules/@types/typerefs1/index.d.ts", + "isExternalLibraryImport": true }, "failedLookupLocations": [ - "node_modules/@types/typerefs1/package.json" + "/node_modules/@types/typerefs1/package.json" ] } @@ -191,7 +191,7 @@ import { BB } from './f1'; resolvedModules: ./b2: { "resolvedModule": { - "resolvedFileName": "b2.ts", + "resolvedFileName": "/b2.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -199,7 +199,7 @@ resolvedModules: } ./f1: { "resolvedModule": { - "resolvedFileName": "f1.ts", + "resolvedFileName": "/f1.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -209,26 +209,26 @@ resolvedTypeReferenceDirectiveNames: typerefs2: { "resolvedTypeReferenceDirective": { "primary": true, - "resolvedFileName": "node_modules/@types/typerefs2/index.d.ts", - "isExternalLibraryImport": false + "resolvedFileName": "/node_modules/@types/typerefs2/index.d.ts", + "isExternalLibraryImport": true }, "failedLookupLocations": [ - "node_modules/@types/typerefs2/package.json" + "/node_modules/@types/typerefs2/package.json" ] } -======== Resolving type reference directive 'typerefs1', containing file 'f1.ts', root directory 'node_modules/@types'. ======== -Resolving with primary search path 'node_modules/@types'. -File 'node_modules/@types/typerefs1/package.json' does not exist. -File 'node_modules/@types/typerefs1/index.d.ts' exists - use it as a name resolution result. -======== Type reference directive 'typerefs1' was successfully resolved to 'node_modules/@types/typerefs1/index.d.ts', primary: true. ======== -======== Resolving module './b1' from 'f1.ts'. ======== +======== Resolving type reference directive 'typerefs1', containing file '/f1.ts', root directory '/node_modules/@types'. ======== +Resolving with primary search path '/node_modules/@types'. +File '/node_modules/@types/typerefs1/package.json' does not exist. +File '/node_modules/@types/typerefs1/index.d.ts' exists - use it as a name resolution result. +======== Type reference directive 'typerefs1' was successfully resolved to '/node_modules/@types/typerefs1/index.d.ts', primary: true. ======== +======== Resolving module './b1' from '/f1.ts'. ======== Explicitly specified module resolution kind: 'Classic'. -File 'b1.ts' exists - use it as a name resolution result. -======== Module name './b1' was successfully resolved to 'b1.ts'. ======== -Reusing resolution of type reference directive 'typerefs2' from 'f2.ts' of old program, it was successfully resolved to 'node_modules/@types/typerefs2/index.d.ts'. -Reusing resolution of module './b2' from 'f2.ts' of old program, it was successfully resolved to 'b2.ts'. -Reusing resolution of module './f1' from 'f2.ts' of old program, it was successfully resolved to 'f1.ts'. +File '/b1.ts' exists - use it as a name resolution result. +======== Module name './b1' was successfully resolved to '/b1.ts'. ======== +Reusing resolution of type reference directive 'typerefs2' from '/f2.ts' of old program, it was successfully resolved to '/node_modules/@types/typerefs2/index.d.ts'. +Reusing resolution of module './b2' from '/f2.ts' of old program, it was successfully resolved to '/b2.ts'. +Reusing resolution of module './f1' from '/f2.ts' of old program, it was successfully resolved to '/f1.ts'. MissingPaths:: [ "lib.d.ts" @@ -280,7 +280,7 @@ declare module './b1' { interface B { y: string; } } resolvedModules: ./b1: { "resolvedModule": { - "resolvedFileName": "b1.ts", + "resolvedFileName": "/b1.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -296,7 +296,7 @@ import { BB } from './f1'; resolvedModules: ./b2: { "resolvedModule": { - "resolvedFileName": "b2.ts", + "resolvedFileName": "/b2.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -304,7 +304,7 @@ resolvedModules: } ./f1: { "resolvedModule": { - "resolvedFileName": "f1.ts", + "resolvedFileName": "/f1.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -314,21 +314,21 @@ resolvedTypeReferenceDirectiveNames: typerefs2: { "resolvedTypeReferenceDirective": { "primary": true, - "resolvedFileName": "node_modules/@types/typerefs2/index.d.ts", - "isExternalLibraryImport": false + "resolvedFileName": "/node_modules/@types/typerefs2/index.d.ts", + "isExternalLibraryImport": true }, "failedLookupLocations": [ - "node_modules/@types/typerefs2/package.json" + "/node_modules/@types/typerefs2/package.json" ] } -======== Resolving module './b1' from 'f1.ts'. ======== +======== Resolving module './b1' from '/f1.ts'. ======== Explicitly specified module resolution kind: 'Classic'. -File 'b1.ts' exists - use it as a name resolution result. -======== Module name './b1' was successfully resolved to 'b1.ts'. ======== -Reusing resolution of type reference directive 'typerefs2' from 'f2.ts' of old program, it was successfully resolved to 'node_modules/@types/typerefs2/index.d.ts'. -Reusing resolution of module './b2' from 'f2.ts' of old program, it was successfully resolved to 'b2.ts'. -Reusing resolution of module './f1' from 'f2.ts' of old program, it was successfully resolved to 'f1.ts'. +File '/b1.ts' exists - use it as a name resolution result. +======== Module name './b1' was successfully resolved to '/b1.ts'. ======== +Reusing resolution of type reference directive 'typerefs2' from '/f2.ts' of old program, it was successfully resolved to '/node_modules/@types/typerefs2/index.d.ts'. +Reusing resolution of module './b2' from '/f2.ts' of old program, it was successfully resolved to '/b2.ts'. +Reusing resolution of module './f1' from '/f2.ts' of old program, it was successfully resolved to '/f1.ts'. MissingPaths:: [ "lib.d.ts" @@ -380,7 +380,7 @@ declare module './b1' { interface B { y: string; } } resolvedModules: ./b1: { "resolvedModule": { - "resolvedFileName": "b1.ts", + "resolvedFileName": "/b1.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -396,7 +396,7 @@ import { BB } from './f1'; resolvedModules: ./b2: { "resolvedModule": { - "resolvedFileName": "b2.ts", + "resolvedFileName": "/b2.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -404,7 +404,7 @@ resolvedModules: } ./f1: { "resolvedModule": { - "resolvedFileName": "f1.ts", + "resolvedFileName": "/f1.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -414,21 +414,21 @@ resolvedTypeReferenceDirectiveNames: typerefs2: { "resolvedTypeReferenceDirective": { "primary": true, - "resolvedFileName": "node_modules/@types/typerefs2/index.d.ts", - "isExternalLibraryImport": false + "resolvedFileName": "/node_modules/@types/typerefs2/index.d.ts", + "isExternalLibraryImport": true }, "failedLookupLocations": [ - "node_modules/@types/typerefs2/package.json" + "/node_modules/@types/typerefs2/package.json" ] } -======== Resolving module './b1' from 'f1.ts'. ======== +======== Resolving module './b1' from '/f1.ts'. ======== Explicitly specified module resolution kind: 'Classic'. -File 'b1.ts' exists - use it as a name resolution result. -======== Module name './b1' was successfully resolved to 'b1.ts'. ======== -Reusing resolution of type reference directive 'typerefs2' from 'f2.ts' of old program, it was successfully resolved to 'node_modules/@types/typerefs2/index.d.ts'. -Reusing resolution of module './b2' from 'f2.ts' of old program, it was successfully resolved to 'b2.ts'. -Reusing resolution of module './f1' from 'f2.ts' of old program, it was successfully resolved to 'f1.ts'. +File '/b1.ts' exists - use it as a name resolution result. +======== Module name './b1' was successfully resolved to '/b1.ts'. ======== +Reusing resolution of type reference directive 'typerefs2' from '/f2.ts' of old program, it was successfully resolved to '/node_modules/@types/typerefs2/index.d.ts'. +Reusing resolution of module './b2' from '/f2.ts' of old program, it was successfully resolved to '/b2.ts'. +Reusing resolution of module './f1' from '/f2.ts' of old program, it was successfully resolved to '/f1.ts'. MissingPaths:: [ "lib.d.ts" @@ -479,7 +479,7 @@ declare module './b1' { interface B { y: string; } } resolvedModules: ./b1: { "resolvedModule": { - "resolvedFileName": "b1.ts", + "resolvedFileName": "/b1.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -495,7 +495,7 @@ import { BB } from './f1'; resolvedModules: ./b2: { "resolvedModule": { - "resolvedFileName": "b2.ts", + "resolvedFileName": "/b2.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -503,7 +503,7 @@ resolvedModules: } ./f1: { "resolvedModule": { - "resolvedFileName": "f1.ts", + "resolvedFileName": "/f1.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -513,18 +513,18 @@ resolvedTypeReferenceDirectiveNames: typerefs2: { "resolvedTypeReferenceDirective": { "primary": true, - "resolvedFileName": "node_modules/@types/typerefs2/index.d.ts", - "isExternalLibraryImport": false + "resolvedFileName": "/node_modules/@types/typerefs2/index.d.ts", + "isExternalLibraryImport": true }, "failedLookupLocations": [ - "node_modules/@types/typerefs2/package.json" + "/node_modules/@types/typerefs2/package.json" ] } -======== Resolving module './b1' from 'f1.ts'. ======== +======== Resolving module './b1' from '/f1.ts'. ======== Explicitly specified module resolution kind: 'Classic'. -File 'b1.ts' exists - use it as a name resolution result. -======== Module name './b1' was successfully resolved to 'b1.ts'. ======== +File '/b1.ts' exists - use it as a name resolution result. +======== Module name './b1' was successfully resolved to '/b1.ts'. ======== MissingPaths:: [ "lib.d.ts" @@ -576,7 +576,7 @@ import { B } from './b1'; resolvedModules: ./b1: { "resolvedModule": { - "resolvedFileName": "b1.ts", + "resolvedFileName": "/b1.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -592,7 +592,7 @@ import { BB } from './f1'; resolvedModules: ./b2: { "resolvedModule": { - "resolvedFileName": "b2.ts", + "resolvedFileName": "/b2.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -600,7 +600,7 @@ resolvedModules: } ./f1: { "resolvedModule": { - "resolvedFileName": "f1.ts", + "resolvedFileName": "/f1.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -610,21 +610,21 @@ resolvedTypeReferenceDirectiveNames: typerefs2: { "resolvedTypeReferenceDirective": { "primary": true, - "resolvedFileName": "node_modules/@types/typerefs2/index.d.ts", - "isExternalLibraryImport": false + "resolvedFileName": "/node_modules/@types/typerefs2/index.d.ts", + "isExternalLibraryImport": true }, "failedLookupLocations": [ - "node_modules/@types/typerefs2/package.json" + "/node_modules/@types/typerefs2/package.json" ] } -======== Resolving module './b1' from 'f1.ts'. ======== +======== Resolving module './b1' from '/f1.ts'. ======== Explicitly specified module resolution kind: 'Classic'. -File 'b1.ts' exists - use it as a name resolution result. -======== Module name './b1' was successfully resolved to 'b1.ts'. ======== -Reusing resolution of type reference directive 'typerefs2' from 'f2.ts' of old program, it was successfully resolved to 'node_modules/@types/typerefs2/index.d.ts'. -Reusing resolution of module './b2' from 'f2.ts' of old program, it was successfully resolved to 'b2.ts'. -Reusing resolution of module './f1' from 'f2.ts' of old program, it was successfully resolved to 'f1.ts'. +File '/b1.ts' exists - use it as a name resolution result. +======== Module name './b1' was successfully resolved to '/b1.ts'. ======== +Reusing resolution of type reference directive 'typerefs2' from '/f2.ts' of old program, it was successfully resolved to '/node_modules/@types/typerefs2/index.d.ts'. +Reusing resolution of module './b2' from '/f2.ts' of old program, it was successfully resolved to '/b2.ts'. +Reusing resolution of module './f1' from '/f2.ts' of old program, it was successfully resolved to '/f1.ts'. MissingPaths:: [ "lib.d.ts" @@ -683,7 +683,7 @@ import { BB } from './f1'; resolvedModules: ./b2: { "resolvedModule": { - "resolvedFileName": "b2.ts", + "resolvedFileName": "/b2.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -691,7 +691,7 @@ resolvedModules: } ./f1: { "resolvedModule": { - "resolvedFileName": "f1.ts", + "resolvedFileName": "/f1.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -701,17 +701,17 @@ resolvedTypeReferenceDirectiveNames: typerefs2: { "resolvedTypeReferenceDirective": { "primary": true, - "resolvedFileName": "node_modules/@types/typerefs2/index.d.ts", - "isExternalLibraryImport": false + "resolvedFileName": "/node_modules/@types/typerefs2/index.d.ts", + "isExternalLibraryImport": true }, "failedLookupLocations": [ - "node_modules/@types/typerefs2/package.json" + "/node_modules/@types/typerefs2/package.json" ] } -Reusing resolution of type reference directive 'typerefs2' from 'f2.ts' of old program, it was successfully resolved to 'node_modules/@types/typerefs2/index.d.ts'. -Reusing resolution of module './b2' from 'f2.ts' of old program, it was successfully resolved to 'b2.ts'. -Reusing resolution of module './f1' from 'f2.ts' of old program, it was successfully resolved to 'f1.ts'. +Reusing resolution of type reference directive 'typerefs2' from '/f2.ts' of old program, it was successfully resolved to '/node_modules/@types/typerefs2/index.d.ts'. +Reusing resolution of module './b2' from '/f2.ts' of old program, it was successfully resolved to '/b2.ts'. +Reusing resolution of module './f1' from '/f2.ts' of old program, it was successfully resolved to '/f1.ts'. MissingPaths:: [ "lib.d.ts" diff --git a/tests/baselines/reference/reuseProgramStructure/change-affects-imports.js b/tests/baselines/reference/reuseProgramStructure/change-affects-imports.js index a64a2078c70..251ecd50762 100644 --- a/tests/baselines/reference/reuseProgramStructure/change-affects-imports.js +++ b/tests/baselines/reference/reuseProgramStructure/change-affects-imports.js @@ -20,14 +20,14 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } @@ -50,7 +50,7 @@ var z = 1; resolvedModules: b: { "resolvedModule": { - "resolvedFileName": "b.ts", + "resolvedFileName": "/b.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -73,14 +73,14 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } diff --git a/tests/baselines/reference/reuseProgramStructure/change-affects-tripleslash-references.js b/tests/baselines/reference/reuseProgramStructure/change-affects-tripleslash-references.js index 7c8ceb073f5..b23f7c50821 100644 --- a/tests/baselines/reference/reuseProgramStructure/change-affects-tripleslash-references.js +++ b/tests/baselines/reference/reuseProgramStructure/change-affects-tripleslash-references.js @@ -20,14 +20,14 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } diff --git a/tests/baselines/reference/reuseProgramStructure/change-affects-type-directives.js b/tests/baselines/reference/reuseProgramStructure/change-affects-type-directives.js index b7dd21299eb..1a1638312ed 100644 --- a/tests/baselines/reference/reuseProgramStructure/change-affects-type-directives.js +++ b/tests/baselines/reference/reuseProgramStructure/change-affects-type-directives.js @@ -20,14 +20,14 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } @@ -63,14 +63,14 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs1: { "failedLookupLocations": [ - "node_modules/@types/typerefs1/package.json", - "node_modules/@types/typerefs1/index.d.ts", - "node_modules/typerefs1/package.json", - "node_modules/typerefs1.d.ts", - "node_modules/typerefs1/index.d.ts", - "node_modules/@types/typerefs1/package.json", - "node_modules/@types/typerefs1.d.ts", - "node_modules/@types/typerefs1/index.d.ts" + "/node_modules/@types/typerefs1/package.json", + "/node_modules/@types/typerefs1/index.d.ts", + "/node_modules/typerefs1/package.json", + "/node_modules/typerefs1.d.ts", + "/node_modules/typerefs1/index.d.ts", + "/node_modules/@types/typerefs1/package.json", + "/node_modules/@types/typerefs1.d.ts", + "/node_modules/@types/typerefs1/index.d.ts" ] } diff --git a/tests/baselines/reference/reuseProgramStructure/change-affects-type-references.js b/tests/baselines/reference/reuseProgramStructure/change-affects-type-references.js index ad1dca80e4d..418f2c3f2b8 100644 --- a/tests/baselines/reference/reuseProgramStructure/change-affects-type-references.js +++ b/tests/baselines/reference/reuseProgramStructure/change-affects-type-references.js @@ -20,28 +20,28 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } automaticTypeDirectiveResolutions: a: { "failedLookupLocations": [ - "node_modules/@types/a/package.json", - "node_modules/@types/a/index.d.ts", - "node_modules/a/package.json", - "node_modules/a.d.ts", - "node_modules/a/index.d.ts", - "node_modules/@types/a/package.json", - "node_modules/@types/a.d.ts", - "node_modules/@types/a/index.d.ts" + "/node_modules/@types/a/package.json", + "/node_modules/@types/a/index.d.ts", + "/node_modules/a/package.json", + "/node_modules/a.d.ts", + "/node_modules/a/index.d.ts", + "/node_modules/@types/a/package.json", + "/node_modules/@types/a.d.ts", + "/node_modules/@types/a/index.d.ts" ] } @@ -77,28 +77,28 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } automaticTypeDirectiveResolutions: b: { "failedLookupLocations": [ - "node_modules/@types/b/package.json", - "node_modules/@types/b/index.d.ts", - "node_modules/b/package.json", - "node_modules/b.d.ts", - "node_modules/b/index.d.ts", - "node_modules/@types/b/package.json", - "node_modules/@types/b.d.ts", - "node_modules/@types/b/index.d.ts" + "/node_modules/@types/b/package.json", + "/node_modules/@types/b/index.d.ts", + "/node_modules/b/package.json", + "/node_modules/b.d.ts", + "/node_modules/b/index.d.ts", + "/node_modules/@types/b/package.json", + "/node_modules/@types/b.d.ts", + "/node_modules/@types/b/index.d.ts" ] } diff --git a/tests/baselines/reference/reuseProgramStructure/change-does-not-affect-imports-or-type-refs.js b/tests/baselines/reference/reuseProgramStructure/change-does-not-affect-imports-or-type-refs.js index 126a143f0c9..2debc2e7a19 100644 --- a/tests/baselines/reference/reuseProgramStructure/change-does-not-affect-imports-or-type-refs.js +++ b/tests/baselines/reference/reuseProgramStructure/change-does-not-affect-imports-or-type-refs.js @@ -20,14 +20,14 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } @@ -64,14 +64,14 @@ var x = 100 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } diff --git a/tests/baselines/reference/reuseProgramStructure/change-doesnot-affect-type-references.js b/tests/baselines/reference/reuseProgramStructure/change-doesnot-affect-type-references.js index ebd73889412..c38d945c68c 100644 --- a/tests/baselines/reference/reuseProgramStructure/change-doesnot-affect-type-references.js +++ b/tests/baselines/reference/reuseProgramStructure/change-doesnot-affect-type-references.js @@ -20,28 +20,28 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } automaticTypeDirectiveResolutions: a: { "failedLookupLocations": [ - "node_modules/@types/a/package.json", - "node_modules/@types/a/index.d.ts", - "node_modules/a/package.json", - "node_modules/a.d.ts", - "node_modules/a/index.d.ts", - "node_modules/@types/a/package.json", - "node_modules/@types/a.d.ts", - "node_modules/@types/a/index.d.ts" + "/node_modules/@types/a/package.json", + "/node_modules/@types/a/index.d.ts", + "/node_modules/a/package.json", + "/node_modules/a.d.ts", + "/node_modules/a/index.d.ts", + "/node_modules/@types/a/package.json", + "/node_modules/@types/a.d.ts", + "/node_modules/@types/a/index.d.ts" ] } @@ -77,28 +77,28 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } automaticTypeDirectiveResolutions: a: { "failedLookupLocations": [ - "node_modules/@types/a/package.json", - "node_modules/@types/a/index.d.ts", - "node_modules/a/package.json", - "node_modules/a.d.ts", - "node_modules/a/index.d.ts", - "node_modules/@types/a/package.json", - "node_modules/@types/a.d.ts", - "node_modules/@types/a/index.d.ts" + "/node_modules/@types/a/package.json", + "/node_modules/@types/a/index.d.ts", + "/node_modules/a/package.json", + "/node_modules/a.d.ts", + "/node_modules/a/index.d.ts", + "/node_modules/@types/a/package.json", + "/node_modules/@types/a.d.ts", + "/node_modules/@types/a/index.d.ts" ] } diff --git a/tests/baselines/reference/reuseProgramStructure/config-path-changes.js b/tests/baselines/reference/reuseProgramStructure/config-path-changes.js index d751189dca0..b366f1da591 100644 --- a/tests/baselines/reference/reuseProgramStructure/config-path-changes.js +++ b/tests/baselines/reference/reuseProgramStructure/config-path-changes.js @@ -26,12 +26,12 @@ typerefs: { "/a/node_modules/@types/typerefs/index.d.ts", "/node_modules/@types/typerefs/package.json", "/node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } @@ -74,12 +74,12 @@ typerefs: { "/a/node_modules/@types/typerefs/index.d.ts", "/node_modules/@types/typerefs/package.json", "/node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } diff --git a/tests/baselines/reference/reuseProgramStructure/fetches-imports-after-npm-install.js b/tests/baselines/reference/reuseProgramStructure/fetches-imports-after-npm-install.js index f0c69c4133b..eda662540f2 100644 --- a/tests/baselines/reference/reuseProgramStructure/fetches-imports-after-npm-install.js +++ b/tests/baselines/reference/reuseProgramStructure/fetches-imports-after-npm-install.js @@ -6,21 +6,21 @@ const myX: number = a.x; resolvedModules: a: { "failedLookupLocations": [ - "node_modules/a/package.json", - "node_modules/a.ts", - "node_modules/a.tsx", - "node_modules/a.d.ts", - "node_modules/a/index.ts", - "node_modules/a/index.tsx", - "node_modules/a/index.d.ts", - "node_modules/@types/a/package.json", - "node_modules/@types/a.d.ts", - "node_modules/@types/a/index.d.ts", - "node_modules/a/package.json", - "node_modules/a.js", - "node_modules/a.jsx", - "node_modules/a/index.js", - "node_modules/a/index.jsx" + "/node_modules/a/package.json", + "/node_modules/a.ts", + "/node_modules/a.tsx", + "/node_modules/a.d.ts", + "/node_modules/a/index.ts", + "/node_modules/a/index.tsx", + "/node_modules/a/index.d.ts", + "/node_modules/@types/a/package.json", + "/node_modules/@types/a.d.ts", + "/node_modules/@types/a/index.d.ts", + "/node_modules/a/package.json", + "/node_modules/a.js", + "/node_modules/a.jsx", + "/node_modules/a/index.js", + "/node_modules/a/index.jsx" ] } @@ -29,27 +29,27 @@ File: file2.ts -======== Resolving module 'a' from 'file1.ts'. ======== +======== Resolving module 'a' from '/file1.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module 'a' from 'node_modules' folder, target file types: TypeScript, Declaration. Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. -File 'node_modules/a/package.json' does not exist. -File 'node_modules/a.ts' does not exist. -File 'node_modules/a.tsx' does not exist. -File 'node_modules/a.d.ts' does not exist. -File 'node_modules/a/index.ts' does not exist. -File 'node_modules/a/index.tsx' does not exist. -File 'node_modules/a/index.d.ts' does not exist. -File 'node_modules/@types/a/package.json' does not exist. -File 'node_modules/@types/a.d.ts' does not exist. -File 'node_modules/@types/a/index.d.ts' does not exist. +File '/node_modules/a/package.json' does not exist. +File '/node_modules/a.ts' does not exist. +File '/node_modules/a.tsx' does not exist. +File '/node_modules/a.d.ts' does not exist. +File '/node_modules/a/index.ts' does not exist. +File '/node_modules/a/index.tsx' does not exist. +File '/node_modules/a/index.d.ts' does not exist. +File '/node_modules/@types/a/package.json' does not exist. +File '/node_modules/@types/a.d.ts' does not exist. +File '/node_modules/@types/a/index.d.ts' does not exist. Loading module 'a' from 'node_modules' folder, target file types: JavaScript. Searching all ancestor node_modules directories for fallback extensions: JavaScript. -File 'node_modules/a/package.json' does not exist according to earlier cached lookups. -File 'node_modules/a.js' does not exist. -File 'node_modules/a.jsx' does not exist. -File 'node_modules/a/index.js' does not exist. -File 'node_modules/a/index.jsx' does not exist. +File '/node_modules/a/package.json' does not exist according to earlier cached lookups. +File '/node_modules/a.js' does not exist. +File '/node_modules/a.jsx' does not exist. +File '/node_modules/a/index.js' does not exist. +File '/node_modules/a/index.jsx' does not exist. ======== Module name 'a' was not resolved. ======== MissingPaths:: [ @@ -61,7 +61,7 @@ file1.ts(2,20): error TS2307: Cannot find module 'a' or its corresponding type d Program 2 Reused:: SafeModules -File: node_modules/a/index.d.ts +File: /node_modules/a/index.d.ts export declare let x: number; @@ -73,18 +73,18 @@ const myX: number = a.x; resolvedModules: a: { "resolvedModule": { - "resolvedFileName": "node_modules/a/index.d.ts", + "resolvedFileName": "/node_modules/a/index.d.ts", "extension": ".d.ts", "isExternalLibraryImport": true, "resolvedUsingTsExtension": false }, "failedLookupLocations": [ - "node_modules/a/package.json", - "node_modules/a.ts", - "node_modules/a.tsx", - "node_modules/a.d.ts", - "node_modules/a/index.ts", - "node_modules/a/index.tsx" + "/node_modules/a/package.json", + "/node_modules/a.ts", + "/node_modules/a.tsx", + "/node_modules/a.d.ts", + "/node_modules/a/index.ts", + "/node_modules/a/index.tsx" ] } @@ -93,18 +93,18 @@ File: file2.ts -======== Resolving module 'a' from 'file1.ts'. ======== +======== Resolving module 'a' from '/file1.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module 'a' from 'node_modules' folder, target file types: TypeScript, Declaration. Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. -File 'node_modules/a/package.json' does not exist. -File 'node_modules/a.ts' does not exist. -File 'node_modules/a.tsx' does not exist. -File 'node_modules/a.d.ts' does not exist. -File 'node_modules/a/index.ts' does not exist. -File 'node_modules/a/index.tsx' does not exist. -File 'node_modules/a/index.d.ts' exists - use it as a name resolution result. -======== Module name 'a' was successfully resolved to 'node_modules/a/index.d.ts'. ======== +File '/node_modules/a/package.json' does not exist. +File '/node_modules/a.ts' does not exist. +File '/node_modules/a.tsx' does not exist. +File '/node_modules/a.d.ts' does not exist. +File '/node_modules/a/index.ts' does not exist. +File '/node_modules/a/index.tsx' does not exist. +File '/node_modules/a/index.d.ts' exists - use it as a name resolution result. +======== Module name 'a' was successfully resolved to '/node_modules/a/index.d.ts'. ======== MissingPaths:: [] diff --git a/tests/baselines/reference/reuseProgramStructure/handles-file-preprocessing-dignostics-when-diagnostics-are-not-queried.js b/tests/baselines/reference/reuseProgramStructure/handles-file-preprocessing-dignostics-when-diagnostics-are-not-queried.js index b190df362b1..4dafc99ca0a 100644 --- a/tests/baselines/reference/reuseProgramStructure/handles-file-preprocessing-dignostics-when-diagnostics-are-not-queried.js +++ b/tests/baselines/reference/reuseProgramStructure/handles-file-preprocessing-dignostics-when-diagnostics-are-not-queried.js @@ -546,7 +546,7 @@ Skipped diagnostics Program 1 Reused:: Not Diagnostics: -/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -555,7 +555,7 @@ Diagnostics: Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -564,7 +564,7 @@ Diagnostics: Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -573,7 +573,7 @@ Diagnostics: Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -582,7 +582,7 @@ Diagnostics: Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/struct.d.ts(3,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. +src/project/src/struct.d.ts(3,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -591,7 +591,7 @@ Diagnostics: Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/struct.d.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/struct.d.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -600,7 +600,7 @@ Diagnostics: Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/struct.d.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/struct.d.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -885,7 +885,7 @@ MissingPaths:: [ "lib.d.ts" ] -/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -894,7 +894,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -903,7 +903,7 @@ MissingPaths:: [ Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -912,7 +912,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -921,7 +921,7 @@ MissingPaths:: [ Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/struct.d.ts(7,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. +src/project/src/struct.d.ts(7,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -930,7 +930,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/struct.d.ts(8,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/struct.d.ts(8,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -939,7 +939,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/struct.d.ts(9,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/struct.d.ts(9,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -953,7 +953,7 @@ MissingPaths:: [ Program 2 Reused:: Completely Diagnostics: -/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -962,7 +962,7 @@ Diagnostics: Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -971,7 +971,7 @@ Diagnostics: Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -980,7 +980,7 @@ Diagnostics: Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -989,7 +989,7 @@ Diagnostics: Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/struct.d.ts(5,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. +src/project/src/struct.d.ts(5,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -998,7 +998,7 @@ Diagnostics: Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/struct.d.ts(6,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/struct.d.ts(6,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -1007,7 +1007,7 @@ Diagnostics: Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/struct.d.ts(7,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/struct.d.ts(7,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -1507,7 +1507,7 @@ MissingPaths:: [ "lib.d.ts" ] -/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' @@ -1515,7 +1515,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -1523,7 +1523,7 @@ MissingPaths:: [ Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' @@ -1531,7 +1531,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -1539,7 +1539,7 @@ MissingPaths:: [ Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/struct.d.ts(3,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. +src/project/src/struct.d.ts(3,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/Struct" from file '/src/project/src/anotherFile.ts' @@ -1547,7 +1547,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/struct.d.ts(4,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/struct.d.ts(4,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -1560,7 +1560,7 @@ MissingPaths:: [ Program 4 Reused:: SafeModules Diagnostics: -/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -1569,7 +1569,7 @@ Diagnostics: Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -1577,7 +1577,7 @@ Diagnostics: Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -1586,7 +1586,7 @@ Diagnostics: Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -1594,7 +1594,7 @@ Diagnostics: Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/struct.d.ts(3,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. +src/project/src/struct.d.ts(3,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -1603,7 +1603,7 @@ Diagnostics: Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/struct.d.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/struct.d.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -1612,7 +1612,7 @@ Diagnostics: Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/struct.d.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/struct.d.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' diff --git a/tests/baselines/reference/reuseProgramStructure/handles-file-preprocessing-dignostics.js b/tests/baselines/reference/reuseProgramStructure/handles-file-preprocessing-dignostics.js index 59afd7f8220..8905c8095a9 100644 --- a/tests/baselines/reference/reuseProgramStructure/handles-file-preprocessing-dignostics.js +++ b/tests/baselines/reference/reuseProgramStructure/handles-file-preprocessing-dignostics.js @@ -267,7 +267,7 @@ MissingPaths:: [ "lib.d.ts" ] -/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -276,7 +276,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -285,7 +285,7 @@ MissingPaths:: [ Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -294,7 +294,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -303,7 +303,7 @@ MissingPaths:: [ Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/struct.d.ts(3,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. +src/project/src/struct.d.ts(3,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -312,7 +312,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/struct.d.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/struct.d.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -321,7 +321,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/struct.d.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/struct.d.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -604,7 +604,7 @@ MissingPaths:: [ "lib.d.ts" ] -/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -613,7 +613,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -622,7 +622,7 @@ MissingPaths:: [ Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -631,7 +631,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -640,7 +640,7 @@ MissingPaths:: [ Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/struct.d.ts(5,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. +src/project/src/struct.d.ts(5,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -649,7 +649,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/struct.d.ts(6,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/struct.d.ts(6,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -658,7 +658,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/struct.d.ts(7,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/struct.d.ts(7,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -926,7 +926,7 @@ MissingPaths:: [ "lib.d.ts" ] -/src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/anotherFile.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -935,7 +935,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/anotherFile.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -943,7 +943,7 @@ MissingPaths:: [ Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/oneMore.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -952,7 +952,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/oneMore.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' @@ -960,7 +960,7 @@ MissingPaths:: [ Imported via "./struct" from file '/src/project/src/anotherFile.ts' Imported via "./Struct" from file '/src/project/src/oneMore.ts' Imported via "./struct" from file '/src/project/src/oneMore.ts' -/src/project/src/struct.d.ts(3,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. +src/project/src/struct.d.ts(3,22): error TS1261: Already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' differs from file name '/src/project/node_modules/fp-ts/lib/struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -969,7 +969,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/struct.d.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. +src/project/src/struct.d.ts(4,22): error TS1149: File name '/src/project/node_modules/fp-ts/lib/struct.d.ts' differs from already included file name '/src/project/node_modules/fp-ts/lib/Struct.d.ts' only in casing. The file is in the program because: Imported via "fp-ts/lib/Struct" from file '/src/project/src/struct.d.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/struct.d.ts' @@ -978,7 +978,7 @@ MissingPaths:: [ Imported via "fp-ts/lib/Struct" from file '/src/project/src/oneMore.ts' Imported via "fp-ts/lib/struct" from file '/src/project/src/oneMore.ts' Root file specified for compilation -/src/project/src/struct.d.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. +src/project/src/struct.d.ts(5,22): error TS1149: File name '/src/project/src/Struct.d.ts' differs from already included file name '/src/project/src/struct.d.ts' only in casing. The file is in the program because: Root file specified for compilation Imported via "./Struct" from file '/src/project/src/struct.d.ts' diff --git a/tests/baselines/reference/reuseProgramStructure/missing-file-is-created.js b/tests/baselines/reference/reuseProgramStructure/missing-file-is-created.js index 0da2b41e027..787248be35f 100644 --- a/tests/baselines/reference/reuseProgramStructure/missing-file-is-created.js +++ b/tests/baselines/reference/reuseProgramStructure/missing-file-is-created.js @@ -20,14 +20,14 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } @@ -68,14 +68,14 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } diff --git a/tests/baselines/reference/reuseProgramStructure/missing-files-remain-missing.js b/tests/baselines/reference/reuseProgramStructure/missing-files-remain-missing.js index 8f886fddd36..a1135cd7779 100644 --- a/tests/baselines/reference/reuseProgramStructure/missing-files-remain-missing.js +++ b/tests/baselines/reference/reuseProgramStructure/missing-files-remain-missing.js @@ -20,14 +20,14 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } @@ -63,14 +63,14 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } diff --git a/tests/baselines/reference/reuseProgramStructure/module-kind-changes.js b/tests/baselines/reference/reuseProgramStructure/module-kind-changes.js index 2ce4f8610a9..2ce7a1eadc5 100644 --- a/tests/baselines/reference/reuseProgramStructure/module-kind-changes.js +++ b/tests/baselines/reference/reuseProgramStructure/module-kind-changes.js @@ -20,14 +20,14 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } @@ -64,14 +64,14 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } diff --git a/tests/baselines/reference/reuseProgramStructure/redirect-previous-duplicate-packages.js b/tests/baselines/reference/reuseProgramStructure/redirect-previous-duplicate-packages.js index fcff7e884e0..34ce07ed76d 100644 --- a/tests/baselines/reference/reuseProgramStructure/redirect-previous-duplicate-packages.js +++ b/tests/baselines/reference/reuseProgramStructure/redirect-previous-duplicate-packages.js @@ -110,8 +110,8 @@ MissingPaths:: [ "lib.d.ts" ] -/node_modules/b/index.d.ts(2,8): error TS1259: Module '"/node_modules/b/node_modules/x/index"' can only be default-imported using the 'allowSyntheticDefaultImports' flag -/node_modules/b/node_modules/x/index.d.ts(3,16): error TS2714: The expression of an export assignment must be an identifier or qualified name in an ambient context. +node_modules/b/index.d.ts(2,8): error TS1259: Module '"/node_modules/b/node_modules/x/index"' can only be default-imported using the 'allowSyntheticDefaultImports' flag +node_modules/b/node_modules/x/index.d.ts(3,16): error TS2714: The expression of an export assignment must be an identifier or qualified name in an ambient context. diff --git a/tests/baselines/reference/reuseProgramStructure/redirect-target-changes.js b/tests/baselines/reference/reuseProgramStructure/redirect-target-changes.js index 9805b725e42..87c6b191780 100644 --- a/tests/baselines/reference/reuseProgramStructure/redirect-target-changes.js +++ b/tests/baselines/reference/reuseProgramStructure/redirect-target-changes.js @@ -220,7 +220,7 @@ MissingPaths:: [ "lib.d.ts" ] -/a.ts(3,3): error TS2345: Argument of type 'import("/node_modules/b/node_modules/x/index").default' is not assignable to parameter of type 'import("/node_modules/a/node_modules/x/index").default'. +a.ts(3,3): error TS2345: Argument of type 'import("/node_modules/b/node_modules/x/index").default' is not assignable to parameter of type 'import("/node_modules/a/node_modules/x/index").default'. Property 'y' is missing in type 'import("/node_modules/b/node_modules/x/index").default' but required in type 'import("/node_modules/a/node_modules/x/index").default'. diff --git a/tests/baselines/reference/reuseProgramStructure/redirect-underlying-changes.js b/tests/baselines/reference/reuseProgramStructure/redirect-underlying-changes.js index a54f008e9be..66aa61c2108 100644 --- a/tests/baselines/reference/reuseProgramStructure/redirect-underlying-changes.js +++ b/tests/baselines/reference/reuseProgramStructure/redirect-underlying-changes.js @@ -225,7 +225,7 @@ MissingPaths:: [ "lib.d.ts" ] -/a.ts(3,3): error TS2345: Argument of type 'import("/node_modules/b/node_modules/x/index").default' is not assignable to parameter of type 'import("/node_modules/a/node_modules/x/index").default'. +a.ts(3,3): error TS2345: Argument of type 'import("/node_modules/b/node_modules/x/index").default' is not assignable to parameter of type 'import("/node_modules/a/node_modules/x/index").default'. Types have separate declarations of a private property 'x'. diff --git a/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-previous-duplicate-packages.js b/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-previous-duplicate-packages.js index fcff7e884e0..34ce07ed76d 100644 --- a/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-previous-duplicate-packages.js +++ b/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-previous-duplicate-packages.js @@ -110,8 +110,8 @@ MissingPaths:: [ "lib.d.ts" ] -/node_modules/b/index.d.ts(2,8): error TS1259: Module '"/node_modules/b/node_modules/x/index"' can only be default-imported using the 'allowSyntheticDefaultImports' flag -/node_modules/b/node_modules/x/index.d.ts(3,16): error TS2714: The expression of an export assignment must be an identifier or qualified name in an ambient context. +node_modules/b/index.d.ts(2,8): error TS1259: Module '"/node_modules/b/node_modules/x/index"' can only be default-imported using the 'allowSyntheticDefaultImports' flag +node_modules/b/node_modules/x/index.d.ts(3,16): error TS2714: The expression of an export assignment must be an identifier or qualified name in an ambient context. diff --git a/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-target-changes.js b/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-target-changes.js index 9805b725e42..87c6b191780 100644 --- a/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-target-changes.js +++ b/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-target-changes.js @@ -220,7 +220,7 @@ MissingPaths:: [ "lib.d.ts" ] -/a.ts(3,3): error TS2345: Argument of type 'import("/node_modules/b/node_modules/x/index").default' is not assignable to parameter of type 'import("/node_modules/a/node_modules/x/index").default'. +a.ts(3,3): error TS2345: Argument of type 'import("/node_modules/b/node_modules/x/index").default' is not assignable to parameter of type 'import("/node_modules/a/node_modules/x/index").default'. Property 'y' is missing in type 'import("/node_modules/b/node_modules/x/index").default' but required in type 'import("/node_modules/a/node_modules/x/index").default'. diff --git a/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-underlying-changes.js b/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-underlying-changes.js index a54f008e9be..66aa61c2108 100644 --- a/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-underlying-changes.js +++ b/tests/baselines/reference/reuseProgramStructure/redirect-with-getSourceFileByPath-underlying-changes.js @@ -225,7 +225,7 @@ MissingPaths:: [ "lib.d.ts" ] -/a.ts(3,3): error TS2345: Argument of type 'import("/node_modules/b/node_modules/x/index").default' is not assignable to parameter of type 'import("/node_modules/a/node_modules/x/index").default'. +a.ts(3,3): error TS2345: Argument of type 'import("/node_modules/b/node_modules/x/index").default' is not assignable to parameter of type 'import("/node_modules/a/node_modules/x/index").default'. Types have separate declarations of a private property 'x'. diff --git a/tests/baselines/reference/reuseProgramStructure/resolution-cache-follows-imports.js b/tests/baselines/reference/reuseProgramStructure/resolution-cache-follows-imports.js index bde8203f05f..d6272a55f03 100644 --- a/tests/baselines/reference/reuseProgramStructure/resolution-cache-follows-imports.js +++ b/tests/baselines/reference/reuseProgramStructure/resolution-cache-follows-imports.js @@ -1,5 +1,5 @@ Program 1 Reused:: Not -File: b.ts +File: /b.ts var y = 2 @@ -11,7 +11,7 @@ var x = 1 resolvedModules: b: { "resolvedModule": { - "resolvedFileName": "b.ts", + "resolvedFileName": "/b.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -23,12 +23,12 @@ MissingPaths:: [ "lib.d.ts" ] -a.ts(2,17): error TS2306: File 'b.ts' is not a module. +a.ts(2,17): error TS2306: File '/b.ts' is not a module. Program 2 Reused:: Completely -File: b.ts +File: /b.ts var y = 2 @@ -40,7 +40,7 @@ var x = 2 resolvedModules: b: { "resolvedModule": { - "resolvedFileName": "b.ts", + "resolvedFileName": "/b.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -52,7 +52,7 @@ MissingPaths:: [ "lib.d.ts" ] -a.ts(2,17): error TS2306: File 'b.ts' is not a module. +a.ts(2,17): error TS2306: File '/b.ts' is not a module. @@ -71,7 +71,7 @@ MissingPaths:: [ Program 4 Reused:: SafeModules -File: b.ts +File: /b.ts var y = 2 @@ -85,7 +85,7 @@ var x = 2 resolvedModules: b: { "resolvedModule": { - "resolvedFileName": "b.ts", + "resolvedFileName": "/b.ts", "extension": ".ts", "isExternalLibraryImport": false, "resolvedUsingTsExtension": false @@ -93,14 +93,14 @@ b: { } c: { "failedLookupLocations": [ - "c.ts", - "c.tsx", - "c.d.ts", - "node_modules/@types/c/package.json", - "node_modules/@types/c.d.ts", - "node_modules/@types/c/index.d.ts", - "c.js", - "c.jsx" + "/c.ts", + "/c.tsx", + "/c.d.ts", + "/node_modules/@types/c/package.json", + "/node_modules/@types/c.d.ts", + "/node_modules/@types/c/index.d.ts", + "/c.js", + "/c.jsx" ] } @@ -109,7 +109,7 @@ MissingPaths:: [ "lib.d.ts" ] -a.ts(2,15): error TS2306: File 'b.ts' is not a module. +a.ts(2,15): error TS2306: File '/b.ts' is not a module. a.ts(3,31): error TS2792: Cannot find module 'c'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option? diff --git a/tests/baselines/reference/reuseProgramStructure/resolved-type-directives-cache-follows-type-directives.js b/tests/baselines/reference/reuseProgramStructure/resolved-type-directives-cache-follows-type-directives.js index e11d3be8926..a8d8fd3ccb5 100644 --- a/tests/baselines/reference/reuseProgramStructure/resolved-type-directives-cache-follows-type-directives.js +++ b/tests/baselines/reference/reuseProgramStructure/resolved-type-directives-cache-follows-type-directives.js @@ -117,6 +117,6 @@ MissingPaths:: [ "lib.d.ts" ] -/a.ts(2,39): error TS2688: Cannot find type definition file for 'typedefs2'. +a.ts(2,39): error TS2688: Cannot find type definition file for 'typedefs2'. diff --git a/tests/baselines/reference/reuseProgramStructure/rootdir-changes.js b/tests/baselines/reference/reuseProgramStructure/rootdir-changes.js index e83cf28f215..8f615ba668b 100644 --- a/tests/baselines/reference/reuseProgramStructure/rootdir-changes.js +++ b/tests/baselines/reference/reuseProgramStructure/rootdir-changes.js @@ -20,14 +20,14 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } @@ -66,14 +66,14 @@ var x = 1 resolvedTypeReferenceDirectiveNames: typerefs: { "failedLookupLocations": [ - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs/index.d.ts", - "node_modules/typerefs/package.json", - "node_modules/typerefs.d.ts", - "node_modules/typerefs/index.d.ts", - "node_modules/@types/typerefs/package.json", - "node_modules/@types/typerefs.d.ts", - "node_modules/@types/typerefs/index.d.ts" + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs/index.d.ts", + "/node_modules/typerefs/package.json", + "/node_modules/typerefs.d.ts", + "/node_modules/typerefs/index.d.ts", + "/node_modules/@types/typerefs/package.json", + "/node_modules/@types/typerefs.d.ts", + "/node_modules/@types/typerefs/index.d.ts" ] } diff --git a/tests/baselines/reference/reuseProgramStructure/should-not-reuse-ambient-module-declarations-from-non-modified-files.js b/tests/baselines/reference/reuseProgramStructure/should-not-reuse-ambient-module-declarations-from-non-modified-files.js index 2f35b2999b1..9cd7a56ea4d 100644 --- a/tests/baselines/reference/reuseProgramStructure/should-not-reuse-ambient-module-declarations-from-non-modified-files.js +++ b/tests/baselines/reference/reuseProgramStructure/should-not-reuse-ambient-module-declarations-from-non-modified-files.js @@ -223,6 +223,6 @@ MissingPaths:: [ "lib.d.ts" ] -/a/b/app.ts(2,21): error TS2792: Cannot find module 'fs'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option? +a/b/app.ts(2,21): error TS2792: Cannot find module 'fs'. Did you mean to set the 'moduleResolution' option to 'nodenext', or to add aliases to the 'paths' option? From 003221becbaa179807454065e2e011e36245cb66 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Tue, 16 Jul 2024 13:30:50 -0700 Subject: [PATCH 17/89] Fix captured shorthand properties in ES2015 loops (#59285) --- src/compiler/checker.ts | 10 ++- src/compiler/utilities.ts | 1 + ...turedShorthandPropertyAssignmentNoCheck.js | 22 ++++++ ...ShorthandPropertyAssignmentNoCheck.symbols | 29 ++++++++ ...edShorthandPropertyAssignmentNoCheck.types | 68 +++++++++++++++++++ ...turedShorthandPropertyAssignmentNoCheck.ts | 8 +++ 6 files changed, 136 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/capturedShorthandPropertyAssignmentNoCheck.js create mode 100644 tests/baselines/reference/capturedShorthandPropertyAssignmentNoCheck.symbols create mode 100644 tests/baselines/reference/capturedShorthandPropertyAssignmentNoCheck.types create mode 100644 tests/cases/compiler/capturedShorthandPropertyAssignmentNoCheck.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e7a6a1fe0d5..5f76420d34e 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -49341,11 +49341,17 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { forEachNodeRecursively(node, checkIdentifiers); } + function isExpressionNodeOrShorthandPropertyAssignmentName(node: Identifier) { + // TODO(jakebailey): Just use isExpressionNode once that considers these identifiers to be expressions. + return isExpressionNode(node) + || isShorthandPropertyAssignment(node.parent) && (node.parent.objectAssignmentInitializer ?? node.parent.name) === node; + } + function checkSingleIdentifier(node: Node) { const nodeLinks = getNodeLinks(node); nodeLinks.calculatedFlags |= NodeCheckFlags.ConstructorReference | NodeCheckFlags.CapturedBlockScopedBinding | NodeCheckFlags.BlockScopedBindingInLoop; - if (isIdentifier(node) && isExpressionNode(node) && !(isPropertyAccessExpression(node.parent) && node.parent.name === node)) { - const s = getSymbolAtLocation(node, /*ignoreErrors*/ true); + if (isIdentifier(node) && isExpressionNodeOrShorthandPropertyAssignmentName(node) && !(isPropertyAccessExpression(node.parent) && node.parent.name === node)) { + const s = getResolvedSymbol(node); if (s && s !== unknownSymbol) { checkIdentifierCalculateNodeCheckFlags(node, s); } diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index c999951036d..68bbfcea644 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -3582,6 +3582,7 @@ export function isInExpressionContext(node: Node): boolean { case SyntaxKind.ExpressionWithTypeArguments: return (parent as ExpressionWithTypeArguments).expression === node && !isPartOfTypeNode(parent); case SyntaxKind.ShorthandPropertyAssignment: + // TODO(jakebailey): it's possible that node could be the name, too return (parent as ShorthandPropertyAssignment).objectAssignmentInitializer === node; case SyntaxKind.SatisfiesExpression: return node === (parent as SatisfiesExpression).expression; diff --git a/tests/baselines/reference/capturedShorthandPropertyAssignmentNoCheck.js b/tests/baselines/reference/capturedShorthandPropertyAssignmentNoCheck.js new file mode 100644 index 00000000000..14b83874797 --- /dev/null +++ b/tests/baselines/reference/capturedShorthandPropertyAssignmentNoCheck.js @@ -0,0 +1,22 @@ +//// [tests/cases/compiler/capturedShorthandPropertyAssignmentNoCheck.ts] //// + +//// [capturedShorthandPropertyAssignmentNoCheck.ts] +const fns = []; +for (const value of [1, 2, 3]) { + fns.push(() => ({ value })); +} +const result = fns.map(fn => fn()); +console.log(result) + + +//// [capturedShorthandPropertyAssignmentNoCheck.js] +var fns = []; +var _loop_1 = function (value) { + fns.push(function () { return ({ value: value }); }); +}; +for (var _i = 0, _a = [1, 2, 3]; _i < _a.length; _i++) { + var value = _a[_i]; + _loop_1(value); +} +var result = fns.map(function (fn) { return fn(); }); +console.log(result); diff --git a/tests/baselines/reference/capturedShorthandPropertyAssignmentNoCheck.symbols b/tests/baselines/reference/capturedShorthandPropertyAssignmentNoCheck.symbols new file mode 100644 index 00000000000..0955090e671 --- /dev/null +++ b/tests/baselines/reference/capturedShorthandPropertyAssignmentNoCheck.symbols @@ -0,0 +1,29 @@ +//// [tests/cases/compiler/capturedShorthandPropertyAssignmentNoCheck.ts] //// + +=== capturedShorthandPropertyAssignmentNoCheck.ts === +const fns = []; +>fns : Symbol(fns, Decl(capturedShorthandPropertyAssignmentNoCheck.ts, 0, 5)) + +for (const value of [1, 2, 3]) { +>value : Symbol(value, Decl(capturedShorthandPropertyAssignmentNoCheck.ts, 1, 10)) + + fns.push(() => ({ value })); +>fns.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) +>fns : Symbol(fns, Decl(capturedShorthandPropertyAssignmentNoCheck.ts, 0, 5)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) +>value : Symbol(value, Decl(capturedShorthandPropertyAssignmentNoCheck.ts, 2, 21)) +} +const result = fns.map(fn => fn()); +>result : Symbol(result, Decl(capturedShorthandPropertyAssignmentNoCheck.ts, 4, 5)) +>fns.map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>fns : Symbol(fns, Decl(capturedShorthandPropertyAssignmentNoCheck.ts, 0, 5)) +>map : Symbol(Array.map, Decl(lib.es5.d.ts, --, --)) +>fn : Symbol(fn, Decl(capturedShorthandPropertyAssignmentNoCheck.ts, 4, 23)) +>fn : Symbol(fn, Decl(capturedShorthandPropertyAssignmentNoCheck.ts, 4, 23)) + +console.log(result) +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>result : Symbol(result, Decl(capturedShorthandPropertyAssignmentNoCheck.ts, 4, 5)) + diff --git a/tests/baselines/reference/capturedShorthandPropertyAssignmentNoCheck.types b/tests/baselines/reference/capturedShorthandPropertyAssignmentNoCheck.types new file mode 100644 index 00000000000..ff153e104aa --- /dev/null +++ b/tests/baselines/reference/capturedShorthandPropertyAssignmentNoCheck.types @@ -0,0 +1,68 @@ +//// [tests/cases/compiler/capturedShorthandPropertyAssignmentNoCheck.ts] //// + +=== capturedShorthandPropertyAssignmentNoCheck.ts === +const fns = []; +>fns : any[] +> : ^^^^^ +>[] : undefined[] +> : ^^^^^^^^^^^ + +for (const value of [1, 2, 3]) { +>value : number +> : ^^^^^^ +>[1, 2, 3] : number[] +> : ^^^^^^^^ +>1 : 1 +> : ^ +>2 : 2 +> : ^ +>3 : 3 +> : ^ + + fns.push(() => ({ value })); +>fns.push(() => ({ value })) : number +> : ^^^^^^ +>fns.push : (...items: any[]) => number +> : ^^^^ ^^^^^^^^^^^^ +>fns : any[] +> : ^^^^^ +>push : (...items: any[]) => number +> : ^^^^ ^^^^^^^^^^^^ +>() => ({ value }) : () => { value: number; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>({ value }) : { value: number; } +> : ^^^^^^^^^^^^^^^^^^ +>{ value } : { value: number; } +> : ^^^^^^^^^^^^^^^^^^ +>value : number +> : ^^^^^^ +} +const result = fns.map(fn => fn()); +>result : any[] +> : ^^^^^ +>fns.map(fn => fn()) : any[] +> : ^^^^^ +>fns.map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] +> : ^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +>fns : any[] +> : ^^^^^ +>map : (callbackfn: (value: any, index: number, array: any[]) => U, thisArg?: any) => U[] +> : ^ ^^ ^^^ ^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ +>fn => fn() : (fn: any) => any +> : ^ ^^^^^^^^^^^^^ +>fn : any +>fn() : any +>fn : any + +console.log(result) +>console.log(result) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>result : any[] +> : ^^^^^ + diff --git a/tests/cases/compiler/capturedShorthandPropertyAssignmentNoCheck.ts b/tests/cases/compiler/capturedShorthandPropertyAssignmentNoCheck.ts new file mode 100644 index 00000000000..6046c379844 --- /dev/null +++ b/tests/cases/compiler/capturedShorthandPropertyAssignmentNoCheck.ts @@ -0,0 +1,8 @@ +// @target: es5 + +const fns = []; +for (const value of [1, 2, 3]) { + fns.push(() => ({ value })); +} +const result = fns.map(fn => fn()); +console.log(result) From 0206f9fa6e21f57fd56621fb795117b877d6b75b Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 16 Jul 2024 13:46:38 -0700 Subject: [PATCH 18/89] Mark `jsxFactorySymbol` as referenced for noUnusedLocals even in verbatimModuleSyntax (#59193) --- src/compiler/checker.ts | 2 +- .../compiler/verbatimModuleSyntaxReactReference.ts | 14 ++++++++++++++ 2 files changed, 15 insertions(+), 1 deletion(-) create mode 100644 tests/cases/compiler/verbatimModuleSyntaxReactReference.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 5f76420d34e..945caeac31f 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -33322,7 +33322,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { checkJsxPreconditions(node); - markLinkedReferences(node, ReferenceHint.Jsx); + markJsxAliasReferenced(node); if (isNodeOpeningLikeElement) { const jsxOpeningLikeNode = node; diff --git a/tests/cases/compiler/verbatimModuleSyntaxReactReference.ts b/tests/cases/compiler/verbatimModuleSyntaxReactReference.ts new file mode 100644 index 00000000000..e3fcf1d3400 --- /dev/null +++ b/tests/cases/compiler/verbatimModuleSyntaxReactReference.ts @@ -0,0 +1,14 @@ +// @module: preserve +// @verbatimModuleSyntax: true +// @jsx: react +// @noEmit: true +// @noUnusedLocals: true +// @noTypesAndSymbols: true + +// @Filename: react.d.ts +declare module 'react'; + +// @Filename: index.tsx +import React from 'react'; + +export const build =
hello
; From 66a762f59dd7a9df08d3fc684df90616be10aaef Mon Sep 17 00:00:00 2001 From: Isabel Duan Date: Tue, 16 Jul 2024 13:50:17 -0700 Subject: [PATCH 19/89] `visitNodesWithoutCopyingPositions` always makes a new `NodeArray` (#59137) --- src/compiler/checker.ts | 2 +- tests/cases/fourslash/nodeArrayCloneCrash.ts | 38 ++++++++++++++++++++ 2 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/nodeArrayCloneCrash.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 945caeac31f..86702764c95 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8966,7 +8966,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (result) { if (result.pos !== -1 || result.end !== -1) { if (result === nodes) { - result = factory.createNodeArray(nodes, nodes.hasTrailingComma); + result = factory.createNodeArray(nodes.slice(), nodes.hasTrailingComma); } setTextRangePosEnd(result, -1, -1); } diff --git a/tests/cases/fourslash/nodeArrayCloneCrash.ts b/tests/cases/fourslash/nodeArrayCloneCrash.ts new file mode 100644 index 00000000000..d18a2d7bf8f --- /dev/null +++ b/tests/cases/fourslash/nodeArrayCloneCrash.ts @@ -0,0 +1,38 @@ +/// + +// @module: preserve + +// @Filename: /TLLineShape.ts +//// import { createShapePropsMigrationIds } from "./TLShape"; +//// createShapePropsMigrationIds/**/ + +// @Filename: /TLShape.ts +//// import { T } from "@tldraw/validate"; +//// +//// /** +//// * @public +//// */ +//// export function createShapePropsMigrationIds(): { [k in keyof T]: any } { +//// return; +//// } + +verify.completions({ + marker: "", + includes: [ + { + name: "createShapePropsMigrationIds", + text: "(alias) function createShapePropsMigrationIds(): { [k in keyof T]: any; }\nimport createShapePropsMigrationIds", + tags: [{ name: "public", text: undefined }] + } + ] +}); + +goTo.file("/TLShape.ts"); +verify.organizeImports( +` +/** + * @public + */ +export function createShapePropsMigrationIds(): { [k in keyof T]: any } { + return; +}`); \ No newline at end of file From bf39eccee6cd31d8c57fc080cc568628a6a8d35f Mon Sep 17 00:00:00 2001 From: "Oleksandr T." Date: Wed, 17 Jul 2024 00:02:39 +0300 Subject: [PATCH 20/89] fix(59304): Convert to ESM uses template strings instead of string literals (#59306) --- src/services/codefixes/requireInTs.ts | 22 +++++++++++++------- tests/cases/fourslash/codeFixRequireInTs4.ts | 10 +++++++++ tests/cases/fourslash/codeFixRequireInTs5.ts | 8 +++++++ 3 files changed, 32 insertions(+), 8 deletions(-) create mode 100644 tests/cases/fourslash/codeFixRequireInTs4.ts create mode 100644 tests/cases/fourslash/codeFixRequireInTs5.ts diff --git a/src/services/codefixes/requireInTs.ts b/src/services/codefixes/requireInTs.ts index f087722dbb0..500a88aad89 100644 --- a/src/services/codefixes/requireInTs.ts +++ b/src/services/codefixes/requireInTs.ts @@ -10,10 +10,12 @@ import { factory, first, getAllowSyntheticDefaultImports, + getQuotePreference, getTokenAtPosition, Identifier, ImportSpecifier, isIdentifier, + isNoSubstitutionTemplateLiteral, isObjectBindingPattern, isRequireCall, isVariableDeclaration, @@ -21,10 +23,12 @@ import { NamedImports, ObjectBindingPattern, Program, + QuotePreference, SourceFile, StringLiteralLike, textChanges, tryCast, + UserPreferences, VariableStatement, } from "../_namespaces/ts.js"; @@ -33,7 +37,7 @@ const errorCodes = [Diagnostics.require_call_may_be_converted_to_an_import.code] registerCodeFix({ errorCodes, getCodeActions(context) { - const info = getInfo(context.sourceFile, context.program, context.span.start); + const info = getInfo(context.sourceFile, context.program, context.span.start, context.preferences); if (!info) { return undefined; } @@ -43,7 +47,7 @@ registerCodeFix({ fixIds: [fixId], getAllCodeActions: context => codeFixAll(context, errorCodes, (changes, diag) => { - const info = getInfo(diag.file, context.program, diag.start); + const info = getInfo(diag.file, context.program, diag.start, context.preferences); if (info) { doChange(changes, context.sourceFile, info); } @@ -51,13 +55,13 @@ registerCodeFix({ }); function doChange(changes: textChanges.ChangeTracker, sourceFile: SourceFile, info: Info) { - const { allowSyntheticDefaults, defaultImportName, namedImports, statement, required } = info; + const { allowSyntheticDefaults, defaultImportName, namedImports, statement, moduleSpecifier } = info; changes.replaceNode( sourceFile, statement, defaultImportName && !allowSyntheticDefaults - ? factory.createImportEqualsDeclaration(/*modifiers*/ undefined, /*isTypeOnly*/ false, defaultImportName, factory.createExternalModuleReference(required)) - : factory.createImportDeclaration(/*modifiers*/ undefined, factory.createImportClause(/*isTypeOnly*/ false, defaultImportName, namedImports), required, /*attributes*/ undefined), + ? factory.createImportEqualsDeclaration(/*modifiers*/ undefined, /*isTypeOnly*/ false, defaultImportName, factory.createExternalModuleReference(moduleSpecifier)) + : factory.createImportDeclaration(/*modifiers*/ undefined, factory.createImportClause(/*isTypeOnly*/ false, defaultImportName, namedImports), moduleSpecifier, /*attributes*/ undefined), ); } @@ -66,25 +70,27 @@ interface Info { readonly defaultImportName: Identifier | undefined; readonly namedImports: NamedImports | undefined; readonly statement: VariableStatement; - readonly required: StringLiteralLike; + readonly moduleSpecifier: StringLiteralLike; } -function getInfo(sourceFile: SourceFile, program: Program, pos: number): Info | undefined { +function getInfo(sourceFile: SourceFile, program: Program, pos: number, preferences: UserPreferences): Info | undefined { const { parent } = getTokenAtPosition(sourceFile, pos); if (!isRequireCall(parent, /*requireStringLiteralLikeArgument*/ true)) { Debug.failBadSyntaxKind(parent); } const decl = cast(parent.parent, isVariableDeclaration); + const quotePreference = getQuotePreference(sourceFile, preferences); const defaultImportName = tryCast(decl.name, isIdentifier); const namedImports = isObjectBindingPattern(decl.name) ? tryCreateNamedImportsFromObjectBindingPattern(decl.name) : undefined; if (defaultImportName || namedImports) { + const moduleSpecifier = first(parent.arguments); return { allowSyntheticDefaults: getAllowSyntheticDefaultImports(program.getCompilerOptions()), defaultImportName, namedImports, statement: cast(decl.parent.parent, isVariableStatement), - required: first(parent.arguments), + moduleSpecifier: isNoSubstitutionTemplateLiteral(moduleSpecifier) ? factory.createStringLiteral(moduleSpecifier.text, quotePreference === QuotePreference.Single) : moduleSpecifier, }; } } diff --git a/tests/cases/fourslash/codeFixRequireInTs4.ts b/tests/cases/fourslash/codeFixRequireInTs4.ts new file mode 100644 index 00000000000..85a7ccb2a3c --- /dev/null +++ b/tests/cases/fourslash/codeFixRequireInTs4.ts @@ -0,0 +1,10 @@ +/// + +// @Filename: /a.ts +////const foo = require(`foo`); + +verify.codeFix({ + description: ts.Diagnostics.Convert_require_to_import.message, + newFileContent: 'import foo = require("foo");', +}); + diff --git a/tests/cases/fourslash/codeFixRequireInTs5.ts b/tests/cases/fourslash/codeFixRequireInTs5.ts new file mode 100644 index 00000000000..8a45cf9a1ec --- /dev/null +++ b/tests/cases/fourslash/codeFixRequireInTs5.ts @@ -0,0 +1,8 @@ +/// + +// @Filename: /a.ts +////const a = 1; +////const b = 2; +////const foo = require(`foo${a}${b}`); + +verify.not.codeFixAvailable(); From f37482cd16118409284e015409deaf14b416b4a0 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Tue, 16 Jul 2024 16:01:33 -0700 Subject: [PATCH 21/89] Always watch package jsons for the sourceFile (#59311) --- src/compiler/resolutionCache.ts | 3 +- .../unittests/tscWatch/moduleResolution.ts | 71 ++++ ...-reference-resolutions-with-impliedMode.js | 326 ++++++++++++++++++ 3 files changed, 398 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/tscWatch/moduleResolution/type-reference-resolutions-with-impliedMode.js diff --git a/src/compiler/resolutionCache.ts b/src/compiler/resolutionCache.ts index 1406742f7bb..65c41be92f8 100644 --- a/src/compiler/resolutionCache.ts +++ b/src/compiler/resolutionCache.ts @@ -38,7 +38,6 @@ import { isDiskPathRoot, isEmittedFileOfProgram, isExternalModuleNameRelative, - isExternalOrCommonJsModule, isNodeModulesDirectory, isRootedDiskPath, isTraceEnabled, @@ -779,7 +778,7 @@ export function createResolutionCache(resolutionHost: ResolutionCacheHost, rootD if (newProgram !== oldProgram) { cleanupLibResolutionWatching(newProgram); newProgram?.getSourceFiles().forEach(newFile => { - const expected = isExternalOrCommonJsModule(newFile) ? newFile.packageJsonLocations?.length ?? 0 : 0; + const expected = newFile.packageJsonLocations?.length ?? 0; const existing = impliedFormatPackageJsons.get(newFile.resolvedPath) ?? emptyArray; for (let i = existing.length; i < expected; i++) { createFileWatcherOfAffectingLocation(newFile.packageJsonLocations![i], /*forResolution*/ false); diff --git a/src/testRunner/unittests/tscWatch/moduleResolution.ts b/src/testRunner/unittests/tscWatch/moduleResolution.ts index 1fcc87fc3ed..f8abc35a153 100644 --- a/src/testRunner/unittests/tscWatch/moduleResolution.ts +++ b/src/testRunner/unittests/tscWatch/moduleResolution.ts @@ -1,3 +1,8 @@ +import { + ModuleDetectionKind, + ModuleKind, + ModuleResolutionKind, +} from "../../_namespaces/ts.js"; import * as Utils from "../../_namespaces/Utils.js"; import { jsonToReadableText } from "../helpers.js"; import { @@ -6,6 +11,7 @@ import { getFsContentsForAlternateResultDts, getFsContentsForAlternateResultPackageJson, } from "../helpers/alternateResult.js"; +import { compilerOptionsToConfigJson } from "../helpers/contents.js"; import { verifyTscWatch } from "../helpers/tscWatch.js"; import { createWatchedSystem, @@ -712,4 +718,69 @@ describe("unittests:: tsc-watch:: moduleResolution::", () => { }, ], }); + + verifyTscWatch({ + scenario: "moduleResolution", + subScenario: "type reference resolutions with impliedMode", + sys: () => + createWatchedSystem({ + "/user/username/projects/myproject/package.json": jsonToReadableText({ + name: "myproject", + version: "1.0.0", + type: "module", + }), + "/user/username/projects/myproject/tsconfig.json": jsonToReadableText({ + compilerOptions: compilerOptionsToConfigJson({ + moduleResolution: ModuleResolutionKind.Node16, + module: ModuleKind.Node16, + moduleDetection: ModuleDetectionKind.Legacy, + types: [], + }), + }), + "/user/username/projects/myproject/index.ts": Utils.dedent` + /// + interface LocalInterface extends RequireInterface {} + `, + "/user/username/projects/myproject/node_modules/@types/pkg/package.json": jsonToReadableText({ + name: "pkg", + version: "0.0.1", + exports: { + import: "./import.js", + require: "./require.js", + }, + }), + "/user/username/projects/myproject/node_modules/@types/pkg/import.d.ts": Utils.dedent` + export {}; + declare global { + interface ImportInterface {} + } + `, + "/user/username/projects/myproject/node_modules/@types/pkg/require.d.ts": Utils.dedent` + export {}; + declare global { + interface RequireInterface {} + } + `, + [libFile.path]: libFile.content, + ["/a/lib/lib.es2022.full.d.ts"]: libFile.content, + }, { currentDirectory: "/user/username/projects/myproject" }), + commandLineArgs: ["-w", "--traceResolution", "--explainFiles"], + edits: [ + { + caption: "Modify package json", + edit: sys => + sys.prependFile( + "/user/username/projects/myproject/package.json", + jsonToReadableText({ + name: "myproject", + version: "1.0.0", + }), + ), + timeouts: sys => { + sys.runQueuedTimeoutCallbacks(); + sys.runQueuedTimeoutCallbacks(); + }, + }, + ], + }); }); diff --git a/tests/baselines/reference/tscWatch/moduleResolution/type-reference-resolutions-with-impliedMode.js b/tests/baselines/reference/tscWatch/moduleResolution/type-reference-resolutions-with-impliedMode.js new file mode 100644 index 00000000000..f52d139d34a --- /dev/null +++ b/tests/baselines/reference/tscWatch/moduleResolution/type-reference-resolutions-with-impliedMode.js @@ -0,0 +1,326 @@ +currentDirectory:: /user/username/projects/myproject useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/myproject/package.json] +{ + "name": "myproject", + "version": "1.0.0", + "type": "module" +} + +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "moduleResolution": "node16", + "module": "node16", + "moduleDetection": "legacy", + "types": [] + } +} + +//// [/user/username/projects/myproject/index.ts] +/// +interface LocalInterface extends RequireInterface {} + + +//// [/user/username/projects/myproject/node_modules/@types/pkg/package.json] +{ + "name": "pkg", + "version": "0.0.1", + "exports": { + "import": "./import.js", + "require": "./require.js" + } +} + +//// [/user/username/projects/myproject/node_modules/@types/pkg/import.d.ts] +export {}; +declare global { + interface ImportInterface {} +} + + +//// [/user/username/projects/myproject/node_modules/@types/pkg/require.d.ts] +export {}; +declare global { + interface RequireInterface {} +} + + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + +//// [/a/lib/lib.es2022.full.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +/a/lib/tsc.js -w --traceResolution --explainFiles +Output:: +>> Screen clear +[HH:MM:SS AM] Starting compilation in watch mode... + +Found 'package.json' at '/user/username/projects/myproject/package.json'. +======== Resolving type reference directive 'pkg', containing file '/user/username/projects/myproject/index.ts', root directory '/user/username/projects/myproject/node_modules/@types,/user/username/projects/node_modules/@types,/user/username/node_modules/@types,/user/node_modules/@types,/node_modules/@types'. ======== +Resolving with primary search path '/user/username/projects/myproject/node_modules/@types, /user/username/projects/node_modules/@types, /user/username/node_modules/@types, /user/node_modules/@types, /node_modules/@types'. +Found 'package.json' at '/user/username/projects/myproject/node_modules/@types/pkg/package.json'. +'package.json' does not have a 'typesVersions' field. +'package.json' does not have a 'typings' field. +'package.json' does not have a 'types' field. +'package.json' does not have a 'main' field. +Directory '/user/username/projects/node_modules/@types' does not exist, skipping all lookups in it. +Directory '/user/username/node_modules/@types' does not exist, skipping all lookups in it. +Directory '/user/node_modules/@types' does not exist, skipping all lookups in it. +Directory '/node_modules/@types' does not exist, skipping all lookups in it. +Looking up in 'node_modules' folder, initial location '/user/username/projects/myproject'. +Searching all ancestor node_modules directories for preferred extensions: Declaration. +File '/user/username/projects/myproject/node_modules/@types/pkg/package.json' exists according to earlier cached lookups. +Entering conditional exports. +Matched 'exports' condition 'import'. +Using 'exports' subpath '.' with target './import.js'. +File name '/user/username/projects/myproject/node_modules/@types/pkg/import.js' has a '.js' extension - stripping it. +File '/user/username/projects/myproject/node_modules/@types/pkg/import.d.ts' exists - use it as a name resolution result. +'package.json' does not have a 'peerDependencies' field. +Resolved under condition 'import'. +Exiting conditional exports. +Resolving real path for '/user/username/projects/myproject/node_modules/@types/pkg/import.d.ts', result '/user/username/projects/myproject/node_modules/@types/pkg/import.d.ts'. +======== Type reference directive 'pkg' was successfully resolved to '/user/username/projects/myproject/node_modules/@types/pkg/import.d.ts' with Package ID 'pkg/import.d.ts@0.0.1', primary: false. ======== +File '/user/username/projects/myproject/node_modules/@types/pkg/package.json' exists according to earlier cached lookups. +File '/a/lib/package.json' does not exist. +File '/a/package.json' does not exist. +File '/package.json' does not exist. +index.ts:2:34 - error TS2304: Cannot find name 'RequireInterface'. + +2 interface LocalInterface extends RequireInterface {} +   ~~~~~~~~~~~~~~~~ + +../../../../a/lib/lib.es2022.full.d.ts + Default library for target 'es2022' +node_modules/@types/pkg/import.d.ts + Type library referenced via 'pkg' from file 'index.ts' with packageId 'pkg/import.d.ts@0.0.1' + File is CommonJS module because 'node_modules/@types/pkg/package.json' does not have field "type" +index.ts + Matched by default include pattern '**/*' +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + +//// [/user/username/projects/myproject/index.js] +/// + + + +PolledWatches:: +/user/username/projects/node_modules: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.es2022.full.d.ts: *new* + {} +/user/username/projects/myproject/index.ts: *new* + {} +/user/username/projects/myproject/node_modules/@types/pkg/import.d.ts: *new* + {} +/user/username/projects/myproject/node_modules/@types/pkg/package.json: *new* + {} +/user/username/projects/myproject/package.json: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} +/user/username/projects/myproject/node_modules: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/index.ts" +] +Program options: { + "moduleResolution": 3, + "module": 100, + "moduleDetection": 1, + "types": [], + "watch": true, + "traceResolution": true, + "explainFiles": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.es2022.full.d.ts +/user/username/projects/myproject/node_modules/@types/pkg/import.d.ts +/user/username/projects/myproject/index.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.es2022.full.d.ts +/user/username/projects/myproject/node_modules/@types/pkg/import.d.ts +/user/username/projects/myproject/index.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.es2022.full.d.ts (used version) +/user/username/projects/myproject/node_modules/@types/pkg/import.d.ts (used version) +/user/username/projects/myproject/index.ts (used version) + +exitCode:: ExitStatus.undefined + +Change:: Modify package json + +Input:: +//// [/user/username/projects/myproject/package.json] +{ + "name": "myproject", + "version": "1.0.0" +}{ + "name": "myproject", + "version": "1.0.0", + "type": "module" +} + + +Timeout callback:: count: 1 +1: timerToInvalidateFailedLookupResolutions *new* + +Before running Timeout callback:: count: 1 +1: timerToInvalidateFailedLookupResolutions + +Host is moving to new time +After running Timeout callback:: count: 1 + +Timeout callback:: count: 1 +2: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +2: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +>> Screen clear +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/myproject/node_modules/@types/pkg/package.json' exists according to earlier cached lookups. +Found 'package.json' at '/user/username/projects/myproject/package.json'. +File '/user/username/projects/myproject/package.json' exists according to earlier cached lookups. +======== Resolving type reference directive 'pkg', containing file '/user/username/projects/myproject/index.ts', root directory '/user/username/projects/myproject/node_modules/@types,/user/username/projects/node_modules/@types,/user/username/node_modules/@types,/user/node_modules/@types,/node_modules/@types'. ======== +Resolving with primary search path '/user/username/projects/myproject/node_modules/@types, /user/username/projects/node_modules/@types, /user/username/node_modules/@types, /user/node_modules/@types, /node_modules/@types'. +File '/user/username/projects/myproject/node_modules/@types/pkg/package.json' exists according to earlier cached lookups. +'package.json' does not have a 'typings' field. +'package.json' does not have a 'types' field. +'package.json' does not have a 'main' field. +File '/user/username/projects/myproject/node_modules/@types/pkg/index.d.ts' does not exist. +Directory '/user/username/projects/node_modules/@types' does not exist, skipping all lookups in it. +Directory '/user/username/node_modules/@types' does not exist, skipping all lookups in it. +Directory '/user/node_modules/@types' does not exist, skipping all lookups in it. +Directory '/node_modules/@types' does not exist, skipping all lookups in it. +Looking up in 'node_modules' folder, initial location '/user/username/projects/myproject'. +Searching all ancestor node_modules directories for preferred extensions: Declaration. +File '/user/username/projects/myproject/node_modules/pkg.d.ts' does not exist. +File '/user/username/projects/myproject/node_modules/@types/pkg/package.json' exists according to earlier cached lookups. +Entering conditional exports. +Saw non-matching condition 'import'. +Matched 'exports' condition 'require'. +Using 'exports' subpath '.' with target './require.js'. +File name '/user/username/projects/myproject/node_modules/@types/pkg/require.js' has a '.js' extension - stripping it. +File '/user/username/projects/myproject/node_modules/@types/pkg/require.d.ts' exists - use it as a name resolution result. +Resolved under condition 'require'. +Exiting conditional exports. +Resolving real path for '/user/username/projects/myproject/node_modules/@types/pkg/require.d.ts', result '/user/username/projects/myproject/node_modules/@types/pkg/require.d.ts'. +======== Type reference directive 'pkg' was successfully resolved to '/user/username/projects/myproject/node_modules/@types/pkg/require.d.ts' with Package ID 'pkg/require.d.ts@0.0.1', primary: false. ======== +File '/user/username/projects/myproject/node_modules/@types/pkg/package.json' exists according to earlier cached lookups. +File '/a/lib/package.json' does not exist according to earlier cached lookups. +File '/a/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +../../../../a/lib/lib.es2022.full.d.ts + Default library for target 'es2022' +node_modules/@types/pkg/require.d.ts + Type library referenced via 'pkg' from file 'index.ts' with packageId 'pkg/require.d.ts@0.0.1' + File is CommonJS module because 'node_modules/@types/pkg/package.json' does not have field "type" +index.ts + Matched by default include pattern '**/*' +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + + + +//// [/user/username/projects/myproject/index.js] file written with same contents + +PolledWatches:: +/user/username/projects/node_modules: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.es2022.full.d.ts: + {} +/user/username/projects/myproject/index.ts: + {} +/user/username/projects/myproject/node_modules/@types/pkg/package.json: + {} +/user/username/projects/myproject/node_modules/@types/pkg/require.d.ts: *new* + {} +/user/username/projects/myproject/package.json: + {} +/user/username/projects/myproject/tsconfig.json: + {} + +FsWatches *deleted*:: +/user/username/projects/myproject/node_modules/@types/pkg/import.d.ts: + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: + {} +/user/username/projects/myproject/node_modules: + {} + + +Program root files: [ + "/user/username/projects/myproject/index.ts" +] +Program options: { + "moduleResolution": 3, + "module": 100, + "moduleDetection": 1, + "types": [], + "watch": true, + "traceResolution": true, + "explainFiles": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: SafeModules +Program files:: +/a/lib/lib.es2022.full.d.ts +/user/username/projects/myproject/node_modules/@types/pkg/require.d.ts +/user/username/projects/myproject/index.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.es2022.full.d.ts +/user/username/projects/myproject/node_modules/@types/pkg/require.d.ts +/user/username/projects/myproject/index.ts + +Shape signatures in builder refreshed for:: +/user/username/projects/myproject/node_modules/@types/pkg/require.d.ts (used version) +/user/username/projects/myproject/index.ts (computed .d.ts) + +exitCode:: ExitStatus.undefined From a9139bfdfea154dfa9cc97f465c933ee02b3fcfa Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 17 Jul 2024 09:23:51 -0700 Subject: [PATCH 22/89] Only look up package.json type if module is node16/nodenext or file is in node_modules (#58825) Co-authored-by: Jake Bailey <5341706+jakebailey@users.noreply.github.com> --- src/compiler/_namespaces/ts.ts | 2 +- src/compiler/checker.ts | 97 ++++++---- src/compiler/diagnosticMessages.json | 4 + src/compiler/emitter.ts | 3 + src/compiler/factory/utilities.ts | 8 +- src/compiler/moduleSpecifiers.ts | 37 ++-- src/compiler/program.ts | 170 ++++++++++++++--- src/compiler/transformer.ts | 18 +- ...{node.ts => impliedNodeFormatDependent.ts} | 9 +- src/compiler/transformers/module/module.ts | 2 +- src/compiler/types.ts | 91 ++++++++- src/compiler/utilities.ts | 44 ++++- src/compiler/watch.ts | 6 +- src/services/codefixes/importFixes.ts | 48 +++-- src/services/completions.ts | 12 +- src/services/exportInfoMap.ts | 22 ++- src/services/stringCompletions.ts | 72 ++++--- src/services/suggestionDiagnostics.ts | 2 +- src/services/utilities.ts | 44 ++--- .../unittests/tsc/projectReferences.ts | 45 +++++ tests/baselines/reference/api/typescript.d.ts | 111 ++++++++--- ...lback(moduleresolution=bundler).errors.txt | 29 --- ...esolvepackagejsonexports=false).errors.txt | 31 --- ...itions(resolvepackagejsonexports=false).js | 2 - ...resolvepackagejsonexports=true).errors.txt | 31 --- ...ditions(resolvepackagejsonexports=true).js | 2 - ...lpersWithLocalCollisions(module=node16).js | 7 +- ...ersWithLocalCollisions(module=nodenext).js | 7 +- .../esmNoSynthesizedDefault(module=esnext).js | 25 +++ ...oSynthesizedDefault(module=esnext).symbols | 33 ++++ ...mNoSynthesizedDefault(module=esnext).types | 56 ++++++ ...smNoSynthesizedDefault(module=preserve).js | 25 +++ ...ynthesizedDefault(module=preserve).symbols | 33 ++++ ...oSynthesizedDefault(module=preserve).types | 56 ++++++ ...liedNodeFormatEmit1(module=amd).errors.txt | 37 ++++ .../impliedNodeFormatEmit1(module=amd).js | 98 ++++++++++ ...odeFormatEmit1(module=commonjs).errors.txt | 37 ++++ ...impliedNodeFormatEmit1(module=commonjs).js | 78 ++++++++ ...dNodeFormatEmit1(module=esnext).errors.txt | 44 +++++ .../impliedNodeFormatEmit1(module=esnext).js | 56 ++++++ ...impliedNodeFormatEmit1(module=preserve).js | 52 +++++ ...dNodeFormatEmit1(module=system).errors.txt | 39 ++++ .../impliedNodeFormatEmit1(module=system).js | 148 +++++++++++++++ ...liedNodeFormatEmit1(module=umd).errors.txt | 39 ++++ .../impliedNodeFormatEmit1(module=umd).js | 178 ++++++++++++++++++ ...odeFormatEmit2(module=commonjs).errors.txt | 40 ++++ ...impliedNodeFormatEmit2(module=commonjs).js | 81 ++++++++ ...dNodeFormatEmit2(module=esnext).errors.txt | 47 +++++ .../impliedNodeFormatEmit2(module=esnext).js | 59 ++++++ ...impliedNodeFormatEmit2(module=preserve).js | 55 ++++++ ...odeFormatEmit3(module=commonjs).errors.txt | 42 +++++ ...impliedNodeFormatEmit3(module=commonjs).js | 83 ++++++++ ...dNodeFormatEmit3(module=esnext).errors.txt | 49 +++++ .../impliedNodeFormatEmit3(module=esnext).js | 61 ++++++ ...impliedNodeFormatEmit3(module=preserve).js | 57 ++++++ ...odeFormatEmit4(module=commonjs).errors.txt | 42 +++++ ...impliedNodeFormatEmit4(module=commonjs).js | 83 ++++++++ ...dNodeFormatEmit4(module=esnext).errors.txt | 49 +++++ .../impliedNodeFormatEmit4(module=esnext).js | 61 ++++++ ...impliedNodeFormatEmit4(module=preserve).js | 57 ++++++ .../reference/impliedNodeFormatInterop1.js | 30 +++ .../impliedNodeFormatInterop1.symbols | 37 ++++ .../reference/impliedNodeFormatInterop1.types | 49 +++++ .../reference/modulePreserve4.errors.txt | 3 + tests/baselines/reference/modulePreserve4.js | 7 + .../reference/modulePreserve4.symbols | 8 + .../baselines/reference/modulePreserve4.types | 17 ++ ...irect(moduleresolution=bundler).trace.json | 2 +- ...tionEmitDynamicImportWithPackageExports.js | 4 +- .../reference/nodeNextModuleResolution1.js | 3 +- .../reference/nodeNextModuleResolution2.js | 3 +- ...stic1(moduleresolution=bundler).errors.txt | 2 - .../tsc/moduleResolution/alternateResult.js | 2 +- ...nterop-uses-referenced-project-settings.js | 95 ++++++++++ .../with-nodeNext-resolution.js | 2 - .../moduleResolution/alternateResult.js | 2 +- .../diagnostics-from-cache.js | 12 +- ...letionsImport_jsModuleExportsAssignment.js | 30 ++- .../moduleResolution/alternateResult.js | 14 -- .../cases/compiler/esmNoSynthesizedDefault.ts | 18 ++ .../cases/compiler/impliedNodeFormatEmit1.ts | 39 ++++ .../cases/compiler/impliedNodeFormatEmit2.ts | 42 +++++ .../cases/compiler/impliedNodeFormatEmit3.ts | 44 +++++ .../cases/compiler/impliedNodeFormatEmit4.ts | 44 +++++ .../compiler/impliedNodeFormatInterop1.ts | 27 +++ tests/cases/compiler/modulePreserve4.ts | 3 + .../conditionalExportsResolutionFallback.ts | 1 + .../moduleResolution/customConditions.ts | 1 + .../resolvesWithoutExportsDiagnostic1.ts | 1 + .../completionsImport_reExportDefault2.ts | 39 ++++ 90 files changed, 3082 insertions(+), 355 deletions(-) rename src/compiler/transformers/module/{node.ts => impliedNodeFormatDependent.ts} (84%) delete mode 100644 tests/baselines/reference/conditionalExportsResolutionFallback(moduleresolution=bundler).errors.txt delete mode 100644 tests/baselines/reference/customConditions(resolvepackagejsonexports=false).errors.txt delete mode 100644 tests/baselines/reference/customConditions(resolvepackagejsonexports=true).errors.txt create mode 100644 tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).js create mode 100644 tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).symbols create mode 100644 tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types create mode 100644 tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).js create mode 100644 tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).symbols create mode 100644 tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types create mode 100644 tests/baselines/reference/impliedNodeFormatEmit1(module=amd).errors.txt create mode 100644 tests/baselines/reference/impliedNodeFormatEmit1(module=amd).js create mode 100644 tests/baselines/reference/impliedNodeFormatEmit1(module=commonjs).errors.txt create mode 100644 tests/baselines/reference/impliedNodeFormatEmit1(module=commonjs).js create mode 100644 tests/baselines/reference/impliedNodeFormatEmit1(module=esnext).errors.txt create mode 100644 tests/baselines/reference/impliedNodeFormatEmit1(module=esnext).js create mode 100644 tests/baselines/reference/impliedNodeFormatEmit1(module=preserve).js create mode 100644 tests/baselines/reference/impliedNodeFormatEmit1(module=system).errors.txt create mode 100644 tests/baselines/reference/impliedNodeFormatEmit1(module=system).js create mode 100644 tests/baselines/reference/impliedNodeFormatEmit1(module=umd).errors.txt create mode 100644 tests/baselines/reference/impliedNodeFormatEmit1(module=umd).js create mode 100644 tests/baselines/reference/impliedNodeFormatEmit2(module=commonjs).errors.txt create mode 100644 tests/baselines/reference/impliedNodeFormatEmit2(module=commonjs).js create mode 100644 tests/baselines/reference/impliedNodeFormatEmit2(module=esnext).errors.txt create mode 100644 tests/baselines/reference/impliedNodeFormatEmit2(module=esnext).js create mode 100644 tests/baselines/reference/impliedNodeFormatEmit2(module=preserve).js create mode 100644 tests/baselines/reference/impliedNodeFormatEmit3(module=commonjs).errors.txt create mode 100644 tests/baselines/reference/impliedNodeFormatEmit3(module=commonjs).js create mode 100644 tests/baselines/reference/impliedNodeFormatEmit3(module=esnext).errors.txt create mode 100644 tests/baselines/reference/impliedNodeFormatEmit3(module=esnext).js create mode 100644 tests/baselines/reference/impliedNodeFormatEmit3(module=preserve).js create mode 100644 tests/baselines/reference/impliedNodeFormatEmit4(module=commonjs).errors.txt create mode 100644 tests/baselines/reference/impliedNodeFormatEmit4(module=commonjs).js create mode 100644 tests/baselines/reference/impliedNodeFormatEmit4(module=esnext).errors.txt create mode 100644 tests/baselines/reference/impliedNodeFormatEmit4(module=esnext).js create mode 100644 tests/baselines/reference/impliedNodeFormatEmit4(module=preserve).js create mode 100644 tests/baselines/reference/impliedNodeFormatInterop1.js create mode 100644 tests/baselines/reference/impliedNodeFormatInterop1.symbols create mode 100644 tests/baselines/reference/impliedNodeFormatInterop1.types create mode 100644 tests/baselines/reference/tsc/projectReferences/default-import-interop-uses-referenced-project-settings.js create mode 100644 tests/cases/compiler/esmNoSynthesizedDefault.ts create mode 100644 tests/cases/compiler/impliedNodeFormatEmit1.ts create mode 100644 tests/cases/compiler/impliedNodeFormatEmit2.ts create mode 100644 tests/cases/compiler/impliedNodeFormatEmit3.ts create mode 100644 tests/cases/compiler/impliedNodeFormatEmit4.ts create mode 100644 tests/cases/compiler/impliedNodeFormatInterop1.ts create mode 100644 tests/cases/fourslash/completionsImport_reExportDefault2.ts diff --git a/src/compiler/_namespaces/ts.ts b/src/compiler/_namespaces/ts.ts index cd755a0baed..94fb16857d3 100644 --- a/src/compiler/_namespaces/ts.ts +++ b/src/compiler/_namespaces/ts.ts @@ -54,7 +54,7 @@ export * from "../transformers/generators.js"; export * from "../transformers/module/module.js"; export * from "../transformers/module/system.js"; export * from "../transformers/module/esnextAnd2015.js"; -export * from "../transformers/module/node.js"; +export * from "../transformers/module/impliedNodeFormatDependent.js"; export * from "../transformers/declarations/diagnostics.js"; export * from "../transformers/declarations.js"; export * from "../transformer.js"; diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 86702764c95..cf4826eb1d8 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -60,6 +60,7 @@ import { canHaveJSDoc, canHaveLocals, canHaveModifiers, + canHaveModuleSpecifier, canHaveSymbol, canIncludeBindAndCheckDiagnostics, canUsePropertyAccess, @@ -3653,27 +3654,36 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { || isNamespaceExport(node)); } - function getUsageModeForExpression(usage: Expression) { - return isStringLiteralLike(usage) ? host.getModeForUsageLocation(getSourceFileOfNode(usage), usage) : undefined; + function getEmitSyntaxForModuleSpecifierExpression(usage: Expression) { + return isStringLiteralLike(usage) ? host.getEmitSyntaxForUsageLocation(getSourceFileOfNode(usage), usage) : undefined; } function isESMFormatImportImportingCommonjsFormatFile(usageMode: ResolutionMode, targetMode: ResolutionMode) { return usageMode === ModuleKind.ESNext && targetMode === ModuleKind.CommonJS; } - function isOnlyImportedAsDefault(usage: Expression) { - const usageMode = getUsageModeForExpression(usage); - return usageMode === ModuleKind.ESNext && endsWith((usage as StringLiteralLike).text, Extension.Json); + function isOnlyImportableAsDefault(usage: Expression) { + // In Node.js, JSON modules don't get named exports + if (ModuleKind.Node16 <= moduleKind && moduleKind <= ModuleKind.NodeNext) { + const usageMode = getEmitSyntaxForModuleSpecifierExpression(usage); + return usageMode === ModuleKind.ESNext && endsWith((usage as StringLiteralLike).text, Extension.Json); + } + return false; } function canHaveSyntheticDefault(file: SourceFile | undefined, moduleSymbol: Symbol, dontResolveAlias: boolean, usage: Expression) { - const usageMode = file && getUsageModeForExpression(usage); - if (file && usageMode !== undefined && ModuleKind.Node16 <= moduleKind && moduleKind <= ModuleKind.NodeNext) { - const result = isESMFormatImportImportingCommonjsFormatFile(usageMode, file.impliedNodeFormat); - if (usageMode === ModuleKind.ESNext || result) { - return result; + const usageMode = file && getEmitSyntaxForModuleSpecifierExpression(usage); + if (file && usageMode !== undefined) { + const targetMode = host.getImpliedNodeFormatForEmit(file); + if (usageMode === ModuleKind.ESNext && targetMode === ModuleKind.CommonJS && ModuleKind.Node16 <= moduleKind && moduleKind <= ModuleKind.NodeNext) { + // In Node.js, CommonJS modules always have a synthetic default when imported into ESM + return true; + } + if (usageMode === ModuleKind.ESNext && targetMode === ModuleKind.ESNext) { + // No matter what the `module` setting is, if we're confident that both files + // are ESM, there cannot be a synthetic default. + return false; } - // fallthrough on cjs usages so we imply defaults for interop'd imports, too } if (!allowSyntheticDefaultImports) { return false; @@ -3726,7 +3736,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (!specifier) { return exportDefaultSymbol; } - const hasDefaultOnly = isOnlyImportedAsDefault(specifier); + const hasDefaultOnly = isOnlyImportableAsDefault(specifier); const hasSyntheticDefault = canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, specifier); if (!exportDefaultSymbol && !hasSyntheticDefault && !hasDefaultOnly) { if (hasExportAssignmentSymbol(moduleSymbol) && !allowSyntheticDefaultImports) { @@ -3911,7 +3921,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { let symbolFromModule = getExportOfModule(targetSymbol, nameText, specifier, dontResolveAlias); if (symbolFromModule === undefined && nameText === InternalSymbolName.Default) { const file = moduleSymbol.declarations?.find(isSourceFile); - if (isOnlyImportedAsDefault(moduleSpecifier) || canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, moduleSpecifier)) { + if (isOnlyImportableAsDefault(moduleSpecifier) || canHaveSyntheticDefault(file, moduleSymbol, dontResolveAlias, moduleSpecifier)) { symbolFromModule = resolveExternalModuleSymbol(moduleSymbol, dontResolveAlias) || resolveSymbol(moduleSymbol, dontResolveAlias); } } @@ -4575,7 +4585,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { findAncestor(location, isImportDeclaration)?.moduleSpecifier || findAncestor(location, isExternalModuleImportEqualsDeclaration)?.moduleReference.expression || findAncestor(location, isExportDeclaration)?.moduleSpecifier; - const mode = contextSpecifier && isStringLiteralLike(contextSpecifier) ? host.getModeForUsageLocation(currentSourceFile, contextSpecifier) : currentSourceFile.impliedNodeFormat; + const mode = contextSpecifier && isStringLiteralLike(contextSpecifier) + ? host.getModeForUsageLocation(currentSourceFile, contextSpecifier) + : host.getDefaultResolutionModeForFile(currentSourceFile); const moduleResolutionKind = getEmitModuleResolutionKind(compilerOptions); const resolvedModule = host.getResolvedModule(currentSourceFile, moduleReference, mode)?.resolvedModule; const resolutionDiagnostic = errorNode && resolvedModule && getResolutionDiagnostic(compilerOptions, resolvedModule, currentSourceFile); @@ -4833,7 +4845,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } const targetFile = moduleSymbol?.declarations?.find(isSourceFile); - const isEsmCjsRef = targetFile && isESMFormatImportImportingCommonjsFormatFile(getUsageModeForExpression(reference), targetFile.impliedNodeFormat); + const isEsmCjsRef = targetFile && isESMFormatImportImportingCommonjsFormatFile(getEmitSyntaxForModuleSpecifierExpression(reference), host.getImpliedNodeFormatForEmit(targetFile)); if (getESModuleInterop(compilerOptions) || isEsmCjsRef) { let sigs = getSignaturesOfStructuredType(type, SignatureKind.Call); if (!sigs || !sigs.length) { @@ -7786,8 +7798,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } return getSourceFileOfNode(getNonAugmentationDeclaration(symbol)!).fileName; // A resolver may not be provided for baselines and errors - in those cases we use the fileName in full } + const enclosingDeclaration = getOriginalNode(context.enclosingDeclaration); + const originalModuleSpecifier = canHaveModuleSpecifier(enclosingDeclaration) ? tryGetModuleSpecifierFromDeclaration(enclosingDeclaration) : undefined; const contextFile = context.enclosingFile; - const resolutionMode = overrideImportMode || contextFile?.impliedNodeFormat; + const resolutionMode = overrideImportMode + || originalModuleSpecifier && host.getModeForUsageLocation(contextFile, originalModuleSpecifier) + || contextFile && host.getDefaultResolutionModeForFile(contextFile); const cacheKey = createModeAwareCacheKey(contextFile.path, resolutionMode); const links = getSymbolLinks(symbol); let specifier = links.specifierCache && links.specifierCache.get(cacheKey); @@ -36897,7 +36913,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function getTypeWithSyntheticDefaultOnly(type: Type, symbol: Symbol, originalSymbol: Symbol, moduleSpecifier: Expression) { - const hasDefaultOnly = isOnlyImportedAsDefault(moduleSpecifier); + const hasDefaultOnly = isOnlyImportableAsDefault(moduleSpecifier); if (hasDefaultOnly && type && !isErrorType(type)) { const synthType = type as SyntheticDefaultModuleType; if (!synthType.defaultOnlyType) { @@ -43483,7 +43499,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function checkCollisionWithRequireExportsInGeneratedCode(node: Node, name: Identifier | undefined) { // No need to check for require or exports for ES6 modules and later - if (moduleKind >= ModuleKind.ES2015 && !(moduleKind >= ModuleKind.Node16 && getSourceFileOfNode(node).impliedNodeFormat === ModuleKind.CommonJS)) { + if (host.getEmitModuleFormatOfFile(getSourceFileOfNode(node)) >= ModuleKind.ES2015) { return; } @@ -45372,7 +45388,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function checkClassNameCollisionWithObject(name: Identifier): void { if ( languageVersion >= ScriptTarget.ES5 && name.escapedText === "Object" - && (moduleKind < ModuleKind.ES2015 || getSourceFileOfNode(name).impliedNodeFormat === ModuleKind.CommonJS) + && host.getEmitModuleFormatOfFile(getSourceFileOfNode(name)) < ModuleKind.ES2015 ) { error(name, Diagnostics.Class_name_cannot_be_Object_when_targeting_ES5_with_module_0, ModuleKind[moduleKind]); // https://github.com/Microsoft/TypeScript/issues/17494 } @@ -46711,7 +46727,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if ( compilerOptions.verbatimModuleSyntax && node.parent.kind === SyntaxKind.SourceFile && - (moduleKind === ModuleKind.CommonJS || node.parent.impliedNodeFormat === ModuleKind.CommonJS) + host.getEmitModuleFormatOfFile(node.parent) === ModuleKind.CommonJS ) { const exportModifier = node.modifiers?.find(m => m.kind === SyntaxKind.ExportKeyword); if (exportModifier) { @@ -47003,10 +47019,22 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { compilerOptions.verbatimModuleSyntax && node.kind !== SyntaxKind.ImportEqualsDeclaration && !isInJSFile(node) && - (moduleKind === ModuleKind.CommonJS || getSourceFileOfNode(node).impliedNodeFormat === ModuleKind.CommonJS) + host.getEmitModuleFormatOfFile(getSourceFileOfNode(node)) === ModuleKind.CommonJS ) { error(node, Diagnostics.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled); } + else if ( + moduleKind === ModuleKind.Preserve && + node.kind !== SyntaxKind.ImportEqualsDeclaration && + node.kind !== SyntaxKind.VariableDeclaration && + host.getEmitModuleFormatOfFile(getSourceFileOfNode(node)) === ModuleKind.CommonJS + ) { + // In `--module preserve`, ESM input syntax emits ESM output syntax, but there will be times + // when we look at the `impliedNodeFormat` of this file and decide it's CommonJS (i.e., currently, + // only if the file extension is .cjs/.cts). To avoid that inconsistency, we disallow ESM syntax + // in files that are unambiguously CommonJS in this mode. + error(node, Diagnostics.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_module_is_set_to_preserve); + } } if (isImportSpecifier(node)) { @@ -47056,7 +47084,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if ( moduleExportNameIsDefault(node.propertyName || node.name) && getESModuleInterop(compilerOptions) && - moduleKind !== ModuleKind.System && (moduleKind < ModuleKind.ES2015 || getSourceFileOfNode(node).impliedNodeFormat === ModuleKind.CommonJS) + host.getEmitModuleFormatOfFile(getSourceFileOfNode(node)) < ModuleKind.System ) { checkExternalEmitHelpers(node, ExternalEmitHelpers.ImportDefault); } @@ -47078,7 +47106,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return; // Other grammar checks do not apply to type-only imports with resolution mode assertions } - const mode = (moduleKind === ModuleKind.NodeNext) && declaration.moduleSpecifier && getUsageModeForExpression(declaration.moduleSpecifier); + const mode = (moduleKind === ModuleKind.NodeNext) && declaration.moduleSpecifier && getEmitSyntaxForModuleSpecifierExpression(declaration.moduleSpecifier); if (mode !== ModuleKind.ESNext && moduleKind !== ModuleKind.ESNext && moduleKind !== ModuleKind.Preserve) { const message = isImportAttributes ? moduleKind === ModuleKind.NodeNext @@ -47122,7 +47150,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (importClause.namedBindings) { if (importClause.namedBindings.kind === SyntaxKind.NamespaceImport) { checkImportBinding(importClause.namedBindings); - if (moduleKind !== ModuleKind.System && (moduleKind < ModuleKind.ES2015 || getSourceFileOfNode(node).impliedNodeFormat === ModuleKind.CommonJS) && getESModuleInterop(compilerOptions)) { + if (host.getEmitModuleFormatOfFile(getSourceFileOfNode(node)) < ModuleKind.System && getESModuleInterop(compilerOptions)) { // import * as ns from "foo"; checkExternalEmitHelpers(node, ExternalEmitHelpers.ImportStar); } @@ -47169,8 +47197,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } else { - if (moduleKind >= ModuleKind.ES2015 && moduleKind !== ModuleKind.Preserve && getSourceFileOfNode(node).impliedNodeFormat === undefined && !node.isTypeOnly && !(node.flags & NodeFlags.Ambient)) { - // Import equals declaration is deprecated in es6 or above + if (ModuleKind.ES2015 <= moduleKind && moduleKind <= ModuleKind.ESNext && !node.isTypeOnly && !(node.flags & NodeFlags.Ambient)) { + // Import equals declaration cannot be emitted as ESM grammarErrorOnNode(node, Diagnostics.Import_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_import_Asterisk_as_ns_from_mod_import_a_from_mod_import_d_from_mod_or_another_module_format_instead); } } @@ -47211,7 +47239,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { checkAliasSymbol(node.exportClause); checkModuleExportName(node.exportClause.name); } - if (moduleKind !== ModuleKind.System && (moduleKind < ModuleKind.ES2015 || getSourceFileOfNode(node).impliedNodeFormat === ModuleKind.CommonJS)) { + if (host.getEmitModuleFormatOfFile(getSourceFileOfNode(node)) < ModuleKind.System) { if (node.exportClause) { // export * as ns from "foo"; // For ES2015 modules, we emit it as a pair of `import * as a_1 ...; export { a_1 as ns }` and don't need the helper. @@ -47270,8 +47298,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { else { if ( getESModuleInterop(compilerOptions) && - moduleKind !== ModuleKind.System && - (moduleKind < ModuleKind.ES2015 || getSourceFileOfNode(node).impliedNodeFormat === ModuleKind.CommonJS) && + host.getEmitModuleFormatOfFile(getSourceFileOfNode(node)) < ModuleKind.System && moduleExportNameIsDefault(node.propertyName || node.name) ) { checkExternalEmitHelpers(node, ExternalEmitHelpers.ImportDefault); @@ -47312,7 +47339,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const isIllegalExportDefaultInCJS = !node.isExportEquals && !(node.flags & NodeFlags.Ambient) && compilerOptions.verbatimModuleSyntax && - (moduleKind === ModuleKind.CommonJS || getSourceFileOfNode(node).impliedNodeFormat === ModuleKind.CommonJS); + host.getEmitModuleFormatOfFile(getSourceFileOfNode(node)) === ModuleKind.CommonJS; if (node.expression.kind === SyntaxKind.Identifier) { const id = node.expression as Identifier; @@ -47410,8 +47437,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if ( moduleKind >= ModuleKind.ES2015 && moduleKind !== ModuleKind.Preserve && - ((node.flags & NodeFlags.Ambient && getSourceFileOfNode(node).impliedNodeFormat === ModuleKind.ESNext) || - (!(node.flags & NodeFlags.Ambient) && getSourceFileOfNode(node).impliedNodeFormat !== ModuleKind.CommonJS)) + ((node.flags & NodeFlags.Ambient && host.getImpliedNodeFormatForEmit(getSourceFileOfNode(node)) === ModuleKind.ESNext) || + (!(node.flags & NodeFlags.Ambient) && host.getImpliedNodeFormatForEmit(getSourceFileOfNode(node)) !== ModuleKind.CommonJS)) ) { // export assignment is not supported in es6 modules grammarErrorOnNode(node, Diagnostics.Export_assignment_cannot_be_used_when_targeting_ECMAScript_modules_Consider_using_export_default_or_another_module_format_instead); @@ -50354,7 +50381,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // ModuleDeclaration needs to be checked that it is uninstantiated later node.kind !== SyntaxKind.ModuleDeclaration && node.parent.kind === SyntaxKind.SourceFile && - (moduleKind === ModuleKind.CommonJS || getSourceFileOfNode(node).impliedNodeFormat === ModuleKind.CommonJS) + host.getEmitModuleFormatOfFile(getSourceFileOfNode(node)) === ModuleKind.CommonJS ) { return grammarErrorOnNode(modifier, Diagnostics.A_top_level_export_modifier_cannot_be_used_on_value_declarations_in_a_CommonJS_module_when_verbatimModuleSyntax_is_enabled); } @@ -51513,7 +51540,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } if ( - (moduleKind < ModuleKind.ES2015 || getSourceFileOfNode(node).impliedNodeFormat === ModuleKind.CommonJS) && moduleKind !== ModuleKind.System && + host.getEmitModuleFormatOfFile(getSourceFileOfNode(node)) < ModuleKind.System && !(node.parent.parent.flags & NodeFlags.Ambient) && hasSyntacticModifier(node.parent.parent, ModifierFlags.Export) ) { checkESModuleMarker(node.name); @@ -52159,6 +52186,8 @@ function createBasicNodeBuilderModuleSpecifierResolutionHost(host: TypeCheckerHo fileExists: fileName => host.fileExists(fileName), getFileIncludeReasons: () => host.getFileIncludeReasons(), readFile: host.readFile ? (fileName => host.readFile!(fileName)) : undefined, + getDefaultResolutionModeForFile: file => host.getDefaultResolutionModeForFile(file), + getModeForResolutionAtIndex: (file, index) => host.getModeForResolutionAtIndex(file, index), }; } diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 5a4cb28c6fe..e71ee7671d1 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -967,6 +967,10 @@ "category": "Error", "code": 1292 }, + "ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'.": { + "category": "Error", + "code": 1293 + }, "'with' statements are not allowed in an async function block.": { "category": "Error", diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index dfb366c6e24..4194a58c6bc 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -131,6 +131,7 @@ import { getEmitFlags, getEmitHelpers, getEmitModuleKind, + getEmitModuleResolutionKind, getEmitScriptTarget, getExternalModuleName, getIdentifierTypeArguments, @@ -828,6 +829,7 @@ export function emitFiles( newLine: compilerOptions.newLine, noEmitHelpers: compilerOptions.noEmitHelpers, module: getEmitModuleKind(compilerOptions), + moduleResolution: getEmitModuleResolutionKind(compilerOptions), target: getEmitScriptTarget(compilerOptions), sourceMap: compilerOptions.sourceMap, inlineSourceMap: compilerOptions.inlineSourceMap, @@ -903,6 +905,7 @@ export function emitFiles( newLine: compilerOptions.newLine, noEmitHelpers: true, module: compilerOptions.module, + moduleResolution: compilerOptions.moduleResolution, target: compilerOptions.target, sourceMap: !forceDtsEmit && compilerOptions.declarationMap, inlineSourceMap: compilerOptions.inlineSourceMap, diff --git a/src/compiler/factory/utilities.ts b/src/compiler/factory/utilities.ts index b06682c7d87..852017bd501 100644 --- a/src/compiler/factory/utilities.ts +++ b/src/compiler/factory/utilities.ts @@ -51,10 +51,12 @@ import { getAllAccessorDeclarations, getEmitFlags, getEmitHelpers, + getEmitModuleFormatOfFileWorker, getEmitModuleKind, getESModuleInterop, getExternalModuleName, getExternalModuleNameFromPath, + getImpliedNodeFormatForEmitWorker, getJSDocType, getJSDocTypeTag, getModifiers, @@ -687,7 +689,7 @@ export function createExternalHelpersImportDeclarationIfNeeded(nodeFactory: Node if (compilerOptions.importHelpers && isEffectiveExternalModule(sourceFile, compilerOptions)) { let namedBindings: NamedImportBindings | undefined; const moduleKind = getEmitModuleKind(compilerOptions); - if ((moduleKind >= ModuleKind.ES2015 && moduleKind <= ModuleKind.ESNext) || sourceFile.impliedNodeFormat === ModuleKind.ESNext) { + if ((moduleKind >= ModuleKind.ES2015 && moduleKind <= ModuleKind.ESNext) || getImpliedNodeFormatForEmitWorker(sourceFile, compilerOptions) === ModuleKind.ESNext) { // use named imports const helpers = getEmitHelpers(sourceFile); if (helpers) { @@ -743,10 +745,8 @@ function getOrCreateExternalHelpersModuleNameIfNeeded(factory: NodeFactory, node return externalHelpersModuleName; } - const moduleKind = getEmitModuleKind(compilerOptions); let create = (hasExportStarsToExportValues || (getESModuleInterop(compilerOptions) && hasImportStarOrImportDefault)) - && moduleKind !== ModuleKind.System - && (moduleKind < ModuleKind.ES2015 || node.impliedNodeFormat === ModuleKind.CommonJS); + && getEmitModuleFormatOfFileWorker(node, compilerOptions) < ModuleKind.System; if (!create) { const helpers = getEmitHelpers(node); if (helpers) { diff --git a/src/compiler/moduleSpecifiers.ts b/src/compiler/moduleSpecifiers.ts index f32ad448820..f380ff56a02 100644 --- a/src/compiler/moduleSpecifiers.ts +++ b/src/compiler/moduleSpecifiers.ts @@ -37,9 +37,9 @@ import { getBaseFileName, GetCanonicalFileName, getConditions, + getDefaultResolutionModeForFileWorker, getDirectoryPath, getEmitModuleResolutionKind, - getModeForResolutionAtIndex, getModuleNameStringLiteralAt, getModuleSpecifierEndingPreference, getNodeModulePathParts, @@ -143,12 +143,13 @@ export interface ModuleSpecifierPreferences { /** * @param syntaxImpliedNodeFormat Used when the import syntax implies ESM or CJS irrespective of the mode of the file. */ - getAllowedEndingsInPreferredOrder(syntaxImpliedNodeFormat?: SourceFile["impliedNodeFormat"]): ModuleSpecifierEnding[]; + getAllowedEndingsInPreferredOrder(syntaxImpliedNodeFormat?: ResolutionMode): ModuleSpecifierEnding[]; } /** @internal */ export function getModuleSpecifierPreferences( { importModuleSpecifierPreference, importModuleSpecifierEnding }: UserPreferences, + host: Pick, compilerOptions: CompilerOptions, importingSourceFile: Pick, oldImportSpecifier?: string, @@ -163,8 +164,10 @@ export function getModuleSpecifierPreferences( importModuleSpecifierPreference === "project-relative" ? RelativePreference.ExternalNonRelative : RelativePreference.Shortest, getAllowedEndingsInPreferredOrder: syntaxImpliedNodeFormat => { - const preferredEnding = syntaxImpliedNodeFormat !== importingSourceFile.impliedNodeFormat ? getPreferredEnding(syntaxImpliedNodeFormat) : filePreferredEnding; - if ((syntaxImpliedNodeFormat ?? importingSourceFile.impliedNodeFormat) === ModuleKind.ESNext) { + const impliedNodeFormat = getDefaultResolutionModeForFile(importingSourceFile, host, compilerOptions); + const preferredEnding = syntaxImpliedNodeFormat !== impliedNodeFormat ? getPreferredEnding(syntaxImpliedNodeFormat) : filePreferredEnding; + const moduleResolution = getEmitModuleResolutionKind(compilerOptions); + if ((syntaxImpliedNodeFormat ?? impliedNodeFormat) === ModuleKind.ESNext && ModuleResolutionKind.Node16 <= moduleResolution && moduleResolution <= ModuleResolutionKind.NodeNext) { if (shouldAllowImportingTsExtension(compilerOptions, importingSourceFile.fileName)) { return [ModuleSpecifierEnding.TsExtension, ModuleSpecifierEnding.JsExtension]; } @@ -204,7 +207,7 @@ export function getModuleSpecifierPreferences( } return getModuleSpecifierEndingPreference( importModuleSpecifierEnding, - resolutionMode ?? importingSourceFile.impliedNodeFormat, + resolutionMode ?? getDefaultResolutionModeForFile(importingSourceFile, host, compilerOptions), compilerOptions, isFullSourceFile(importingSourceFile) ? importingSourceFile : undefined, ); @@ -225,7 +228,7 @@ export function updateModuleSpecifier( oldImportSpecifier: string, options: ModuleSpecifierOptions = {}, ): string | undefined { - const res = getModuleSpecifierWorker(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, getModuleSpecifierPreferences({}, compilerOptions, importingSourceFile, oldImportSpecifier), {}, options); + const res = getModuleSpecifierWorker(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, getModuleSpecifierPreferences({}, host, compilerOptions, importingSourceFile, oldImportSpecifier), {}, options); if (res === oldImportSpecifier) return undefined; return res; } @@ -245,7 +248,7 @@ export function getModuleSpecifier( host: ModuleSpecifierResolutionHost, options: ModuleSpecifierOptions = {}, ): string { - return getModuleSpecifierWorker(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, getModuleSpecifierPreferences({}, compilerOptions, importingSourceFile), {}, options); + return getModuleSpecifierWorker(compilerOptions, importingSourceFile, importingSourceFileName, toFileName, host, getModuleSpecifierPreferences({}, host, compilerOptions, importingSourceFile), {}, options); } /** @internal */ @@ -275,7 +278,7 @@ function getModuleSpecifierWorker( const info = getInfo(importingSourceFileName, host); const modulePaths = getAllModulePaths(info, toFileName, host, userPreferences, compilerOptions, options); return firstDefined(modulePaths, modulePath => tryGetModuleNameAsNodeModule(modulePath, info, importingSourceFile, host, compilerOptions, userPreferences, /*packageNameOnly*/ undefined, options.overrideImportMode)) || - getLocalModuleSpecifier(toFileName, info, compilerOptions, host, options.overrideImportMode || importingSourceFile.impliedNodeFormat, preferences); + getLocalModuleSpecifier(toFileName, info, compilerOptions, host, options.overrideImportMode || getDefaultResolutionModeForFile(importingSourceFile, host, compilerOptions), preferences); } /** @internal */ @@ -403,7 +406,7 @@ export function getLocalModuleSpecifierBetweenFileNames( compilerOptions, host, importMode, - getModuleSpecifierPreferences({}, compilerOptions, importingFile), + getModuleSpecifierPreferences({}, host, compilerOptions, importingFile), ); } @@ -417,7 +420,7 @@ function computeModuleSpecifiers( forAutoImport: boolean, ): ModuleSpecifierResult { const info = getInfo(importingSourceFile.fileName, host); - const preferences = getModuleSpecifierPreferences(userPreferences, compilerOptions, importingSourceFile); + const preferences = getModuleSpecifierPreferences(userPreferences, host, compilerOptions, importingSourceFile); const existingSpecifier = isFullSourceFile(importingSourceFile) && forEach(modulePaths, modulePath => forEach( host.getFileIncludeReasons().get(toPath(modulePath.path, host.getCurrentDirectory(), info.getCanonicalFileName)), @@ -425,7 +428,11 @@ function computeModuleSpecifiers( if (reason.kind !== FileIncludeKind.Import || reason.file !== importingSourceFile.path) return undefined; // If the candidate import mode doesn't match the mode we're generating for, don't consider it // TODO: maybe useful to keep around as an alternative option for certain contexts where the mode is overridable - if (importingSourceFile.impliedNodeFormat && importingSourceFile.impliedNodeFormat !== getModeForResolutionAtIndex(importingSourceFile, reason.index, compilerOptions)) return undefined; + const existingMode = host.getModeForResolutionAtIndex(importingSourceFile, reason.index); + const targetMode = options.overrideImportMode ?? host.getDefaultResolutionModeForFile(importingSourceFile); + if (existingMode !== targetMode && existingMode !== undefined && targetMode !== undefined) { + return undefined; + } const specifier = getModuleNameStringLiteralAt(importingSourceFile, reason.index).text; // If the preference is for non relative and the module specifier is relative, ignore it return preferences.relativePreference !== RelativePreference.NonRelative || !pathIsRelative(specifier) ? @@ -1093,7 +1100,7 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }: ModulePath, { getCan // Simplify the full file path to something that can be resolved by Node. - const preferences = getModuleSpecifierPreferences(userPreferences, options, importingSourceFile); + const preferences = getModuleSpecifierPreferences(userPreferences, host, options, importingSourceFile); const allowedEndings = preferences.getAllowedEndingsInPreferredOrder(); let moduleSpecifier = path; let isPackageRootPath = false; @@ -1153,7 +1160,7 @@ function tryGetModuleNameAsNodeModule({ path, isRedirect }: ModulePath, { getCan const cachedPackageJson = host.getPackageJsonInfoCache?.()?.getPackageJsonInfo(packageJsonPath); if (isPackageJsonInfo(cachedPackageJson) || cachedPackageJson === undefined && host.fileExists(packageJsonPath)) { const packageJsonContent: Record | undefined = cachedPackageJson?.contents.packageJsonContent || tryParseJson(host.readFile!(packageJsonPath)!); - const importMode = overrideMode || importingSourceFile.impliedNodeFormat; + const importMode = overrideMode || getDefaultResolutionModeForFile(importingSourceFile, host, options); if (getResolvePackageJsonExports(options)) { // The package name that we found in node_modules could be different from the package // name in the package.json content via url/filepath dependency specifiers. We need to @@ -1348,3 +1355,7 @@ function getRelativePathIfInSameVolume(path: string, directoryPath: string, getC function isPathRelativeToParent(path: string): boolean { return startsWith(path, ".."); } + +function getDefaultResolutionModeForFile(file: Pick, host: Pick, compilerOptions: CompilerOptions) { + return isFullSourceFile(file) ? host.getDefaultResolutionModeForFile(file) : getDefaultResolutionModeForFileWorker(file, compilerOptions); +} diff --git a/src/compiler/program.ts b/src/compiler/program.ts index d2bf5792423..0fc914a51f2 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -175,6 +175,7 @@ import { ImportClause, ImportDeclaration, ImportOrExportSpecifier, + importSyntaxAffectsModuleResolution, InternalEmitFlags, inverseJsxOptionMap, isAmbientModule, @@ -840,9 +841,11 @@ export function flattenDiagnosticMessageText(diag: string | DiagnosticMessageCha * @internal */ export interface SourceFileImportsList { - /** @internal */ imports: SourceFile["imports"]; - /** @internal */ moduleAugmentations: SourceFile["moduleAugmentations"]; + imports: SourceFile["imports"]; + moduleAugmentations: SourceFile["moduleAugmentations"]; impliedNodeFormat?: ResolutionMode; + fileName: string; + packageJsonScope?: SourceFile["packageJsonScope"]; } /** @@ -866,7 +869,7 @@ export function getModeForFileReference(ref: FileReference | string, containingF * should be the options of the referenced project, not the referencing project. */ export function getModeForResolutionAtIndex(file: SourceFile, index: number, compilerOptions: CompilerOptions): ResolutionMode; -/** @internal */ +/** @internal @knipignore */ // eslint-disable-next-line @typescript-eslint/unified-signatures export function getModeForResolutionAtIndex(file: SourceFileImportsList, index: number, compilerOptions: CompilerOptions): ResolutionMode; export function getModeForResolutionAtIndex(file: SourceFileImportsList, index: number, compilerOptions?: CompilerOptions): ResolutionMode { @@ -888,22 +891,47 @@ export function isExclusivelyTypeOnlyImportOrExport(decl: ImportDeclaration | Ex /** * Use `program.getModeForUsageLocation`, which retrieves the correct `compilerOptions`, instead of this function whenever possible. - * Calculates the final resolution mode for a given module reference node. This is the resolution mode explicitly provided via import - * attributes, if present, or the syntax the usage would have if emitted to JavaScript. In `--module node16` or `nodenext`, this may - * depend on the file's `impliedNodeFormat`. In `--module preserve`, it depends only on the input syntax of the reference. In other - * `module` modes, when overriding import attributes are not provided, this function returns `undefined`, as the result would have no - * impact on module resolution, emit, or type checking. + * Calculates the final resolution mode for a given module reference node. This function only returns a result when module resolution + * settings allow differing resolution between ESM imports and CJS requires, or when a mode is explicitly provided via import attributes, + * which cause an `import` or `require` condition to be used during resolution regardless of module resolution settings. In absence of + * overriding attributes, and in modes that support differing resolution, the result indicates the syntax the usage would emit to JavaScript. + * Some examples: + * + * ```ts + * // tsc foo.mts --module nodenext + * import {} from "mod"; + * // Result: ESNext - the import emits as ESM due to `impliedNodeFormat` set by .mts file extension + * + * // tsc foo.cts --module nodenext + * import {} from "mod"; + * // Result: CommonJS - the import emits as CJS due to `impliedNodeFormat` set by .cts file extension + * + * // tsc foo.ts --module preserve --moduleResolution bundler + * import {} from "mod"; + * // Result: ESNext - the import emits as ESM due to `--module preserve` and `--moduleResolution bundler` + * // supports conditional imports/exports + * + * // tsc foo.ts --module preserve --moduleResolution node10 + * import {} from "mod"; + * // Result: undefined - the import emits as ESM due to `--module preserve`, but `--moduleResolution node10` + * // does not support conditional imports/exports + * + * // tsc foo.ts --module commonjs --moduleResolution node10 + * import type {} from "mod" with { "resolution-mode": "import" }; + * // Result: ESNext - conditional imports/exports always supported with "resolution-mode" attribute + * ``` + * * @param file The file the import or import-like reference is contained within * @param usage The module reference string * @param compilerOptions The compiler options for the program that owns the file. If the file belongs to a referenced project, the compiler options * should be the options of the referenced project, not the referencing project. * @returns The final resolution mode of the import */ -export function getModeForUsageLocation(file: { impliedNodeFormat?: ResolutionMode; }, usage: StringLiteralLike, compilerOptions: CompilerOptions) { +export function getModeForUsageLocation(file: SourceFile, usage: StringLiteralLike, compilerOptions: CompilerOptions) { return getModeForUsageLocationWorker(file, usage, compilerOptions); } -function getModeForUsageLocationWorker(file: { impliedNodeFormat?: ResolutionMode; }, usage: StringLiteralLike, compilerOptions?: CompilerOptions) { +function getModeForUsageLocationWorker(file: Pick, usage: StringLiteralLike, compilerOptions?: CompilerOptions) { if (isImportDeclaration(usage.parent) || isExportDeclaration(usage.parent) || isJSDocImportTag(usage.parent)) { const isTypeOnly = isExclusivelyTypeOnlyImportOrExport(usage.parent); if (isTypeOnly) { @@ -919,20 +947,36 @@ function getModeForUsageLocationWorker(file: { impliedNodeFormat?: ResolutionMod return override; } } - if (compilerOptions && getEmitModuleKind(compilerOptions) === ModuleKind.Preserve) { - return (usage.parent.parent && isImportEqualsDeclaration(usage.parent.parent) || isRequireCall(usage.parent, /*requireStringLiteralLikeArgument*/ false)) - ? ModuleKind.CommonJS - : ModuleKind.ESNext; + + if (compilerOptions && importSyntaxAffectsModuleResolution(compilerOptions)) { + return getEmitSyntaxForUsageLocationWorker(file, usage, compilerOptions); } - if (file.impliedNodeFormat === undefined) return undefined; - if (file.impliedNodeFormat !== ModuleKind.ESNext) { - // in cjs files, import call expressions are esm format, otherwise everything is cjs - return isImportCall(walkUpParenthesizedExpressions(usage.parent)) ? ModuleKind.ESNext : ModuleKind.CommonJS; +} + +function getEmitSyntaxForUsageLocationWorker(file: Pick, usage: StringLiteralLike, compilerOptions?: CompilerOptions): ResolutionMode { + if (!compilerOptions) { + // This should always be provided, but we try to fail somewhat + // gracefully to allow projects like ts-node time to update. + return undefined; } - // in esm files, import=require statements are cjs format, otherwise everything is esm - // imports are only parent'd up to their containing declaration/expression, so access farther parents with care const exprParentParent = walkUpParenthesizedExpressions(usage.parent)?.parent; - return exprParentParent && isImportEqualsDeclaration(exprParentParent) ? ModuleKind.CommonJS : ModuleKind.ESNext; + if (exprParentParent && isImportEqualsDeclaration(exprParentParent) || isRequireCall(usage.parent, /*requireStringLiteralLikeArgument*/ false)) { + return ModuleKind.CommonJS; + } + if (isImportCall(walkUpParenthesizedExpressions(usage.parent))) { + return shouldTransformImportCallWorker(file, compilerOptions) ? ModuleKind.CommonJS : ModuleKind.ESNext; + } + // If we're in --module preserve on an input file, we know that an import + // is an import. But if this is a declaration file, we'd prefer to use the + // impliedNodeFormat. Since we want things to be consistent between the two, + // we need to issue errors when the user writes ESM syntax in a definitely-CJS + // file, until/unless declaration emit can indicate a true ESM import. On the + // other hand, writing CJS syntax in a definitely-ESM file is fine, since declaration + // emit preserves the CJS syntax. + const fileEmitMode = getEmitModuleFormatOfFileWorker(file, compilerOptions); + return fileEmitMode === ModuleKind.CommonJS ? ModuleKind.CommonJS : + emitModuleKindIsNonNodeESM(fileEmitMode) || fileEmitMode === ModuleKind.Preserve ? ModuleKind.ESNext : + undefined; } /** @internal */ @@ -1028,7 +1072,7 @@ function getTypeReferenceResolutionName(entry: const typeReferenceResolutionNameAndModeGetter: ResolutionNameAndModeGetter = { getName: getTypeReferenceResolutionName, - getMode: (entry, file) => getModeForFileReference(entry, file?.impliedNodeFormat), + getMode: (entry, file, compilerOptions) => getModeForFileReference(entry, file && getDefaultResolutionModeForFileWorker(file, compilerOptions)), }; /** @internal */ @@ -1358,6 +1402,7 @@ export function getImpliedNodeFormatForFileWorker( default: return undefined; } + function lookupFromPackageJson(): Partial { const state = getTemporaryModuleResolutionState(packageJsonInfoCache, host, options); const packageJsonLocations: string[] = []; @@ -1927,6 +1972,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg isSourceFileFromExternalLibrary, isSourceFileDefaultLibrary, getModeForUsageLocation, + getEmitSyntaxForUsageLocation, getModeForResolutionAtIndex, getSourceFileFromReference, getLibFileFromReference, @@ -1955,6 +2001,11 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg forEachResolvedProjectReference, isSourceOfProjectReferenceRedirect, getRedirectReferenceForResolutionFromSourceOfProject, + getCompilerOptionsForFile, + getDefaultResolutionModeForFile, + getEmitModuleFormatOfFile, + getImpliedNodeFormatForEmit, + shouldTransformImportCall, emitBuildInfo, fileExists, readFile, @@ -2669,6 +2720,10 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg getSymlinkCache, writeFile: writeFileCallback || writeFile, isEmitBlocked, + shouldTransformImportCall, + getEmitModuleFormatOfFile, + getDefaultResolutionModeForFile, + getModeForResolutionAtIndex, readFile: f => host.readFile(f), fileExists: f => { // Use local caches @@ -3955,11 +4010,15 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg // store resolved type directive on the file const fileName = ref.fileName; resolutionsInFile.set(fileName, getModeForFileReference(ref, file.impliedNodeFormat), resolvedTypeReferenceDirective); - const mode = ref.resolutionMode || file.impliedNodeFormat; + const mode = ref.resolutionMode || getDefaultResolutionModeForFile(file); processTypeReferenceDirective(fileName, mode, resolvedTypeReferenceDirective, { kind: FileIncludeKind.TypeReferenceDirective, file: file.path, index }); } } + function getCompilerOptionsForFile(file: SourceFile): CompilerOptions { + return getRedirectReferenceForResolution(file)?.commandLine.options || options; + } + function processTypeReferenceDirective( typeReferenceDirective: string, mode: ResolutionMode, @@ -4074,7 +4133,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg const resolutions = resolvedModulesProcessing?.get(file.path) || resolveModuleNamesReusingOldState(moduleNames, file); Debug.assert(resolutions.length === moduleNames.length); - const optionsForFile = getRedirectReferenceForResolution(file)?.commandLine.options || options; + const optionsForFile = getCompilerOptionsForFile(file); const resolutionsInFile = createModeAwareCache(); (resolvedModules ??= new Map()).set(file.path, resolutionsInFile); for (let index = 0; index < moduleNames.length; index++) { @@ -4664,7 +4723,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg } else { reasons?.forEach(processReason); - redirectInfo = file && explainIfFileIsRedirectAndImpliedFormat(file); + redirectInfo = file && explainIfFileIsRedirectAndImpliedFormat(file, getCompilerOptionsForFile(file)); } if (fileProcessingReason) processReason(fileProcessingReason); @@ -5098,13 +5157,70 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg } function getModeForUsageLocation(file: SourceFile, usage: StringLiteralLike): ResolutionMode { - const optionsForFile = getRedirectReferenceForResolution(file)?.commandLine.options || options; - return getModeForUsageLocationWorker(file, usage, optionsForFile); + return getModeForUsageLocationWorker(file, usage, getCompilerOptionsForFile(file)); + } + + function getEmitSyntaxForUsageLocation(file: SourceFile, usage: StringLiteralLike): ResolutionMode { + return getEmitSyntaxForUsageLocationWorker(file, usage, getCompilerOptionsForFile(file)); } function getModeForResolutionAtIndex(file: SourceFile, index: number): ResolutionMode { return getModeForUsageLocation(file, getModuleNameStringLiteralAt(file, index)); } + + function getDefaultResolutionModeForFile(sourceFile: SourceFile): ResolutionMode { + return getDefaultResolutionModeForFileWorker(sourceFile, getCompilerOptionsForFile(sourceFile)); + } + + function getImpliedNodeFormatForEmit(sourceFile: SourceFile): ResolutionMode { + return getImpliedNodeFormatForEmitWorker(sourceFile, getCompilerOptionsForFile(sourceFile)); + } + + function getEmitModuleFormatOfFile(sourceFile: SourceFile): ModuleKind { + return getEmitModuleFormatOfFileWorker(sourceFile, getCompilerOptionsForFile(sourceFile)); + } + + function shouldTransformImportCall(sourceFile: SourceFile): boolean { + return shouldTransformImportCallWorker(sourceFile, getCompilerOptionsForFile(sourceFile)); + } +} + +function shouldTransformImportCallWorker(sourceFile: Pick, options: CompilerOptions): boolean { + const moduleKind = getEmitModuleKind(options); + if (ModuleKind.Node16 <= moduleKind && moduleKind <= ModuleKind.NodeNext || moduleKind === ModuleKind.Preserve) { + return false; + } + return getEmitModuleFormatOfFileWorker(sourceFile, options) < ModuleKind.ES2015; +} +/** @internal Prefer `program.getEmitModuleFormatOfFile` when possible. */ +export function getEmitModuleFormatOfFileWorker(sourceFile: Pick, options: CompilerOptions): ModuleKind { + return getImpliedNodeFormatForEmitWorker(sourceFile, options) ?? getEmitModuleKind(options); +} +/** @internal Prefer `program.getImpliedNodeFormatForEmit` when possible. */ +export function getImpliedNodeFormatForEmitWorker(sourceFile: Pick, options: CompilerOptions): ResolutionMode { + const moduleKind = getEmitModuleKind(options); + if (ModuleKind.Node16 <= moduleKind && moduleKind <= ModuleKind.NodeNext) { + return sourceFile.impliedNodeFormat; + } + if ( + sourceFile.impliedNodeFormat === ModuleKind.CommonJS + && (sourceFile.packageJsonScope?.contents.packageJsonContent.type === "commonjs" + || fileExtensionIsOneOf(sourceFile.fileName, [Extension.Cjs, Extension.Cts])) + ) { + return ModuleKind.CommonJS; + } + if ( + sourceFile.impliedNodeFormat === ModuleKind.ESNext + && (sourceFile.packageJsonScope?.contents.packageJsonContent.type === "module" + || fileExtensionIsOneOf(sourceFile.fileName, [Extension.Mjs, Extension.Mts])) + ) { + return ModuleKind.ESNext; + } + return undefined; +} +/** @internal Prefer `program.getDefaultResolutionModeForFile` when possible. */ +export function getDefaultResolutionModeForFileWorker(sourceFile: Pick, options: CompilerOptions): ResolutionMode { + return importSyntaxAffectsModuleResolution(options) ? getImpliedNodeFormatForEmitWorker(sourceFile, options) : undefined; } interface HostForUseSourceOfProjectReferenceRedirect { diff --git a/src/compiler/transformer.ts b/src/compiler/transformer.ts index 1ca1657eac0..bd181e5f3c0 100644 --- a/src/compiler/transformer.ts +++ b/src/compiler/transformer.ts @@ -65,10 +65,10 @@ import { transformESDecorators, transformESNext, transformGenerators, + transformImpliedNodeFormatDependentModule, transformJsx, transformLegacyDecorators, transformModule, - transformNodeModule, transformSystemModule, transformTypeScript, VariableDeclaration, @@ -77,17 +77,23 @@ import * as performance from "./_namespaces/ts.performance.js"; function getModuleTransformer(moduleKind: ModuleKind): TransformerFactory { switch (moduleKind) { + case ModuleKind.Preserve: + // `transformECMAScriptModule` contains logic for preserving + // CJS input syntax in `--module preserve` + return transformECMAScriptModule; case ModuleKind.ESNext: case ModuleKind.ES2022: case ModuleKind.ES2020: case ModuleKind.ES2015: - case ModuleKind.Preserve: - return transformECMAScriptModule; - case ModuleKind.System: - return transformSystemModule; case ModuleKind.Node16: case ModuleKind.NodeNext: - return transformNodeModule; + case ModuleKind.CommonJS: + // Wraps `transformModule` and `transformECMAScriptModule` and + // selects between them based on the `impliedNodeFormat` of the + // source file. + return transformImpliedNodeFormatDependentModule; + case ModuleKind.System: + return transformSystemModule; default: return transformModule; } diff --git a/src/compiler/transformers/module/node.ts b/src/compiler/transformers/module/impliedNodeFormatDependent.ts similarity index 84% rename from src/compiler/transformers/module/node.ts rename to src/compiler/transformers/module/impliedNodeFormatDependent.ts index 20b34a3ce2a..7a5bf9e210f 100644 --- a/src/compiler/transformers/module/node.ts +++ b/src/compiler/transformers/module/impliedNodeFormatDependent.ts @@ -14,7 +14,7 @@ import { } from "../../_namespaces/ts.js"; /** @internal */ -export function transformNodeModule(context: TransformationContext) { +export function transformImpliedNodeFormatDependentModule(context: TransformationContext) { const previousOnSubstituteNode = context.onSubstituteNode; const previousOnEmitNode = context.onEmitNode; @@ -30,6 +30,7 @@ export function transformNodeModule(context: TransformationContext) { const cjsOnSubstituteNode = context.onSubstituteNode; const cjsOnEmitNode = context.onEmitNode; + const getEmitModuleFormatOfFile = (file: SourceFile) => context.getEmitHost().getEmitModuleFormatOfFile(file); context.onSubstituteNode = onSubstituteNode; context.onEmitNode = onEmitNode; @@ -51,7 +52,7 @@ export function transformNodeModule(context: TransformationContext) { if (!currentSourceFile) { return previousOnSubstituteNode(hint, node); } - if (currentSourceFile.impliedNodeFormat === ModuleKind.ESNext) { + if (getEmitModuleFormatOfFile(currentSourceFile) >= ModuleKind.ES2015) { return esmOnSubstituteNode(hint, node); } return cjsOnSubstituteNode(hint, node); @@ -65,14 +66,14 @@ export function transformNodeModule(context: TransformationContext) { if (!currentSourceFile) { return previousOnEmitNode(hint, node, emitCallback); } - if (currentSourceFile.impliedNodeFormat === ModuleKind.ESNext) { + if (getEmitModuleFormatOfFile(currentSourceFile) >= ModuleKind.ES2015) { return esmOnEmitNode(hint, node, emitCallback); } return cjsOnEmitNode(hint, node, emitCallback); } function getModuleTransformForFile(file: SourceFile): typeof esmTransform { - return file.impliedNodeFormat === ModuleKind.ESNext ? esmTransform : cjsTransform; + return getEmitModuleFormatOfFile(file) >= ModuleKind.ES2015 ? esmTransform : cjsTransform; } function transformSourceFile(node: SourceFile) { diff --git a/src/compiler/transformers/module/module.ts b/src/compiler/transformers/module/module.ts index 72028eebed4..dc30bca2bb8 100644 --- a/src/compiler/transformers/module/module.ts +++ b/src/compiler/transformers/module/module.ts @@ -797,7 +797,7 @@ export function transformModule(context: TransformationContext): (x: SourceFile case SyntaxKind.PartiallyEmittedExpression: return visitPartiallyEmittedExpression(node as PartiallyEmittedExpression, valueIsDiscarded); case SyntaxKind.CallExpression: - if (isImportCall(node) && currentSourceFile.impliedNodeFormat === undefined) { + if (isImportCall(node) && host.shouldTransformImportCall(currentSourceFile)) { return visitImportCallExpression(node); } break; diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 9e2a0b980dd..0a1d95e8ce6 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -4755,21 +4755,79 @@ export interface Program extends ScriptReferenceHost { isSourceFileFromExternalLibrary(file: SourceFile): boolean; isSourceFileDefaultLibrary(file: SourceFile): boolean; /** - * Calculates the final resolution mode for a given module reference node. This is the resolution mode explicitly provided via import - * attributes, if present, or the syntax the usage would have if emitted to JavaScript. In `--module node16` or `nodenext`, this may - * depend on the file's `impliedNodeFormat`. In `--module preserve`, it depends only on the input syntax of the reference. In other - * `module` modes, when overriding import attributes are not provided, this function returns `undefined`, as the result would have no - * impact on module resolution, emit, or type checking. + * Calculates the final resolution mode for a given module reference node. This function only returns a result when module resolution + * settings allow differing resolution between ESM imports and CJS requires, or when a mode is explicitly provided via import attributes, + * which cause an `import` or `require` condition to be used during resolution regardless of module resolution settings. In absence of + * overriding attributes, and in modes that support differing resolution, the result indicates the syntax the usage would emit to JavaScript. + * Some examples: + * + * ```ts + * // tsc foo.mts --module nodenext + * import {} from "mod"; + * // Result: ESNext - the import emits as ESM due to `impliedNodeFormat` set by .mts file extension + * + * // tsc foo.cts --module nodenext + * import {} from "mod"; + * // Result: CommonJS - the import emits as CJS due to `impliedNodeFormat` set by .cts file extension + * + * // tsc foo.ts --module preserve --moduleResolution bundler + * import {} from "mod"; + * // Result: ESNext - the import emits as ESM due to `--module preserve` and `--moduleResolution bundler` + * // supports conditional imports/exports + * + * // tsc foo.ts --module preserve --moduleResolution node10 + * import {} from "mod"; + * // Result: undefined - the import emits as ESM due to `--module preserve`, but `--moduleResolution node10` + * // does not support conditional imports/exports + * + * // tsc foo.ts --module commonjs --moduleResolution node10 + * import type {} from "mod" with { "resolution-mode": "import" }; + * // Result: ESNext - conditional imports/exports always supported with "resolution-mode" attribute + * ``` */ getModeForUsageLocation(file: SourceFile, usage: StringLiteralLike): ResolutionMode; /** - * Calculates the final resolution mode for an import at some index within a file's `imports` list. This is the resolution mode - * explicitly provided via import attributes, if present, or the syntax the usage would have if emitted to JavaScript. In - * `--module node16` or `nodenext`, this may depend on the file's `impliedNodeFormat`. In `--module preserve`, it depends only on the - * input syntax of the reference. In other `module` modes, when overriding import attributes are not provided, this function returns - * `undefined`, as the result would have no impact on module resolution, emit, or type checking. + * Calculates the final resolution mode for an import at some index within a file's `imports` list. This function only returns a result + * when module resolution settings allow differing resolution between ESM imports and CJS requires, or when a mode is explicitly provided + * via import attributes, which cause an `import` or `require` condition to be used during resolution regardless of module resolution + * settings. In absence of overriding attributes, and in modes that support differing resolution, the result indicates the syntax the + * usage would emit to JavaScript. Some examples: + * + * ```ts + * // tsc foo.mts --module nodenext + * import {} from "mod"; + * // Result: ESNext - the import emits as ESM due to `impliedNodeFormat` set by .mts file extension + * + * // tsc foo.cts --module nodenext + * import {} from "mod"; + * // Result: CommonJS - the import emits as CJS due to `impliedNodeFormat` set by .cts file extension + * + * // tsc foo.ts --module preserve --moduleResolution bundler + * import {} from "mod"; + * // Result: ESNext - the import emits as ESM due to `--module preserve` and `--moduleResolution bundler` + * // supports conditional imports/exports + * + * // tsc foo.ts --module preserve --moduleResolution node10 + * import {} from "mod"; + * // Result: undefined - the import emits as ESM due to `--module preserve`, but `--moduleResolution node10` + * // does not support conditional imports/exports + * + * // tsc foo.ts --module commonjs --moduleResolution node10 + * import type {} from "mod" with { "resolution-mode": "import" }; + * // Result: ESNext - conditional imports/exports always supported with "resolution-mode" attribute + * ``` */ getModeForResolutionAtIndex(file: SourceFile, index: number): ResolutionMode; + /** + * @internal + * The resolution mode to use for module resolution or module specifier resolution + * outside the context of an existing module reference, where + * `program.getModeForUsageLocation` should be used instead. + */ + getDefaultResolutionModeForFile(sourceFile: SourceFile): ResolutionMode; + /** @internal */ getImpliedNodeFormatForEmit(sourceFile: SourceFile): ResolutionMode; + /** @internal */ getEmitModuleFormatOfFile(sourceFile: SourceFile): ModuleKind; + /** @internal */ shouldTransformImportCall(sourceFile: SourceFile): boolean; // For testing purposes only. // This is set on created program to let us know how the program was created using old program @@ -4824,6 +4882,7 @@ export interface Program extends ScriptReferenceHost { /** @internal */ getResolvedProjectReferenceByPath(projectReferencePath: Path): ResolvedProjectReference | undefined; /** @internal */ getRedirectReferenceForResolutionFromSourceOfProject(filePath: Path): ResolvedProjectReference | undefined; /** @internal */ isSourceOfProjectReferenceRedirect(fileName: string): boolean; + /** @internal */ getCompilerOptionsForFile(file: SourceFile): CompilerOptions; /** @internal */ getBuildInfo?(): BuildInfo; /** @internal */ emitBuildInfo(writeFile?: WriteFileCallback, cancellationToken?: CancellationToken): EmitResult; /** @@ -4939,8 +4998,12 @@ export interface TypeCheckerHost extends ModuleSpecifierResolutionHost { getSourceFile(fileName: string): SourceFile | undefined; getProjectReferenceRedirect(fileName: string): string | undefined; isSourceOfProjectReferenceRedirect(fileName: string): boolean; + getEmitSyntaxForUsageLocation(file: SourceFile, usage: StringLiteralLike): ResolutionMode; getRedirectReferenceForResolutionFromSourceOfProject(filePath: Path): ResolvedProjectReference | undefined; getModeForUsageLocation(file: SourceFile, usage: StringLiteralLike): ResolutionMode; + getDefaultResolutionModeForFile(sourceFile: SourceFile): ResolutionMode; + getImpliedNodeFormatForEmit(sourceFile: SourceFile): ResolutionMode; + getEmitModuleFormatOfFile(sourceFile: SourceFile): ModuleKind; getResolvedModule(f: SourceFile, moduleName: string, mode: ResolutionMode): ResolvedModuleWithFailedLookupLocations | undefined; @@ -5604,6 +5667,9 @@ export interface RequireVariableDeclarationList extends VariableDeclarationList readonly declarations: NodeArray>; } +/** @internal */ +export type CanHaveModuleSpecifier = AnyImportOrBareOrAccessedRequire | AliasDeclarationNode | ExportDeclaration | ImportTypeNode; + /** @internal */ export type LateVisibilityPaintedStatement = | AnyImportOrJsDocImport @@ -8365,6 +8431,8 @@ export interface EmitHost extends ScriptReferenceHost, ModuleSpecifierResolution getCanonicalFileName(fileName: string): string; isEmitBlocked(emitFileName: string): boolean; + shouldTransformImportCall(sourceFile: SourceFile): boolean; + getEmitModuleFormatOfFile(sourceFile: SourceFile): ModuleKind; writeFile: WriteFileCallback; getBuildInfo(): BuildInfo | undefined; @@ -9605,6 +9673,7 @@ export interface PrinterOptions { omitTrailingSemicolon?: boolean; noEmitHelpers?: boolean; /** @internal */ module?: CompilerOptions["module"]; + /** @internal */ moduleResolution?: CompilerOptions["moduleResolution"]; /** @internal */ target?: CompilerOptions["target"]; /** @internal */ sourceMap?: boolean; /** @internal */ inlineSourceMap?: boolean; @@ -9739,6 +9808,8 @@ export interface ModuleSpecifierResolutionHost { isSourceOfProjectReferenceRedirect(fileName: string): boolean; getFileIncludeReasons(): MultiMap; getCommonSourceDirectory(): string; + getDefaultResolutionModeForFile(sourceFile: SourceFile): ResolutionMode; + getModeForResolutionAtIndex(file: SourceFile, index: number): ResolutionMode; getModuleResolutionCache?(): ModuleResolutionCache | undefined; trace?(s: string): void; diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 68bbfcea644..76759fe0ece 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -5,7 +5,6 @@ import { addRange, affectsDeclarationPathOptionDeclarations, affectsEmitOptionDeclarations, - AliasDeclarationNode, AllAccessorDeclarations, AmbientModuleDeclaration, AmpersandAmpersandEqualsToken, @@ -41,6 +40,7 @@ import { canHaveDecorators, canHaveLocals, canHaveModifiers, + CanHaveModuleSpecifier, CanonicalDiagnostic, CaseBlock, CaseClause, @@ -167,6 +167,7 @@ import { getCommonSourceDirectory, getContainerFlags, getDirectoryPath, + getImpliedNodeFormatForEmitWorker, getJSDocAugmentsTag, getJSDocDeprecatedTagNoCache, getJSDocImplementsTags, @@ -4148,7 +4149,26 @@ export function isFunctionSymbol(symbol: Symbol | undefined) { } /** @internal */ -export function tryGetModuleSpecifierFromDeclaration(node: AnyImportOrBareOrAccessedRequire | AliasDeclarationNode | ExportDeclaration | ImportTypeNode | JSDocImportTag): StringLiteralLike | undefined { +export function canHaveModuleSpecifier(node: Node | undefined): node is CanHaveModuleSpecifier { + switch (node?.kind) { + case SyntaxKind.VariableDeclaration: + case SyntaxKind.BindingElement: + case SyntaxKind.ImportDeclaration: + case SyntaxKind.ExportDeclaration: + case SyntaxKind.ImportEqualsDeclaration: + case SyntaxKind.ImportClause: + case SyntaxKind.NamespaceExport: + case SyntaxKind.NamespaceImport: + case SyntaxKind.ExportSpecifier: + case SyntaxKind.ImportSpecifier: + case SyntaxKind.ImportType: + return true; + } + return false; +} + +/** @internal */ +export function tryGetModuleSpecifierFromDeclaration(node: CanHaveModuleSpecifier | JSDocImportTag): StringLiteralLike | undefined { switch (node.kind) { case SyntaxKind.VariableDeclaration: case SyntaxKind.BindingElement: @@ -8719,11 +8739,11 @@ function isFileModuleFromUsingJSXTag(file: SourceFile): Node | undefined { * Note that this requires file.impliedNodeFormat be set already; meaning it must be set very early on * in SourceFile construction. */ -function isFileForcedToBeModuleByFormat(file: SourceFile): true | undefined { +function isFileForcedToBeModuleByFormat(file: SourceFile, options: CompilerOptions): true | undefined { // Excludes declaration files - they still require an explicit `export {}` or the like // for back compat purposes. The only non-declaration files _not_ forced to be a module are `.js` files // that aren't esm-mode (meaning not in a `type: module` scope). - return (file.impliedNodeFormat === ModuleKind.ESNext || (fileExtensionIsOneOf(file.fileName, [Extension.Cjs, Extension.Cts, Extension.Mjs, Extension.Mts]))) && !file.isDeclarationFile ? true : undefined; + return (getImpliedNodeFormatForEmitWorker(file, options) === ModuleKind.ESNext || (fileExtensionIsOneOf(file.fileName, [Extension.Cjs, Extension.Cts, Extension.Mjs, Extension.Mts]))) && !file.isDeclarationFile ? true : undefined; } /** @internal */ @@ -8744,17 +8764,29 @@ export function getSetExternalModuleIndicator(options: CompilerOptions): (file: // If module is nodenext or node16, all esm format files are modules // If jsx is react-jsx or react-jsxdev then jsx tags force module-ness // otherwise, the presence of import or export statments (or import.meta) implies module-ness - const checks: ((file: SourceFile) => Node | true | undefined)[] = [isFileProbablyExternalModule]; + const checks: ((file: SourceFile, options: CompilerOptions) => Node | true | undefined)[] = [isFileProbablyExternalModule]; if (options.jsx === JsxEmit.ReactJSX || options.jsx === JsxEmit.ReactJSXDev) { checks.push(isFileModuleFromUsingJSXTag); } checks.push(isFileForcedToBeModuleByFormat); const combined = or(...checks); - const callback = (file: SourceFile) => void (file.externalModuleIndicator = combined(file)); + const callback = (file: SourceFile) => void (file.externalModuleIndicator = combined(file, options)); return callback; } } +/** + * @internal + * Returns true if an `import` and a `require` of the same module specifier + * can resolve to a different file. + */ +export function importSyntaxAffectsModuleResolution(options: CompilerOptions) { + const moduleResolution = getEmitModuleResolutionKind(options); + return ModuleResolutionKind.Node16 <= moduleResolution && moduleResolution <= ModuleResolutionKind.NodeNext + || getResolvePackageJsonExports(options) + || getResolvePackageJsonImports(options); +} + type CompilerOptionKeys = keyof { [K in keyof CompilerOptions as string extends K ? never : K]: any; }; function createComputedCompilerOptions>( options: { diff --git a/src/compiler/watch.ts b/src/compiler/watch.ts index 618545564c5..89c6f13b102 100644 --- a/src/compiler/watch.ts +++ b/src/compiler/watch.ts @@ -57,6 +57,7 @@ import { getDirectoryPath, getEmitDeclarations, getEmitScriptTarget, + getImpliedNodeFormatForEmitWorker, getLineAndCharacterOfPosition, getNameOfScriptTarget, getNewLineCharacter, @@ -352,13 +353,14 @@ export function explainFiles(program: Program, write: (s: string) => void) { for (const file of program.getSourceFiles()) { write(`${toFileName(file, relativeFileName)}`); reasons.get(file.path)?.forEach(reason => write(` ${fileIncludeReasonToDiagnostics(program, reason, relativeFileName).messageText}`)); - explainIfFileIsRedirectAndImpliedFormat(file, relativeFileName)?.forEach(d => write(` ${d.messageText}`)); + explainIfFileIsRedirectAndImpliedFormat(file, program.getCompilerOptionsForFile(file), relativeFileName)?.forEach(d => write(` ${d.messageText}`)); } } /** @internal */ export function explainIfFileIsRedirectAndImpliedFormat( file: SourceFile, + options: CompilerOptions, fileNameConvertor?: (fileName: string) => string, ): DiagnosticMessageChain[] | undefined { let result: DiagnosticMessageChain[] | undefined; @@ -377,7 +379,7 @@ export function explainIfFileIsRedirectAndImpliedFormat( )); } if (isExternalOrCommonJsModule(file)) { - switch (file.impliedNodeFormat) { + switch (getImpliedNodeFormatForEmitWorker(file, options)) { case ModuleKind.ESNext: if (file.packageJsonScope) { (result ??= []).push(chainDiagnosticMessages( diff --git a/src/services/codefixes/importFixes.ts b/src/services/codefixes/importFixes.ts index 6eedc5b8e38..f622a0d55f3 100644 --- a/src/services/codefixes/importFixes.ts +++ b/src/services/codefixes/importFixes.ts @@ -50,10 +50,12 @@ import { getDeclarationOfKind, getDefaultLikeExportInfo, getDirectoryPath, + getEmitModuleFormatOfFileWorker, getEmitModuleKind, getEmitModuleResolutionKind, getEmitScriptTarget, getExportInfoMap, + getImpliedNodeFormatForEmitWorker, getIsFileExcluded, getMeaningFromLocation, getNameForExportedSymbol, @@ -335,7 +337,7 @@ function createImportAdderWorker(sourceFile: SourceFile | FutureSourceFile, prog compilerOptions, createModuleSpecifierResolutionHost(program, host), ); - const importKind = getImportKind(futureExportingSourceFile, exportKind, compilerOptions); + const importKind = getImportKind(futureExportingSourceFile, exportKind, program); const addAsTypeOnly = getAddAsTypeOnly( isImportUsageValidAsTypeOnly, /*isForNewImportDeclaration*/ true, @@ -699,7 +701,7 @@ export interface ImportSpecifierResolver { /** @internal */ export function createImportSpecifierResolver(importingFile: SourceFile, program: Program, host: LanguageServiceHost, preferences: UserPreferences): ImportSpecifierResolver { const packageJsonImportFilter = createPackageJsonImportFilter(importingFile, preferences, host); - const importMap = createExistingImportMap(program.getTypeChecker(), importingFile, program.getCompilerOptions()); + const importMap = createExistingImportMap(importingFile, program); return { getModuleSpecifierForBestExportInfo }; function getModuleSpecifierForBestExportInfo( @@ -911,7 +913,7 @@ function getImportFixes( sourceFile: SourceFile | FutureSourceFile, host: LanguageServiceHost, preferences: UserPreferences, - importMap = isFullSourceFile(sourceFile) ? createExistingImportMap(program.getTypeChecker(), sourceFile, program.getCompilerOptions()) : undefined, + importMap = isFullSourceFile(sourceFile) ? createExistingImportMap(sourceFile, program) : undefined, fromCacheOnly?: boolean, ): { computedWithoutCacheCount: number; fixes: readonly ImportFixWithModuleSpecifier[]; } { const checker = program.getTypeChecker(); @@ -1078,7 +1080,8 @@ function tryAddToExistingImport(existingImports: readonly FixAddToExistingImport } } -function createExistingImportMap(checker: TypeChecker, importingFile: SourceFile, compilerOptions: CompilerOptions) { +function createExistingImportMap(importingFile: SourceFile, program: Program) { + const checker = program.getTypeChecker(); let importMap: MultiMap | undefined; for (const moduleSpecifier of importingFile.imports) { const i = importFromModuleSpecifier(moduleSpecifier); @@ -1108,7 +1111,7 @@ function createExistingImportMap(checker: TypeChecker, importingFile: SourceFile && !every(matchingDeclarations, isJSDocImportTag) ) return emptyArray; - const importKind = getImportKind(importingFile, exportKind, compilerOptions); + const importKind = getImportKind(importingFile, exportKind, program); return matchingDeclarations.map(declaration => ({ declaration, importKind, symbol, targetFlags })); }, }; @@ -1132,8 +1135,9 @@ function shouldUseRequire(sourceFile: SourceFile | FutureSourceFile, program: Pr // 4. In --module nodenext, assume we're not emitting JS -> JS, so use // whatever syntax Node expects based on the detected module kind - if (sourceFile.impliedNodeFormat === ModuleKind.CommonJS) return true; - if (sourceFile.impliedNodeFormat === ModuleKind.ESNext) return false; + // TODO: consider removing `impliedNodeFormatForEmit` + if (getImpliedNodeFormatForEmit(sourceFile, program) === ModuleKind.CommonJS) return true; + if (getImpliedNodeFormatForEmit(sourceFile, program) === ModuleKind.ESNext) return false; // 5. Match the first other JS file in the program that's unambiguously CJS or ESM for (const otherFile of program.getSourceFiles()) { @@ -1186,7 +1190,7 @@ function getNewImportFixes( // `position` should only be undefined at a missing jsx namespace, in which case we shouldn't be looking for pure types. return { kind: ImportFixKind.JsdocTypeImport, moduleSpecifierKind, moduleSpecifier, usagePosition, exportInfo, isReExport: i > 0 }; } - const importKind = getImportKind(sourceFile, exportInfo.exportKind, compilerOptions); + const importKind = getImportKind(sourceFile, exportInfo.exportKind, program); let qualification: Qualification | undefined; if (usagePosition !== undefined && importKind === ImportKind.CommonJS && exportInfo.exportKind === ExportKind.Named) { // Compiler options are restricting our import options to a require, but we need to access @@ -1198,7 +1202,7 @@ function getNewImportFixes( const exportEquals = checker.resolveExternalModuleSymbol(exportInfo.moduleSymbol); let namespacePrefix; if (exportEquals !== exportInfo.moduleSymbol) { - namespacePrefix = forEachNameOfDefaultExport(exportEquals, checker, compilerOptions, /*preferCapitalizedNames*/ false, identity)!; + namespacePrefix = forEachNameOfDefaultExport(exportEquals, checker, getEmitScriptTarget(compilerOptions), identity)!; } namespacePrefix ||= moduleSymbolToValidIdentifier( exportInfo.moduleSymbol, @@ -1417,8 +1421,8 @@ function getUmdSymbol(token: Node, checker: TypeChecker): Symbol | undefined { * * @internal */ -export function getImportKind(importingFile: SourceFile | FutureSourceFile, exportKind: ExportKind, compilerOptions: CompilerOptions, forceImportKeyword?: boolean): ImportKind { - if (compilerOptions.verbatimModuleSyntax && (getEmitModuleKind(compilerOptions) === ModuleKind.CommonJS || importingFile.impliedNodeFormat === ModuleKind.CommonJS)) { +export function getImportKind(importingFile: SourceFile | FutureSourceFile, exportKind: ExportKind, program: Program, forceImportKeyword?: boolean): ImportKind { + if (program.getCompilerOptions().verbatimModuleSyntax && getEmitModuleFormatOfFile(importingFile, program) === ModuleKind.CommonJS) { // TODO: if the exporting file is ESM under nodenext, or `forceImport` is given in a JS file, this is impossible return ImportKind.CommonJS; } @@ -1428,22 +1432,22 @@ export function getImportKind(importingFile: SourceFile | FutureSourceFile, expo case ExportKind.Default: return ImportKind.Default; case ExportKind.ExportEquals: - return getExportEqualsImportKind(importingFile, compilerOptions, !!forceImportKeyword); + return getExportEqualsImportKind(importingFile, program.getCompilerOptions(), !!forceImportKeyword); case ExportKind.UMD: - return getUmdImportKind(importingFile, compilerOptions, !!forceImportKeyword); + return getUmdImportKind(importingFile, program, !!forceImportKeyword); default: return Debug.assertNever(exportKind); } } -function getUmdImportKind(importingFile: SourceFile | FutureSourceFile, compilerOptions: CompilerOptions, forceImportKeyword: boolean): ImportKind { +function getUmdImportKind(importingFile: SourceFile | FutureSourceFile, program: Program, forceImportKeyword: boolean): ImportKind { // Import a synthetic `default` if enabled. - if (getAllowSyntheticDefaultImports(compilerOptions)) { + if (getAllowSyntheticDefaultImports(program.getCompilerOptions())) { return ImportKind.Default; } // When a synthetic `default` is unavailable, use `import..require` if the module kind supports it. - const moduleKind = getEmitModuleKind(compilerOptions); + const moduleKind = getEmitModuleKind(program.getCompilerOptions()); switch (moduleKind) { case ModuleKind.AMD: case ModuleKind.CommonJS: @@ -1463,7 +1467,7 @@ function getUmdImportKind(importingFile: SourceFile | FutureSourceFile, compiler return ImportKind.Namespace; case ModuleKind.Node16: case ModuleKind.NodeNext: - return importingFile.impliedNodeFormat === ModuleKind.ESNext ? ImportKind.Namespace : ImportKind.CommonJS; + return getImpliedNodeFormatForEmit(importingFile, program) === ModuleKind.ESNext ? ImportKind.Namespace : ImportKind.CommonJS; default: return Debug.assertNever(moduleKind, `Unexpected moduleKind ${moduleKind}`); } @@ -1555,7 +1559,7 @@ function getExportInfos( if ( defaultInfo && symbolFlagsHaveMeaning(checker.getSymbolFlags(defaultInfo.symbol), currentTokenMeaning) - && forEachNameOfDefaultExport(defaultInfo.symbol, checker, compilerOptions, isJsxTagName, name => name === symbolName) + && forEachNameOfDefaultExport(defaultInfo.symbol, checker, getEmitScriptTarget(compilerOptions), (name, capitalizedName) => (isJsxTagName ? capitalizedName ?? name : name) === symbolName) ) { addSymbol(moduleSymbol, sourceFile, defaultInfo.symbol, defaultInfo.exportKind, program, isFromPackageJson); } @@ -2038,3 +2042,11 @@ function symbolFlagsHaveMeaning(flags: SymbolFlags, meaning: SemanticMeaning): b meaning & SemanticMeaning.Namespace ? !!(flags & SymbolFlags.Namespace) : false; } + +function getImpliedNodeFormatForEmit(file: SourceFile | FutureSourceFile, program: Program) { + return isFullSourceFile(file) ? program.getImpliedNodeFormatForEmit(file) : getImpliedNodeFormatForEmitWorker(file, program.getCompilerOptions()); +} + +function getEmitModuleFormatOfFile(file: SourceFile | FutureSourceFile, program: Program) { + return isFullSourceFile(file) ? program.getEmitModuleFormatOfFile(file) : getEmitModuleFormatOfFileWorker(file, program.getCompilerOptions()); +} diff --git a/src/services/completions.ts b/src/services/completions.ts index d240cacc2c3..43148e14182 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -1161,11 +1161,13 @@ function getJSDocParamAnnotation( ? createSnippetPrinter({ removeComments: true, module: options.module, + moduleResolution: options.moduleResolution, target: options.target, }) : createPrinter({ removeComments: true, module: options.module, + moduleResolution: options.moduleResolution, target: options.target, }); setEmitFlags(typeNode, EmitFlags.SingleLine); @@ -1459,6 +1461,7 @@ function getExhaustiveCaseSnippets( const printer = createSnippetPrinter({ removeComments: true, module: options.module, + moduleResolution: options.moduleResolution, target: options.target, newLine: getNewLineKind(newLineChar), }); @@ -1720,7 +1723,7 @@ function createCompletionEntry( if (originIsResolvedExport(origin)) { sourceDisplay = [textPart(origin.moduleSpecifier)]; if (importStatementCompletion) { - ({ insertText, replacementSpan } = getInsertTextAndReplacementSpanForImportCompletion(name, importStatementCompletion, origin, useSemicolons, sourceFile, options, preferences)); + ({ insertText, replacementSpan } = getInsertTextAndReplacementSpanForImportCompletion(name, importStatementCompletion, origin, useSemicolons, sourceFile, program, preferences)); isSnippet = preferences.includeCompletionsWithSnippetText ? true : undefined; } } @@ -1978,6 +1981,7 @@ function getEntryForMemberCompletion( const printer = createSnippetPrinter({ removeComments: true, module: options.module, + moduleResolution: options.moduleResolution, target: options.target, omitTrailingSemicolon: false, newLine: getNewLineKind(getNewLineOrDefaultFromHost(host, formatContext?.options)), @@ -2204,6 +2208,7 @@ function getEntryForObjectLiteralMethodCompletion( const printer = createSnippetPrinter({ removeComments: true, module: options.module, + moduleResolution: options.moduleResolution, target: options.target, omitTrailingSemicolon: false, newLine: getNewLineKind(getNewLineOrDefaultFromHost(host, formatContext?.options)), @@ -2218,6 +2223,7 @@ function getEntryForObjectLiteralMethodCompletion( const signaturePrinter = createPrinter({ removeComments: true, module: options.module, + moduleResolution: options.moduleResolution, target: options.target, omitTrailingSemicolon: true, }); @@ -2520,14 +2526,14 @@ function completionEntryDataToSymbolOriginInfo(data: CompletionEntryData, comple return unresolvedOrigin; } -function getInsertTextAndReplacementSpanForImportCompletion(name: string, importStatementCompletion: ImportStatementCompletionInfo, origin: SymbolOriginInfoResolvedExport, useSemicolons: boolean, sourceFile: SourceFile, options: CompilerOptions, preferences: UserPreferences) { +function getInsertTextAndReplacementSpanForImportCompletion(name: string, importStatementCompletion: ImportStatementCompletionInfo, origin: SymbolOriginInfoResolvedExport, useSemicolons: boolean, sourceFile: SourceFile, program: Program, preferences: UserPreferences) { const replacementSpan = importStatementCompletion.replacementSpan; const quotedModuleSpecifier = escapeSnippetText(quote(sourceFile, preferences, origin.moduleSpecifier)); const exportKind = origin.isDefaultExport ? ExportKind.Default : origin.exportName === InternalSymbolName.ExportEquals ? ExportKind.ExportEquals : ExportKind.Named; const tabStop = preferences.includeCompletionsWithSnippetText ? "$1" : ""; - const importKind = codefix.getImportKind(sourceFile, exportKind, options, /*forceImportKeyword*/ true); + const importKind = codefix.getImportKind(sourceFile, exportKind, program, /*forceImportKeyword*/ true); const isImportSpecifierTypeOnly = importStatementCompletion.couldBeTypeOnlyImportSpecifier; const topLevelTypeOnlyText = importStatementCompletion.isTopLevelTypeOnly ? ` ${tokenToString(SyntaxKind.TypeKeyword)} ` : " "; const importSpecifierTypeOnlyText = isImportSpecifierTypeOnly ? `${tokenToString(SyntaxKind.TypeKeyword)} ` : ""; diff --git a/src/services/exportInfoMap.ts b/src/services/exportInfoMap.ts index 41d683a2b3c..4873d6eac42 100644 --- a/src/services/exportInfoMap.ts +++ b/src/services/exportInfoMap.ts @@ -4,7 +4,6 @@ import { append, arrayIsEqualTo, CancellationToken, - CompilerOptions, consumesNodeCoreModules, createMultiMap, Debug, @@ -18,9 +17,7 @@ import { GetCanonicalFileName, getDefaultLikeExportNameFromDeclaration, getDirectoryPath, - getEmitScriptTarget, getLocalSymbolForExportDefault, - getNamesForExportedSymbol, getNodeModulePathParts, getPackageNameFromTypesPackageName, getRegexFromPattern, @@ -46,6 +43,7 @@ import { Path, pathContainsNodeModules, Program, + ScriptTarget, skipAlias, SourceFile, startsWith, @@ -198,7 +196,7 @@ export function createCacheableExportInfoMap(host: CacheableExportInfoMapHost): // get a better name. const names = exportKind === ExportKind.Named || isExternalModuleSymbol(namedSymbol) ? unescapeLeadingUnderscores(symbolTableKey) - : getNamesForExportedSymbol(namedSymbol, /*scriptTarget*/ undefined); + : getNamesForExportedSymbol(namedSymbol, checker, /*scriptTarget*/ undefined); const symbolName = typeof names === "string" ? names : names[0]; const capitalizedSymbolName = typeof names === "string" ? undefined : names[1]; @@ -572,12 +570,21 @@ function isImportableSymbol(symbol: Symbol, checker: TypeChecker) { return !checker.isUndefinedSymbol(symbol) && !checker.isUnknownSymbol(symbol) && !isKnownSymbol(symbol) && !isPrivateIdentifierSymbol(symbol); } +function getNamesForExportedSymbol(defaultExport: Symbol, checker: TypeChecker, scriptTarget: ScriptTarget | undefined) { + let names: string | string[] | undefined; + forEachNameOfDefaultExport(defaultExport, checker, scriptTarget, (name, capitalizedName) => { + names = capitalizedName ? [name, capitalizedName] : name; + return true; + }); + return Debug.checkDefined(names); +} + /** * @internal * May call `cb` multiple times with the same name. * Terminates when `cb` returns a truthy value. */ -export function forEachNameOfDefaultExport(defaultExport: Symbol, checker: TypeChecker, compilerOptions: CompilerOptions, preferCapitalizedNames: boolean, cb: (name: string) => T | undefined): T | undefined { +export function forEachNameOfDefaultExport(defaultExport: Symbol, checker: TypeChecker, scriptTarget: ScriptTarget | undefined, cb: (name: string, capitalizedName?: string) => T | undefined): T | undefined { let chain: Symbol[] | undefined; let current: Symbol | undefined = defaultExport; const seen = new Map(); @@ -604,7 +611,10 @@ export function forEachNameOfDefaultExport(defaultExport: Symbol, checker: Ty for (const symbol of chain ?? emptyArray) { if (symbol.parent && isExternalModuleSymbol(symbol.parent)) { - const final = cb(moduleSymbolToValidIdentifier(symbol.parent, getEmitScriptTarget(compilerOptions), preferCapitalizedNames)); + const final = cb( + moduleSymbolToValidIdentifier(symbol.parent, scriptTarget, /*forceCapitalize*/ false), + moduleSymbolToValidIdentifier(symbol.parent, scriptTarget, /*forceCapitalize*/ true), + ); if (final) return final; } } diff --git a/src/services/stringCompletions.ts b/src/services/stringCompletions.ts index e0af6ca745c..b96e06138de 100644 --- a/src/services/stringCompletions.ts +++ b/src/services/stringCompletions.ts @@ -200,7 +200,7 @@ export function getStringLiteralCompletions( includeSymbol: boolean, ): CompletionInfo | undefined { if (isInReferenceComment(sourceFile, position)) { - const entries = getTripleSlashReferenceCompletion(sourceFile, position, options, host); + const entries = getTripleSlashReferenceCompletion(sourceFile, position, program, host); return entries && convertPathCompletions(entries); } if (isInString(sourceFile, position, contextToken)) { @@ -614,8 +614,8 @@ function getStringLiteralCompletionsFromModuleNamesWorker(sourceFile: SourceFile const extensionOptions = getExtensionOptions(compilerOptions, ReferenceKind.ModuleSpecifier, sourceFile, typeChecker, preferences, mode); return isPathRelativeToScript(literalValue) || !compilerOptions.baseUrl && !compilerOptions.paths && (isRootedDiskPath(literalValue) || isUrl(literalValue)) - ? getCompletionEntriesForRelativeModules(literalValue, scriptDirectory, compilerOptions, host, scriptPath, extensionOptions) - : getCompletionEntriesForNonRelativeModules(literalValue, scriptDirectory, mode, compilerOptions, host, extensionOptions, typeChecker); + ? getCompletionEntriesForRelativeModules(literalValue, scriptDirectory, program, host, scriptPath, extensionOptions) + : getCompletionEntriesForNonRelativeModules(literalValue, scriptDirectory, mode, program, host, extensionOptions); } interface ExtensionOptions { @@ -635,20 +635,21 @@ function getExtensionOptions(compilerOptions: CompilerOptions, referenceKind: Re resolutionMode, }; } -function getCompletionEntriesForRelativeModules(literalValue: string, scriptDirectory: string, compilerOptions: CompilerOptions, host: LanguageServiceHost, scriptPath: Path, extensionOptions: ExtensionOptions) { +function getCompletionEntriesForRelativeModules(literalValue: string, scriptDirectory: string, program: Program, host: LanguageServiceHost, scriptPath: Path, extensionOptions: ExtensionOptions) { + const compilerOptions = program.getCompilerOptions(); if (compilerOptions.rootDirs) { return getCompletionEntriesForDirectoryFragmentWithRootDirs( compilerOptions.rootDirs, literalValue, scriptDirectory, extensionOptions, - compilerOptions, + program, host, scriptPath, ); } else { - return arrayFrom(getCompletionEntriesForDirectoryFragment(literalValue, scriptDirectory, extensionOptions, host, /*moduleSpecifierIsRelative*/ true, scriptPath).values()); + return arrayFrom(getCompletionEntriesForDirectoryFragment(literalValue, scriptDirectory, extensionOptions, program, host, /*moduleSpecifierIsRelative*/ true, scriptPath).values()); } } @@ -686,12 +687,13 @@ function getBaseDirectoriesFromRootDirs(rootDirs: string[], basePath: string, sc ); } -function getCompletionEntriesForDirectoryFragmentWithRootDirs(rootDirs: string[], fragment: string, scriptDirectory: string, extensionOptions: ExtensionOptions, compilerOptions: CompilerOptions, host: LanguageServiceHost, exclude: string): readonly NameAndKind[] { +function getCompletionEntriesForDirectoryFragmentWithRootDirs(rootDirs: string[], fragment: string, scriptDirectory: string, extensionOptions: ExtensionOptions, program: Program, host: LanguageServiceHost, exclude: string): readonly NameAndKind[] { + const compilerOptions = program.getCompilerOptions(); const basePath = compilerOptions.project || host.getCurrentDirectory(); const ignoreCase = !(host.useCaseSensitiveFileNames && host.useCaseSensitiveFileNames()); const baseDirectories = getBaseDirectoriesFromRootDirs(rootDirs, basePath, scriptDirectory, ignoreCase); return deduplicate( - flatMap(baseDirectories, baseDirectory => arrayFrom(getCompletionEntriesForDirectoryFragment(fragment, baseDirectory, extensionOptions, host, /*moduleSpecifierIsRelative*/ true, exclude).values())), + flatMap(baseDirectories, baseDirectory => arrayFrom(getCompletionEntriesForDirectoryFragment(fragment, baseDirectory, extensionOptions, program, host, /*moduleSpecifierIsRelative*/ true, exclude).values())), (itemA, itemB) => itemA.name === itemB.name && itemA.kind === itemB.kind && itemA.extension === itemB.extension, ); } @@ -707,6 +709,7 @@ function getCompletionEntriesForDirectoryFragment( fragment: string, scriptDirectory: string, extensionOptions: ExtensionOptions, + program: Program, host: LanguageServiceHost, moduleSpecifierIsRelative: boolean, exclude?: string, @@ -746,7 +749,7 @@ function getCompletionEntriesForDirectoryFragment( if (versionPaths) { const packageDirectory = getDirectoryPath(packageJsonPath); const pathInPackage = absolutePath.slice(ensureTrailingDirectorySeparator(packageDirectory).length); - if (addCompletionEntriesFromPaths(result, pathInPackage, packageDirectory, extensionOptions, host, versionPaths)) { + if (addCompletionEntriesFromPaths(result, pathInPackage, packageDirectory, extensionOptions, program, host, versionPaths)) { // A true result means one of the `versionPaths` was matched, which will block relative resolution // to files and folders from here. All reachable paths given the pattern match are already added. return result; @@ -769,7 +772,7 @@ function getCompletionEntriesForDirectoryFragment( continue; } - const { name, extension } = getFilenameWithExtensionOption(getBaseFileName(filePath), host.getCompilationSettings(), extensionOptions, /*isExportsWildcard*/ false); + const { name, extension } = getFilenameWithExtensionOption(getBaseFileName(filePath), program, extensionOptions, /*isExportsWildcard*/ false); result.add(nameAndKind(name, ScriptElementKind.scriptElement, extension)); } } @@ -789,7 +792,7 @@ function getCompletionEntriesForDirectoryFragment( return result; } -function getFilenameWithExtensionOption(name: string, compilerOptions: CompilerOptions, extensionOptions: ExtensionOptions, isExportsWildcard: boolean): { name: string; extension: Extension | undefined; } { +function getFilenameWithExtensionOption(name: string, program: Program, extensionOptions: ExtensionOptions, isExportsWildcard: boolean): { name: string; extension: Extension | undefined; } { const nonJsResult = moduleSpecifiers.tryGetRealFileNameForNonJsDeclarationFileName(name); if (nonJsResult) { return { name: nonJsResult, extension: tryGetExtensionFromPath(nonJsResult) }; @@ -800,7 +803,8 @@ function getFilenameWithExtensionOption(name: string, compilerOptions: CompilerO let allowedEndings = getModuleSpecifierPreferences( { importModuleSpecifierEnding: extensionOptions.endingPreference }, - compilerOptions, + program, + program.getCompilerOptions(), extensionOptions.importingSourceFile, ).getAllowedEndingsInPreferredOrder(extensionOptions.resolutionMode); @@ -814,7 +818,7 @@ function getFilenameWithExtensionOption(name: string, compilerOptions: CompilerO if (fileExtensionIsOneOf(name, supportedTSImplementationExtensions)) { return { name, extension: tryGetExtensionFromPath(name) }; } - const outputExtension = moduleSpecifiers.tryGetJSExtensionForFile(name, compilerOptions); + const outputExtension = moduleSpecifiers.tryGetJSExtensionForFile(name, program.getCompilerOptions()); return outputExtension ? { name: changeExtension(name, outputExtension), extension: outputExtension } : { name, extension: tryGetExtensionFromPath(name) }; @@ -828,7 +832,7 @@ function getFilenameWithExtensionOption(name: string, compilerOptions: CompilerO return { name: removeFileExtension(name), extension: tryGetExtensionFromPath(name) }; } - const outputExtension = moduleSpecifiers.tryGetJSExtensionForFile(name, compilerOptions); + const outputExtension = moduleSpecifiers.tryGetJSExtensionForFile(name, program.getCompilerOptions()); return outputExtension ? { name: changeExtension(name, outputExtension), extension: outputExtension } : { name, extension: tryGetExtensionFromPath(name) }; @@ -840,6 +844,7 @@ function addCompletionEntriesFromPaths( fragment: string, baseDirectory: string, extensionOptions: ExtensionOptions, + program: Program, host: LanguageServiceHost, paths: MapLike, ) { @@ -851,7 +856,7 @@ function addCompletionEntriesFromPaths( const lengthB = typeof patternB === "object" ? patternB.prefix.length : b.length; return compareValues(lengthB, lengthA); }; - return addCompletionEntriesFromPathsOrExports(result, /*isExports*/ false, fragment, baseDirectory, extensionOptions, host, getOwnKeys(paths), getPatternsForKey, comparePaths); + return addCompletionEntriesFromPathsOrExports(result, /*isExports*/ false, fragment, baseDirectory, extensionOptions, program, host, getOwnKeys(paths), getPatternsForKey, comparePaths); } /** @returns whether `fragment` was a match for any `paths` (which should indicate whether any other path completions should be offered) */ @@ -861,6 +866,7 @@ function addCompletionEntriesFromPathsOrExports( fragment: string, baseDirectory: string, extensionOptions: ExtensionOptions, + program: Program, host: LanguageServiceHost, keys: readonly string[], getPatternsForKey: (key: string) => string[] | undefined, @@ -895,7 +901,7 @@ function addCompletionEntriesFromPathsOrExports( if (typeof pathPattern === "string" || matchedPath === undefined || comparePaths(key, matchedPath) !== Comparison.GreaterThan) { pathResults.push({ matchedPattern: isMatch, - results: getCompletionsForPathMapping(keyWithoutLeadingDotSlash, patterns, fragment, baseDirectory, extensionOptions, isExports && isMatch, host) + results: getCompletionsForPathMapping(keyWithoutLeadingDotSlash, patterns, fragment, baseDirectory, extensionOptions, isExports && isMatch, program, host) .map(({ name, kind, extension }) => nameAndKind(name, kind, extension)), }); } @@ -917,11 +923,12 @@ function getCompletionEntriesForNonRelativeModules( fragment: string, scriptPath: string, mode: ResolutionMode, - compilerOptions: CompilerOptions, + program: Program, host: LanguageServiceHost, extensionOptions: ExtensionOptions, - typeChecker: TypeChecker, ): readonly NameAndKind[] { + const typeChecker = program.getTypeChecker(); + const compilerOptions = program.getCompilerOptions(); const { baseUrl, paths } = compilerOptions; const result = createNameAndKindSet(); @@ -929,12 +936,12 @@ function getCompletionEntriesForNonRelativeModules( if (baseUrl) { const absolute = normalizePath(combinePaths(host.getCurrentDirectory(), baseUrl)); - getCompletionEntriesForDirectoryFragment(fragment, absolute, extensionOptions, host, /*moduleSpecifierIsRelative*/ false, /*exclude*/ undefined, result); + getCompletionEntriesForDirectoryFragment(fragment, absolute, extensionOptions, program, host, /*moduleSpecifierIsRelative*/ false, /*exclude*/ undefined, result); } if (paths) { const absolute = getPathsBasePath(compilerOptions, host)!; - addCompletionEntriesFromPaths(result, fragment, absolute, extensionOptions, host, paths); + addCompletionEntriesFromPaths(result, fragment, absolute, extensionOptions, program, host, paths); } const fragmentDirectory = getFragmentDirectory(fragment); @@ -942,7 +949,7 @@ function getCompletionEntriesForNonRelativeModules( result.add(nameAndKind(ambientName, ScriptElementKind.externalModuleName, /*extension*/ undefined)); } - getCompletionEntriesFromTypings(host, compilerOptions, scriptPath, fragmentDirectory, extensionOptions, result); + getCompletionEntriesFromTypings(host, program, scriptPath, fragmentDirectory, extensionOptions, result); if (moduleResolutionUsesNodeModules(moduleResolution)) { // If looking for a global package name, don't just include everything in `node_modules` because that includes dependencies' own dependencies. @@ -961,7 +968,7 @@ function getCompletionEntriesForNonRelativeModules( let ancestorLookup: (directory: string) => void | undefined = ancestor => { const nodeModules = combinePaths(ancestor, "node_modules"); if (tryDirectoryExists(host, nodeModules)) { - getCompletionEntriesForDirectoryFragment(fragment, nodeModules, extensionOptions, host, /*moduleSpecifierIsRelative*/ false, /*exclude*/ undefined, result); + getCompletionEntriesForDirectoryFragment(fragment, nodeModules, extensionOptions, program, host, /*moduleSpecifierIsRelative*/ false, /*exclude*/ undefined, result); } }; if (fragmentDirectory && getResolvePackageJsonExports(compilerOptions)) { @@ -998,6 +1005,7 @@ function getCompletionEntriesForNonRelativeModules( fragmentSubpath, packageDirectory, extensionOptions, + program, host, keys, key => singleElementArray(getPatternFromFirstMatchingCondition(exports[key], conditions)), @@ -1041,6 +1049,7 @@ function getCompletionsForPathMapping( packageDirectory: string, extensionOptions: ExtensionOptions, isExportsWildcard: boolean, + program: Program, host: LanguageServiceHost, ): readonly NameAndKind[] { if (!endsWith(path, "*")) { @@ -1052,9 +1061,9 @@ function getCompletionsForPathMapping( const remainingFragment = tryRemovePrefix(fragment, pathPrefix); if (remainingFragment === undefined) { const starIsFullPathComponent = path[path.length - 2] === "/"; - return starIsFullPathComponent ? justPathMappingName(pathPrefix, ScriptElementKind.directory) : flatMap(patterns, pattern => getModulesForPathsPattern("", packageDirectory, pattern, extensionOptions, isExportsWildcard, host)?.map(({ name, ...rest }) => ({ name: pathPrefix + name, ...rest }))); + return starIsFullPathComponent ? justPathMappingName(pathPrefix, ScriptElementKind.directory) : flatMap(patterns, pattern => getModulesForPathsPattern("", packageDirectory, pattern, extensionOptions, isExportsWildcard, program, host)?.map(({ name, ...rest }) => ({ name: pathPrefix + name, ...rest }))); } - return flatMap(patterns, pattern => getModulesForPathsPattern(remainingFragment, packageDirectory, pattern, extensionOptions, isExportsWildcard, host)); + return flatMap(patterns, pattern => getModulesForPathsPattern(remainingFragment, packageDirectory, pattern, extensionOptions, isExportsWildcard, program, host)); function justPathMappingName(name: string, kind: ScriptElementKind.directory | ScriptElementKind.scriptElement): readonly NameAndKind[] { return startsWith(name, fragment) ? [{ name: removeTrailingDirectorySeparator(name), kind, extension: undefined }] : emptyArray; @@ -1067,6 +1076,7 @@ function getModulesForPathsPattern( pattern: string, extensionOptions: ExtensionOptions, isExportsWildcard: boolean, + program: Program, host: LanguageServiceHost, ): readonly NameAndKind[] | undefined { if (!host.readDirectory) { @@ -1115,7 +1125,7 @@ function getModulesForPathsPattern( if (containsSlash(trimmedWithPattern)) { return directoryResult(getPathComponents(removeLeadingDirectorySeparator(trimmedWithPattern))[1]); } - const { name, extension } = getFilenameWithExtensionOption(trimmedWithPattern, host.getCompilationSettings(), extensionOptions, isExportsWildcard); + const { name, extension } = getFilenameWithExtensionOption(trimmedWithPattern, program, extensionOptions, isExportsWildcard); return nameAndKind(name, ScriptElementKind.scriptElement, extension); } }); @@ -1159,7 +1169,8 @@ function getAmbientModuleCompletions(fragment: string, fragmentDirectory: string return nonRelativeModuleNames; } -function getTripleSlashReferenceCompletion(sourceFile: SourceFile, position: number, compilerOptions: CompilerOptions, host: LanguageServiceHost): readonly PathCompletion[] | undefined { +function getTripleSlashReferenceCompletion(sourceFile: SourceFile, position: number, program: Program, host: LanguageServiceHost): readonly PathCompletion[] | undefined { + const compilerOptions = program.getCompilerOptions(); const token = getTokenAtPosition(sourceFile, position); const commentRanges = getLeadingCommentRanges(sourceFile.text, token.pos); const range = commentRanges && find(commentRanges, commentRange => position >= commentRange.pos && position <= commentRange.end); @@ -1174,13 +1185,14 @@ function getTripleSlashReferenceCompletion(sourceFile: SourceFile, position: num const [, prefix, kind, toComplete] = match; const scriptPath = getDirectoryPath(sourceFile.path); - const names = kind === "path" ? getCompletionEntriesForDirectoryFragment(toComplete, scriptPath, getExtensionOptions(compilerOptions, ReferenceKind.Filename, sourceFile), host, /*moduleSpecifierIsRelative*/ true, sourceFile.path) - : kind === "types" ? getCompletionEntriesFromTypings(host, compilerOptions, scriptPath, getFragmentDirectory(toComplete), getExtensionOptions(compilerOptions, ReferenceKind.ModuleSpecifier, sourceFile)) + const names = kind === "path" ? getCompletionEntriesForDirectoryFragment(toComplete, scriptPath, getExtensionOptions(compilerOptions, ReferenceKind.Filename, sourceFile), program, host, /*moduleSpecifierIsRelative*/ true, sourceFile.path) + : kind === "types" ? getCompletionEntriesFromTypings(host, program, scriptPath, getFragmentDirectory(toComplete), getExtensionOptions(compilerOptions, ReferenceKind.ModuleSpecifier, sourceFile)) : Debug.fail(); return addReplacementSpans(toComplete, range.pos + prefix.length, arrayFrom(names.values())); } -function getCompletionEntriesFromTypings(host: LanguageServiceHost, options: CompilerOptions, scriptPath: string, fragmentDirectory: string | undefined, extensionOptions: ExtensionOptions, result = createNameAndKindSet()): NameAndKindSet { +function getCompletionEntriesFromTypings(host: LanguageServiceHost, program: Program, scriptPath: string, fragmentDirectory: string | undefined, extensionOptions: ExtensionOptions, result = createNameAndKindSet()): NameAndKindSet { + const options = program.getCompilerOptions(); // Check for typings specified in compiler options const seen = new Map(); @@ -1215,7 +1227,7 @@ function getCompletionEntriesFromTypings(host: LanguageServiceHost, options: Com const baseDirectory = combinePaths(directory, typeDirectoryName); const remainingFragment = tryRemoveDirectoryPrefix(fragmentDirectory, packageName, hostGetCanonicalFileName(host)); if (remainingFragment !== undefined) { - getCompletionEntriesForDirectoryFragment(remainingFragment, baseDirectory, extensionOptions, host, /*moduleSpecifierIsRelative*/ false, /*exclude*/ undefined, result); + getCompletionEntriesForDirectoryFragment(remainingFragment, baseDirectory, extensionOptions, program, host, /*moduleSpecifierIsRelative*/ false, /*exclude*/ undefined, result); } } } diff --git a/src/services/suggestionDiagnostics.ts b/src/services/suggestionDiagnostics.ts index b5daa7052b8..a5daf3e6666 100644 --- a/src/services/suggestionDiagnostics.ts +++ b/src/services/suggestionDiagnostics.ts @@ -66,7 +66,7 @@ export function computeSuggestionDiagnostics(sourceFile: SourceFile, program: Pr program.getSemanticDiagnostics(sourceFile, cancellationToken); const diags: DiagnosticWithLocation[] = []; const checker = program.getTypeChecker(); - const isCommonJSFile = sourceFile.impliedNodeFormat === ModuleKind.CommonJS || fileExtensionIsOneOf(sourceFile.fileName, [Extension.Cts, Extension.Cjs]); + const isCommonJSFile = program.getImpliedNodeFormatForEmit(sourceFile) === ModuleKind.CommonJS || fileExtensionIsOneOf(sourceFile.fileName, [Extension.Cts, Extension.Cjs]); if ( !isCommonJSFile && diff --git a/src/services/utilities.ts b/src/services/utilities.ts index a34b936d7a2..9c954d43189 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -95,6 +95,7 @@ import { getEmitModuleKind, getEmitScriptTarget, getExternalModuleImportEqualsDeclarationExpression, + getImpliedNodeFormatForEmitWorker, getImpliedNodeFormatForFile, getImpliedNodeFormatForFileWorker, getIndentString, @@ -2476,6 +2477,8 @@ export function createModuleSpecifierResolutionHost(program: Program, host: Lang getNearestAncestorDirectoryWithPackageJson: maybeBind(host, host.getNearestAncestorDirectoryWithPackageJson), getFileIncludeReasons: () => program.getFileIncludeReasons(), getCommonSourceDirectory: () => program.getCommonSourceDirectory(), + getDefaultResolutionModeForFile: file => program.getDefaultResolutionModeForFile(file), + getModeForResolutionAtIndex: (file, index) => program.getModeForResolutionAtIndex(file, index), }; } @@ -3987,22 +3990,13 @@ export function firstOrOnly(valueOrArray: T | readonly T[]): T { return isArray(valueOrArray) ? first(valueOrArray) : valueOrArray; } -/** @internal */ -export function getNamesForExportedSymbol(symbol: Symbol, scriptTarget: ScriptTarget | undefined): string | [lowercase: string, capitalized: string] { - if (needsNameFromDeclaration(symbol)) { - const fromDeclaration = getDefaultLikeExportNameFromDeclaration(symbol); - if (fromDeclaration) return fromDeclaration; - const fileNameCase = moduleSymbolToValidIdentifier(getSymbolParentOrFail(symbol), scriptTarget, /*forceCapitalize*/ false); - const capitalized = moduleSymbolToValidIdentifier(getSymbolParentOrFail(symbol), scriptTarget, /*forceCapitalize*/ true); - if (fileNameCase === capitalized) return fileNameCase; - return [fileNameCase, capitalized]; - } - return symbol.name; -} - -/** @internal */ +/** + * If a type checker and multiple files are available, consider using `forEachNameOfDefaultExport` + * instead, which searches for names of re-exported defaults/namespaces in target files. + * @internal + */ export function getNameForExportedSymbol(symbol: Symbol, scriptTarget: ScriptTarget | undefined, preferCapitalized?: boolean) { - if (needsNameFromDeclaration(symbol)) { + if (symbol.escapedName === InternalSymbolName.ExportEquals || symbol.escapedName === InternalSymbolName.Default) { // Names for default exports: // - export default foo => foo // - export { foo as default } => foo @@ -4013,11 +4007,11 @@ export function getNameForExportedSymbol(symbol: Symbol, scriptTarget: ScriptTar return symbol.name; } -function needsNameFromDeclaration(symbol: Symbol) { - return !(symbol.flags & SymbolFlags.Transient) && (symbol.escapedName === InternalSymbolName.ExportEquals || symbol.escapedName === InternalSymbolName.Default); -} - -/** @internal */ +/** + * If a type checker and multiple files are available, consider using `forEachNameOfDefaultExport` + * instead, which searches for names of re-exported defaults/namespaces in target files. + * @internal + */ export function getDefaultLikeExportNameFromDeclaration(symbol: Symbol): string | undefined { return firstDefined(symbol.declarations, d => { // "export default" in this case. See `ExportAssignment`for more details. @@ -4250,11 +4244,13 @@ export function fileShouldUseJavaScriptRequire(file: SourceFile | string, progra if (!hasJSFileExtension(fileName)) { return false; } - const compilerOptions = program.getCompilerOptions(); + const compilerOptions = typeof file === "string" ? program.getCompilerOptions() : program.getCompilerOptionsForFile(file); const moduleKind = getEmitModuleKind(compilerOptions); - const impliedNodeFormat = typeof file === "string" - ? getImpliedNodeFormatForFile(toPath(file, host.getCurrentDirectory(), hostGetCanonicalFileName(host)), program.getPackageJsonInfoCache?.(), host, compilerOptions) - : file.impliedNodeFormat; + const sourceFileLike = typeof file === "string" ? { + fileName: file, + impliedNodeFormat: getImpliedNodeFormatForFile(toPath(file, host.getCurrentDirectory(), hostGetCanonicalFileName(host)), program.getPackageJsonInfoCache?.(), host, compilerOptions), + } : file; + const impliedNodeFormat = getImpliedNodeFormatForEmitWorker(sourceFileLike, compilerOptions); if (impliedNodeFormat === ModuleKind.ESNext) { return false; diff --git a/src/testRunner/unittests/tsc/projectReferences.ts b/src/testRunner/unittests/tsc/projectReferences.ts index 1b446a99574..d1dda68e078 100644 --- a/src/testRunner/unittests/tsc/projectReferences.ts +++ b/src/testRunner/unittests/tsc/projectReferences.ts @@ -44,6 +44,51 @@ describe("unittests:: tsc:: projectReferences::", () => { commandLineArgs: ["--p", "src/project"], }); + verifyTsc({ + scenario: "projectReferences", + subScenario: "default import interop uses referenced project settings", + fs: () => + loadProjectFromFiles({ + "/node_modules/ambiguous-package/package.json": `{ "name": "ambiguous-package" }`, + "/node_modules/ambiguous-package/index.d.ts": "export declare const ambiguous: number;", + "/node_modules/esm-package/package.json": `{ "name": "esm-package", "type": "module" }`, + "/node_modules/esm-package/index.d.ts": "export declare const esm: number;", + "/lib/tsconfig.json": jsonToReadableText({ + compilerOptions: { + composite: true, + declaration: true, + rootDir: "src", + outDir: "dist", + module: "esnext", + moduleResolution: "bundler", + }, + include: ["src"], + }), + "/lib/src/a.ts": "export const a = 0;", + "/lib/dist/a.d.ts": "export declare const a = 0;", + "/app/tsconfig.json": jsonToReadableText({ + compilerOptions: { + module: "esnext", + moduleResolution: "bundler", + rootDir: "src", + outDir: "dist", + }, + include: ["src"], + references: [ + { path: "../lib" }, + ], + }), + "/app/src/local.ts": "export const local = 0;", + "/app/src/index.ts": ` + import local from "./local"; // Error + import esm from "esm-package"; // Error + import referencedSource from "../../lib/src/a"; // Error + import referencedDeclaration from "../../lib/dist/a"; // Error + import ambiguous from "ambiguous-package"; // Ok`, + }), + commandLineArgs: ["--p", "app", "--pretty", "false"], + }); + verifyTsc({ scenario: "projectReferences", subScenario: "referencing ambient const enum from referenced project with preserveConstEnums", diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index fecf389b0c2..f76ecc40be3 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -5991,19 +5991,67 @@ declare namespace ts { isSourceFileFromExternalLibrary(file: SourceFile): boolean; isSourceFileDefaultLibrary(file: SourceFile): boolean; /** - * Calculates the final resolution mode for a given module reference node. This is the resolution mode explicitly provided via import - * attributes, if present, or the syntax the usage would have if emitted to JavaScript. In `--module node16` or `nodenext`, this may - * depend on the file's `impliedNodeFormat`. In `--module preserve`, it depends only on the input syntax of the reference. In other - * `module` modes, when overriding import attributes are not provided, this function returns `undefined`, as the result would have no - * impact on module resolution, emit, or type checking. + * Calculates the final resolution mode for a given module reference node. This function only returns a result when module resolution + * settings allow differing resolution between ESM imports and CJS requires, or when a mode is explicitly provided via import attributes, + * which cause an `import` or `require` condition to be used during resolution regardless of module resolution settings. In absence of + * overriding attributes, and in modes that support differing resolution, the result indicates the syntax the usage would emit to JavaScript. + * Some examples: + * + * ```ts + * // tsc foo.mts --module nodenext + * import {} from "mod"; + * // Result: ESNext - the import emits as ESM due to `impliedNodeFormat` set by .mts file extension + * + * // tsc foo.cts --module nodenext + * import {} from "mod"; + * // Result: CommonJS - the import emits as CJS due to `impliedNodeFormat` set by .cts file extension + * + * // tsc foo.ts --module preserve --moduleResolution bundler + * import {} from "mod"; + * // Result: ESNext - the import emits as ESM due to `--module preserve` and `--moduleResolution bundler` + * // supports conditional imports/exports + * + * // tsc foo.ts --module preserve --moduleResolution node10 + * import {} from "mod"; + * // Result: undefined - the import emits as ESM due to `--module preserve`, but `--moduleResolution node10` + * // does not support conditional imports/exports + * + * // tsc foo.ts --module commonjs --moduleResolution node10 + * import type {} from "mod" with { "resolution-mode": "import" }; + * // Result: ESNext - conditional imports/exports always supported with "resolution-mode" attribute + * ``` */ getModeForUsageLocation(file: SourceFile, usage: StringLiteralLike): ResolutionMode; /** - * Calculates the final resolution mode for an import at some index within a file's `imports` list. This is the resolution mode - * explicitly provided via import attributes, if present, or the syntax the usage would have if emitted to JavaScript. In - * `--module node16` or `nodenext`, this may depend on the file's `impliedNodeFormat`. In `--module preserve`, it depends only on the - * input syntax of the reference. In other `module` modes, when overriding import attributes are not provided, this function returns - * `undefined`, as the result would have no impact on module resolution, emit, or type checking. + * Calculates the final resolution mode for an import at some index within a file's `imports` list. This function only returns a result + * when module resolution settings allow differing resolution between ESM imports and CJS requires, or when a mode is explicitly provided + * via import attributes, which cause an `import` or `require` condition to be used during resolution regardless of module resolution + * settings. In absence of overriding attributes, and in modes that support differing resolution, the result indicates the syntax the + * usage would emit to JavaScript. Some examples: + * + * ```ts + * // tsc foo.mts --module nodenext + * import {} from "mod"; + * // Result: ESNext - the import emits as ESM due to `impliedNodeFormat` set by .mts file extension + * + * // tsc foo.cts --module nodenext + * import {} from "mod"; + * // Result: CommonJS - the import emits as CJS due to `impliedNodeFormat` set by .cts file extension + * + * // tsc foo.ts --module preserve --moduleResolution bundler + * import {} from "mod"; + * // Result: ESNext - the import emits as ESM due to `--module preserve` and `--moduleResolution bundler` + * // supports conditional imports/exports + * + * // tsc foo.ts --module preserve --moduleResolution node10 + * import {} from "mod"; + * // Result: undefined - the import emits as ESM due to `--module preserve`, but `--moduleResolution node10` + * // does not support conditional imports/exports + * + * // tsc foo.ts --module commonjs --moduleResolution node10 + * import type {} from "mod" with { "resolution-mode": "import" }; + * // Result: ESNext - conditional imports/exports always supported with "resolution-mode" attribute + * ``` */ getModeForResolutionAtIndex(file: SourceFile, index: number): ResolutionMode; getProjectReferences(): readonly ProjectReference[] | undefined; @@ -9362,24 +9410,43 @@ declare namespace ts { function getModeForResolutionAtIndex(file: SourceFile, index: number, compilerOptions: CompilerOptions): ResolutionMode; /** * Use `program.getModeForUsageLocation`, which retrieves the correct `compilerOptions`, instead of this function whenever possible. - * Calculates the final resolution mode for a given module reference node. This is the resolution mode explicitly provided via import - * attributes, if present, or the syntax the usage would have if emitted to JavaScript. In `--module node16` or `nodenext`, this may - * depend on the file's `impliedNodeFormat`. In `--module preserve`, it depends only on the input syntax of the reference. In other - * `module` modes, when overriding import attributes are not provided, this function returns `undefined`, as the result would have no - * impact on module resolution, emit, or type checking. + * Calculates the final resolution mode for a given module reference node. This function only returns a result when module resolution + * settings allow differing resolution between ESM imports and CJS requires, or when a mode is explicitly provided via import attributes, + * which cause an `import` or `require` condition to be used during resolution regardless of module resolution settings. In absence of + * overriding attributes, and in modes that support differing resolution, the result indicates the syntax the usage would emit to JavaScript. + * Some examples: + * + * ```ts + * // tsc foo.mts --module nodenext + * import {} from "mod"; + * // Result: ESNext - the import emits as ESM due to `impliedNodeFormat` set by .mts file extension + * + * // tsc foo.cts --module nodenext + * import {} from "mod"; + * // Result: CommonJS - the import emits as CJS due to `impliedNodeFormat` set by .cts file extension + * + * // tsc foo.ts --module preserve --moduleResolution bundler + * import {} from "mod"; + * // Result: ESNext - the import emits as ESM due to `--module preserve` and `--moduleResolution bundler` + * // supports conditional imports/exports + * + * // tsc foo.ts --module preserve --moduleResolution node10 + * import {} from "mod"; + * // Result: undefined - the import emits as ESM due to `--module preserve`, but `--moduleResolution node10` + * // does not support conditional imports/exports + * + * // tsc foo.ts --module commonjs --moduleResolution node10 + * import type {} from "mod" with { "resolution-mode": "import" }; + * // Result: ESNext - conditional imports/exports always supported with "resolution-mode" attribute + * ``` + * * @param file The file the import or import-like reference is contained within * @param usage The module reference string * @param compilerOptions The compiler options for the program that owns the file. If the file belongs to a referenced project, the compiler options * should be the options of the referenced project, not the referencing project. * @returns The final resolution mode of the import */ - function getModeForUsageLocation( - file: { - impliedNodeFormat?: ResolutionMode; - }, - usage: StringLiteralLike, - compilerOptions: CompilerOptions, - ): ModuleKind.CommonJS | ModuleKind.ESNext | undefined; + function getModeForUsageLocation(file: SourceFile, usage: StringLiteralLike, compilerOptions: CompilerOptions): ResolutionMode; function getConfigFileParsingDiagnostics(configFileParseResult: ParsedCommandLine): readonly Diagnostic[]; /** * A function for determining if a given file is esm or cjs format, assuming modern node module resolution rules, as configured by the diff --git a/tests/baselines/reference/conditionalExportsResolutionFallback(moduleresolution=bundler).errors.txt b/tests/baselines/reference/conditionalExportsResolutionFallback(moduleresolution=bundler).errors.txt deleted file mode 100644 index e66a5c3dddd..00000000000 --- a/tests/baselines/reference/conditionalExportsResolutionFallback(moduleresolution=bundler).errors.txt +++ /dev/null @@ -1,29 +0,0 @@ -error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. - - -!!! error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. -==== /node_modules/dep/package.json (0 errors) ==== - { - "name": "dep", - "version": "1.0.0", - "exports": { - ".": { - "import": "./dist/index.mjs", - "require": "./dist/index.js", - "types": "./dist/index.d.ts", - } - } - } - -==== /node_modules/dep/dist/index.d.ts (0 errors) ==== - export {}; - -==== /node_modules/dep/dist/index.mjs (0 errors) ==== - export {}; - -==== /index.mts (0 errors) ==== - import {} from "dep"; - // Should be an untyped resolution to dep/dist/index.mjs, - // but the first search is only for TS files, and when - // there's no dist/index.d.mts, it continues looking for - // matching conditions and resolves via `types`. \ No newline at end of file diff --git a/tests/baselines/reference/customConditions(resolvepackagejsonexports=false).errors.txt b/tests/baselines/reference/customConditions(resolvepackagejsonexports=false).errors.txt deleted file mode 100644 index 9e462a35eaf..00000000000 --- a/tests/baselines/reference/customConditions(resolvepackagejsonexports=false).errors.txt +++ /dev/null @@ -1,31 +0,0 @@ -error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. - - -!!! error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. -==== /node_modules/lodash/package.json (0 errors) ==== - { - "name": "lodash", - "version": "1.0.0", - "main": "index.js", - "exports": { - "browser": "./browser.js", - "webpack": "./webpack.js", - "default": "./index.js" - } - } - -==== /node_modules/lodash/index.d.ts (0 errors) ==== - declare const _: "index"; - export = _; - -==== /node_modules/lodash/browser.d.ts (0 errors) ==== - declare const _: "browser"; - export default _; - -==== /node_modules/lodash/webpack.d.ts (0 errors) ==== - declare const _: "webpack"; - export = _; - -==== /index.ts (0 errors) ==== - import _ from "lodash"; - \ No newline at end of file diff --git a/tests/baselines/reference/customConditions(resolvepackagejsonexports=false).js b/tests/baselines/reference/customConditions(resolvepackagejsonexports=false).js index 1ac29a4a032..2d484ff74b5 100644 --- a/tests/baselines/reference/customConditions(resolvepackagejsonexports=false).js +++ b/tests/baselines/reference/customConditions(resolvepackagejsonexports=false).js @@ -29,5 +29,3 @@ import _ from "lodash"; //// [index.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/customConditions(resolvepackagejsonexports=true).errors.txt b/tests/baselines/reference/customConditions(resolvepackagejsonexports=true).errors.txt deleted file mode 100644 index 9e462a35eaf..00000000000 --- a/tests/baselines/reference/customConditions(resolvepackagejsonexports=true).errors.txt +++ /dev/null @@ -1,31 +0,0 @@ -error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. - - -!!! error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. -==== /node_modules/lodash/package.json (0 errors) ==== - { - "name": "lodash", - "version": "1.0.0", - "main": "index.js", - "exports": { - "browser": "./browser.js", - "webpack": "./webpack.js", - "default": "./index.js" - } - } - -==== /node_modules/lodash/index.d.ts (0 errors) ==== - declare const _: "index"; - export = _; - -==== /node_modules/lodash/browser.d.ts (0 errors) ==== - declare const _: "browser"; - export default _; - -==== /node_modules/lodash/webpack.d.ts (0 errors) ==== - declare const _: "webpack"; - export = _; - -==== /index.ts (0 errors) ==== - import _ from "lodash"; - \ No newline at end of file diff --git a/tests/baselines/reference/customConditions(resolvepackagejsonexports=true).js b/tests/baselines/reference/customConditions(resolvepackagejsonexports=true).js index 1ac29a4a032..2d484ff74b5 100644 --- a/tests/baselines/reference/customConditions(resolvepackagejsonexports=true).js +++ b/tests/baselines/reference/customConditions(resolvepackagejsonexports=true).js @@ -29,5 +29,3 @@ import _ from "lodash"; //// [index.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/emitHelpersWithLocalCollisions(module=node16).js b/tests/baselines/reference/emitHelpersWithLocalCollisions(module=node16).js index 2bf5641f43b..47204b7a76f 100644 --- a/tests/baselines/reference/emitHelpersWithLocalCollisions(module=node16).js +++ b/tests/baselines/reference/emitHelpersWithLocalCollisions(module=node16).js @@ -10,20 +10,17 @@ const y = { ...o }; //// [a.js] -"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.A = void 0; let A = class A { }; -exports.A = A; -exports.A = A = __decorate([ +A = __decorate([ dec ], A); +export { A }; const o = { a: 1 }; const y = Object.assign({}, o); diff --git a/tests/baselines/reference/emitHelpersWithLocalCollisions(module=nodenext).js b/tests/baselines/reference/emitHelpersWithLocalCollisions(module=nodenext).js index 2bf5641f43b..47204b7a76f 100644 --- a/tests/baselines/reference/emitHelpersWithLocalCollisions(module=nodenext).js +++ b/tests/baselines/reference/emitHelpersWithLocalCollisions(module=nodenext).js @@ -10,20 +10,17 @@ const y = { ...o }; //// [a.js] -"use strict"; var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; return c > 3 && r && Object.defineProperty(target, key, r), r; }; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.A = void 0; let A = class A { }; -exports.A = A; -exports.A = A = __decorate([ +A = __decorate([ dec ], A); +export { A }; const o = { a: 1 }; const y = Object.assign({}, o); diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).js b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).js new file mode 100644 index 00000000000..0c1812fa064 --- /dev/null +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).js @@ -0,0 +1,25 @@ +//// [tests/cases/compiler/esmNoSynthesizedDefault.ts] //// + +//// [package.json] +{ "type": "module" } + +//// [index.d.ts] +export function toString(): string; + +//// [index.ts] +import mdast, { toString } from 'mdast-util-to-string'; +mdast; +mdast.toString(); + +const mdast2 = await import('mdast-util-to-string'); +mdast2.toString(); +mdast2.default; + + +//// [index.js] +import mdast from 'mdast-util-to-string'; +mdast; +mdast.toString(); +const mdast2 = await import('mdast-util-to-string'); +mdast2.toString(); +mdast2.default; diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).symbols b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).symbols new file mode 100644 index 00000000000..49f52de2941 --- /dev/null +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).symbols @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/esmNoSynthesizedDefault.ts] //// + +=== /node_modules/mdast-util-to-string/index.d.ts === +export function toString(): string; +>toString : Symbol(toString, Decl(index.d.ts, 0, 0)) + +=== /index.ts === +import mdast, { toString } from 'mdast-util-to-string'; +>mdast : Symbol(mdast, Decl(index.ts, 0, 6)) +>toString : Symbol(toString, Decl(index.ts, 0, 15)) + +mdast; +>mdast : Symbol(mdast, Decl(index.ts, 0, 6)) + +mdast.toString(); +>mdast.toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) +>mdast : Symbol(mdast, Decl(index.ts, 0, 6)) +>toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) + +const mdast2 = await import('mdast-util-to-string'); +>mdast2 : Symbol(mdast2, Decl(index.ts, 4, 5)) +>'mdast-util-to-string' : Symbol(mdast, Decl(index.d.ts, 0, 0)) + +mdast2.toString(); +>mdast2.toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) +>mdast2 : Symbol(mdast2, Decl(index.ts, 4, 5)) +>toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) + +mdast2.default; +>mdast2.default : Symbol(mdast.default) +>mdast2 : Symbol(mdast2, Decl(index.ts, 4, 5)) +>default : Symbol(mdast.default) + diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types new file mode 100644 index 00000000000..fa24f3a5362 --- /dev/null +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types @@ -0,0 +1,56 @@ +//// [tests/cases/compiler/esmNoSynthesizedDefault.ts] //// + +=== /node_modules/mdast-util-to-string/index.d.ts === +export function toString(): string; +>toString : () => string +> : ^^^^^^ + +=== /index.ts === +import mdast, { toString } from 'mdast-util-to-string'; +>mdast : typeof mdast +> : ^^^^^^^^^^^^ +>toString : () => string +> : ^^^^^^ + +mdast; +>mdast : typeof mdast +> : ^^^^^^^^^^^^ + +mdast.toString(); +>mdast.toString() : string +> : ^^^^^^ +>mdast.toString : () => string +> : ^^^^^^ +>mdast : typeof mdast +> : ^^^^^^^^^^^^ +>toString : () => string +> : ^^^^^^ + +const mdast2 = await import('mdast-util-to-string'); +>mdast2 : { default: typeof mdast; toString(): string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>await import('mdast-util-to-string') : { default: typeof mdast; toString(): string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>import('mdast-util-to-string') : Promise<{ default: typeof mdast; toString(): string; }> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ +>'mdast-util-to-string' : "mdast-util-to-string" +> : ^^^^^^^^^^^^^^^^^^^^^^ + +mdast2.toString(); +>mdast2.toString() : string +> : ^^^^^^ +>mdast2.toString : () => string +> : ^^^^^^ +>mdast2 : { default: typeof mdast; toString(): string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>toString : () => string +> : ^^^^^^ + +mdast2.default; +>mdast2.default : typeof mdast +> : ^^^^^^^^^^^^ +>mdast2 : { default: typeof mdast; toString(): string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>default : typeof mdast +> : ^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).js b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).js new file mode 100644 index 00000000000..0c1812fa064 --- /dev/null +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).js @@ -0,0 +1,25 @@ +//// [tests/cases/compiler/esmNoSynthesizedDefault.ts] //// + +//// [package.json] +{ "type": "module" } + +//// [index.d.ts] +export function toString(): string; + +//// [index.ts] +import mdast, { toString } from 'mdast-util-to-string'; +mdast; +mdast.toString(); + +const mdast2 = await import('mdast-util-to-string'); +mdast2.toString(); +mdast2.default; + + +//// [index.js] +import mdast from 'mdast-util-to-string'; +mdast; +mdast.toString(); +const mdast2 = await import('mdast-util-to-string'); +mdast2.toString(); +mdast2.default; diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).symbols b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).symbols new file mode 100644 index 00000000000..49f52de2941 --- /dev/null +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).symbols @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/esmNoSynthesizedDefault.ts] //// + +=== /node_modules/mdast-util-to-string/index.d.ts === +export function toString(): string; +>toString : Symbol(toString, Decl(index.d.ts, 0, 0)) + +=== /index.ts === +import mdast, { toString } from 'mdast-util-to-string'; +>mdast : Symbol(mdast, Decl(index.ts, 0, 6)) +>toString : Symbol(toString, Decl(index.ts, 0, 15)) + +mdast; +>mdast : Symbol(mdast, Decl(index.ts, 0, 6)) + +mdast.toString(); +>mdast.toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) +>mdast : Symbol(mdast, Decl(index.ts, 0, 6)) +>toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) + +const mdast2 = await import('mdast-util-to-string'); +>mdast2 : Symbol(mdast2, Decl(index.ts, 4, 5)) +>'mdast-util-to-string' : Symbol(mdast, Decl(index.d.ts, 0, 0)) + +mdast2.toString(); +>mdast2.toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) +>mdast2 : Symbol(mdast2, Decl(index.ts, 4, 5)) +>toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) + +mdast2.default; +>mdast2.default : Symbol(mdast.default) +>mdast2 : Symbol(mdast2, Decl(index.ts, 4, 5)) +>default : Symbol(mdast.default) + diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types new file mode 100644 index 00000000000..fa24f3a5362 --- /dev/null +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types @@ -0,0 +1,56 @@ +//// [tests/cases/compiler/esmNoSynthesizedDefault.ts] //// + +=== /node_modules/mdast-util-to-string/index.d.ts === +export function toString(): string; +>toString : () => string +> : ^^^^^^ + +=== /index.ts === +import mdast, { toString } from 'mdast-util-to-string'; +>mdast : typeof mdast +> : ^^^^^^^^^^^^ +>toString : () => string +> : ^^^^^^ + +mdast; +>mdast : typeof mdast +> : ^^^^^^^^^^^^ + +mdast.toString(); +>mdast.toString() : string +> : ^^^^^^ +>mdast.toString : () => string +> : ^^^^^^ +>mdast : typeof mdast +> : ^^^^^^^^^^^^ +>toString : () => string +> : ^^^^^^ + +const mdast2 = await import('mdast-util-to-string'); +>mdast2 : { default: typeof mdast; toString(): string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>await import('mdast-util-to-string') : { default: typeof mdast; toString(): string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>import('mdast-util-to-string') : Promise<{ default: typeof mdast; toString(): string; }> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ +>'mdast-util-to-string' : "mdast-util-to-string" +> : ^^^^^^^^^^^^^^^^^^^^^^ + +mdast2.toString(); +>mdast2.toString() : string +> : ^^^^^^ +>mdast2.toString : () => string +> : ^^^^^^ +>mdast2 : { default: typeof mdast; toString(): string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>toString : () => string +> : ^^^^^^ + +mdast2.default; +>mdast2.default : typeof mdast +> : ^^^^^^^^^^^^ +>mdast2 : { default: typeof mdast; toString(): string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>default : typeof mdast +> : ^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/impliedNodeFormatEmit1(module=amd).errors.txt b/tests/baselines/reference/impliedNodeFormatEmit1(module=amd).errors.txt new file mode 100644 index 00000000000..b837dc175ce --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit1(module=amd).errors.txt @@ -0,0 +1,37 @@ +error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. + + +!!! error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. +==== /a.ts (0 errors) ==== + export const _ = 0; + +==== /b.mts (0 errors) ==== + export const _ = 0; + +==== /c.cts (0 errors) ==== + export const _ = 0; + +==== /d.js (0 errors) ==== + export const _ = 0; + +==== /e.mjs (0 errors) ==== + export const _ = 0; + +==== /f.mjs (0 errors) ==== + export const _ = 0; + +==== /g.ts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /h.mts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /i.cts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /dummy.ts (0 errors) ==== + export {}; + \ No newline at end of file diff --git a/tests/baselines/reference/impliedNodeFormatEmit1(module=amd).js b/tests/baselines/reference/impliedNodeFormatEmit1(module=amd).js new file mode 100644 index 00000000000..8cdc5ac2b53 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit1(module=amd).js @@ -0,0 +1,98 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit1.ts] //// + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +define(["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports._ = void 0; + exports._ = 0; +}); +//// [b.mjs] +define(["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports._ = void 0; + exports._ = 0; +}); +//// [c.cjs] +define(["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports._ = void 0; + exports._ = 0; +}); +//// [d.js] +define(["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports._ = void 0; + exports._ = 0; +}); +//// [e.mjs] +define(["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports._ = void 0; + exports._ = 0; +}); +//// [f.mjs] +define(["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports._ = void 0; + exports._ = 0; +}); +//// [g.js] +define(["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +//// [h.mjs] +define(["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +//// [i.cjs] +define(["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +//// [dummy.js] +define(["require", "exports"], function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); diff --git a/tests/baselines/reference/impliedNodeFormatEmit1(module=commonjs).errors.txt b/tests/baselines/reference/impliedNodeFormatEmit1(module=commonjs).errors.txt new file mode 100644 index 00000000000..b837dc175ce --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit1(module=commonjs).errors.txt @@ -0,0 +1,37 @@ +error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. + + +!!! error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. +==== /a.ts (0 errors) ==== + export const _ = 0; + +==== /b.mts (0 errors) ==== + export const _ = 0; + +==== /c.cts (0 errors) ==== + export const _ = 0; + +==== /d.js (0 errors) ==== + export const _ = 0; + +==== /e.mjs (0 errors) ==== + export const _ = 0; + +==== /f.mjs (0 errors) ==== + export const _ = 0; + +==== /g.ts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /h.mts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /i.cts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /dummy.ts (0 errors) ==== + export {}; + \ No newline at end of file diff --git a/tests/baselines/reference/impliedNodeFormatEmit1(module=commonjs).js b/tests/baselines/reference/impliedNodeFormatEmit1(module=commonjs).js new file mode 100644 index 00000000000..358d98e9fea --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit1(module=commonjs).js @@ -0,0 +1,78 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit1.ts] //// + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [b.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [c.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [d.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [e.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [f.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [g.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [h.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [i.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [dummy.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/impliedNodeFormatEmit1(module=esnext).errors.txt b/tests/baselines/reference/impliedNodeFormatEmit1(module=esnext).errors.txt new file mode 100644 index 00000000000..08c39ac0e9b --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit1(module=esnext).errors.txt @@ -0,0 +1,44 @@ +/g.ts(2,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. +/h.mts(2,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. +/i.cts(2,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + + +==== /a.ts (0 errors) ==== + export const _ = 0; + +==== /b.mts (0 errors) ==== + export const _ = 0; + +==== /c.cts (0 errors) ==== + export const _ = 0; + +==== /d.js (0 errors) ==== + export const _ = 0; + +==== /e.mjs (0 errors) ==== + export const _ = 0; + +==== /f.mjs (0 errors) ==== + export const _ = 0; + +==== /g.ts (1 errors) ==== + import {} from "./a"; + import a = require("./a"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + +==== /h.mts (1 errors) ==== + import {} from "./a"; + import a = require("./a"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + +==== /i.cts (1 errors) ==== + import {} from "./a"; + import a = require("./a"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + +==== /dummy.ts (0 errors) ==== + export {}; + \ No newline at end of file diff --git a/tests/baselines/reference/impliedNodeFormatEmit1(module=esnext).js b/tests/baselines/reference/impliedNodeFormatEmit1(module=esnext).js new file mode 100644 index 00000000000..69cd5d21e55 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit1(module=esnext).js @@ -0,0 +1,56 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit1.ts] //// + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export var _ = 0; +//// [b.mjs] +export var _ = 0; +//// [c.cjs] +export var _ = 0; +//// [d.js] +export var _ = 0; +//// [e.mjs] +export var _ = 0; +//// [f.mjs] +export var _ = 0; +//// [g.js] +export {}; +//// [h.mjs] +export {}; +//// [i.cjs] +export {}; +//// [dummy.js] +export {}; diff --git a/tests/baselines/reference/impliedNodeFormatEmit1(module=preserve).js b/tests/baselines/reference/impliedNodeFormatEmit1(module=preserve).js new file mode 100644 index 00000000000..067de7888d3 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit1(module=preserve).js @@ -0,0 +1,52 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit1.ts] //// + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export var _ = 0; +//// [b.mjs] +export var _ = 0; +//// [c.cjs] +export var _ = 0; +//// [d.js] +export var _ = 0; +//// [e.mjs] +export var _ = 0; +//// [f.mjs] +export var _ = 0; +//// [g.js] +//// [h.mjs] +//// [i.cjs] +//// [dummy.js] diff --git a/tests/baselines/reference/impliedNodeFormatEmit1(module=system).errors.txt b/tests/baselines/reference/impliedNodeFormatEmit1(module=system).errors.txt new file mode 100644 index 00000000000..0482da58d7b --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit1(module=system).errors.txt @@ -0,0 +1,39 @@ +error TS5071: Option '--resolveJsonModule' cannot be specified when 'module' is set to 'none', 'system', or 'umd'. +error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. + + +!!! error TS5071: Option '--resolveJsonModule' cannot be specified when 'module' is set to 'none', 'system', or 'umd'. +!!! error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. +==== /a.ts (0 errors) ==== + export const _ = 0; + +==== /b.mts (0 errors) ==== + export const _ = 0; + +==== /c.cts (0 errors) ==== + export const _ = 0; + +==== /d.js (0 errors) ==== + export const _ = 0; + +==== /e.mjs (0 errors) ==== + export const _ = 0; + +==== /f.mjs (0 errors) ==== + export const _ = 0; + +==== /g.ts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /h.mts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /i.cts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /dummy.ts (0 errors) ==== + export {}; + \ No newline at end of file diff --git a/tests/baselines/reference/impliedNodeFormatEmit1(module=system).js b/tests/baselines/reference/impliedNodeFormatEmit1(module=system).js new file mode 100644 index 00000000000..f991a4eac01 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit1(module=system).js @@ -0,0 +1,148 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit1.ts] //// + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +System.register([], function (exports_1, context_1) { + "use strict"; + var _; + var __moduleName = context_1 && context_1.id; + return { + setters: [], + execute: function () { + exports_1("_", _ = 0); + } + }; +}); +//// [b.mjs] +System.register([], function (exports_1, context_1) { + "use strict"; + var _; + var __moduleName = context_1 && context_1.id; + return { + setters: [], + execute: function () { + exports_1("_", _ = 0); + } + }; +}); +//// [c.cjs] +System.register([], function (exports_1, context_1) { + "use strict"; + var _; + var __moduleName = context_1 && context_1.id; + return { + setters: [], + execute: function () { + exports_1("_", _ = 0); + } + }; +}); +//// [d.js] +System.register([], function (exports_1, context_1) { + "use strict"; + var _; + var __moduleName = context_1 && context_1.id; + return { + setters: [], + execute: function () { + exports_1("_", _ = 0); + } + }; +}); +//// [e.mjs] +System.register([], function (exports_1, context_1) { + "use strict"; + var _; + var __moduleName = context_1 && context_1.id; + return { + setters: [], + execute: function () { + exports_1("_", _ = 0); + } + }; +}); +//// [f.mjs] +System.register([], function (exports_1, context_1) { + "use strict"; + var _; + var __moduleName = context_1 && context_1.id; + return { + setters: [], + execute: function () { + exports_1("_", _ = 0); + } + }; +}); +//// [g.js] +System.register([], function (exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + return { + setters: [], + execute: function () { + } + }; +}); +//// [h.mjs] +System.register([], function (exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + return { + setters: [], + execute: function () { + } + }; +}); +//// [i.cjs] +System.register([], function (exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + return { + setters: [], + execute: function () { + } + }; +}); +//// [dummy.js] +System.register([], function (exports_1, context_1) { + "use strict"; + var __moduleName = context_1 && context_1.id; + return { + setters: [], + execute: function () { + } + }; +}); diff --git a/tests/baselines/reference/impliedNodeFormatEmit1(module=umd).errors.txt b/tests/baselines/reference/impliedNodeFormatEmit1(module=umd).errors.txt new file mode 100644 index 00000000000..0482da58d7b --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit1(module=umd).errors.txt @@ -0,0 +1,39 @@ +error TS5071: Option '--resolveJsonModule' cannot be specified when 'module' is set to 'none', 'system', or 'umd'. +error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. + + +!!! error TS5071: Option '--resolveJsonModule' cannot be specified when 'module' is set to 'none', 'system', or 'umd'. +!!! error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. +==== /a.ts (0 errors) ==== + export const _ = 0; + +==== /b.mts (0 errors) ==== + export const _ = 0; + +==== /c.cts (0 errors) ==== + export const _ = 0; + +==== /d.js (0 errors) ==== + export const _ = 0; + +==== /e.mjs (0 errors) ==== + export const _ = 0; + +==== /f.mjs (0 errors) ==== + export const _ = 0; + +==== /g.ts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /h.mts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /i.cts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /dummy.ts (0 errors) ==== + export {}; + \ No newline at end of file diff --git a/tests/baselines/reference/impliedNodeFormatEmit1(module=umd).js b/tests/baselines/reference/impliedNodeFormatEmit1(module=umd).js new file mode 100644 index 00000000000..9fff0d4cd16 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit1(module=umd).js @@ -0,0 +1,178 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit1.ts] //// + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +(function (factory) { + if (typeof module === "object" && typeof module.exports === "object") { + var v = factory(require, exports); + if (v !== undefined) module.exports = v; + } + else if (typeof define === "function" && define.amd) { + define(["require", "exports"], factory); + } +})(function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports._ = void 0; + exports._ = 0; +}); +//// [b.mjs] +(function (factory) { + if (typeof module === "object" && typeof module.exports === "object") { + var v = factory(require, exports); + if (v !== undefined) module.exports = v; + } + else if (typeof define === "function" && define.amd) { + define(["require", "exports"], factory); + } +})(function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports._ = void 0; + exports._ = 0; +}); +//// [c.cjs] +(function (factory) { + if (typeof module === "object" && typeof module.exports === "object") { + var v = factory(require, exports); + if (v !== undefined) module.exports = v; + } + else if (typeof define === "function" && define.amd) { + define(["require", "exports"], factory); + } +})(function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports._ = void 0; + exports._ = 0; +}); +//// [d.js] +(function (factory) { + if (typeof module === "object" && typeof module.exports === "object") { + var v = factory(require, exports); + if (v !== undefined) module.exports = v; + } + else if (typeof define === "function" && define.amd) { + define(["require", "exports"], factory); + } +})(function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports._ = void 0; + exports._ = 0; +}); +//// [e.mjs] +(function (factory) { + if (typeof module === "object" && typeof module.exports === "object") { + var v = factory(require, exports); + if (v !== undefined) module.exports = v; + } + else if (typeof define === "function" && define.amd) { + define(["require", "exports"], factory); + } +})(function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports._ = void 0; + exports._ = 0; +}); +//// [f.mjs] +(function (factory) { + if (typeof module === "object" && typeof module.exports === "object") { + var v = factory(require, exports); + if (v !== undefined) module.exports = v; + } + else if (typeof define === "function" && define.amd) { + define(["require", "exports"], factory); + } +})(function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); + exports._ = void 0; + exports._ = 0; +}); +//// [g.js] +(function (factory) { + if (typeof module === "object" && typeof module.exports === "object") { + var v = factory(require, exports); + if (v !== undefined) module.exports = v; + } + else if (typeof define === "function" && define.amd) { + define(["require", "exports"], factory); + } +})(function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +//// [h.mjs] +(function (factory) { + if (typeof module === "object" && typeof module.exports === "object") { + var v = factory(require, exports); + if (v !== undefined) module.exports = v; + } + else if (typeof define === "function" && define.amd) { + define(["require", "exports"], factory); + } +})(function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +//// [i.cjs] +(function (factory) { + if (typeof module === "object" && typeof module.exports === "object") { + var v = factory(require, exports); + if (v !== undefined) module.exports = v; + } + else if (typeof define === "function" && define.amd) { + define(["require", "exports"], factory); + } +})(function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); +//// [dummy.js] +(function (factory) { + if (typeof module === "object" && typeof module.exports === "object") { + var v = factory(require, exports); + if (v !== undefined) module.exports = v; + } + else if (typeof define === "function" && define.amd) { + define(["require", "exports"], factory); + } +})(function (require, exports) { + "use strict"; + Object.defineProperty(exports, "__esModule", { value: true }); +}); diff --git a/tests/baselines/reference/impliedNodeFormatEmit2(module=commonjs).errors.txt b/tests/baselines/reference/impliedNodeFormatEmit2(module=commonjs).errors.txt new file mode 100644 index 00000000000..b783a3b97e8 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit2(module=commonjs).errors.txt @@ -0,0 +1,40 @@ +error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. + + +!!! error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. +==== /package.json (0 errors) ==== + {} + +==== /a.ts (0 errors) ==== + export const _ = 0; + +==== /b.mts (0 errors) ==== + export const _ = 0; + +==== /c.cts (0 errors) ==== + export const _ = 0; + +==== /d.js (0 errors) ==== + export const _ = 0; + +==== /e.mjs (0 errors) ==== + export const _ = 0; + +==== /f.mjs (0 errors) ==== + export const _ = 0; + +==== /g.ts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /h.mts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /i.cts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /dummy.ts (0 errors) ==== + export {}; + \ No newline at end of file diff --git a/tests/baselines/reference/impliedNodeFormatEmit2(module=commonjs).js b/tests/baselines/reference/impliedNodeFormatEmit2(module=commonjs).js new file mode 100644 index 00000000000..3acea3e04d3 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit2(module=commonjs).js @@ -0,0 +1,81 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit2.ts] //// + +//// [package.json] +{} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [b.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [c.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [d.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [e.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [f.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [g.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [h.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [i.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [dummy.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/impliedNodeFormatEmit2(module=esnext).errors.txt b/tests/baselines/reference/impliedNodeFormatEmit2(module=esnext).errors.txt new file mode 100644 index 00000000000..a74bc098343 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit2(module=esnext).errors.txt @@ -0,0 +1,47 @@ +/g.ts(2,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. +/h.mts(2,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. +/i.cts(2,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + + +==== /package.json (0 errors) ==== + {} + +==== /a.ts (0 errors) ==== + export const _ = 0; + +==== /b.mts (0 errors) ==== + export const _ = 0; + +==== /c.cts (0 errors) ==== + export const _ = 0; + +==== /d.js (0 errors) ==== + export const _ = 0; + +==== /e.mjs (0 errors) ==== + export const _ = 0; + +==== /f.mjs (0 errors) ==== + export const _ = 0; + +==== /g.ts (1 errors) ==== + import {} from "./a"; + import a = require("./a"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + +==== /h.mts (1 errors) ==== + import {} from "./a"; + import a = require("./a"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + +==== /i.cts (1 errors) ==== + import {} from "./a"; + import a = require("./a"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + +==== /dummy.ts (0 errors) ==== + export {}; + \ No newline at end of file diff --git a/tests/baselines/reference/impliedNodeFormatEmit2(module=esnext).js b/tests/baselines/reference/impliedNodeFormatEmit2(module=esnext).js new file mode 100644 index 00000000000..ef36dafea55 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit2(module=esnext).js @@ -0,0 +1,59 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit2.ts] //// + +//// [package.json] +{} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export var _ = 0; +//// [b.mjs] +export var _ = 0; +//// [c.cjs] +export var _ = 0; +//// [d.js] +export var _ = 0; +//// [e.mjs] +export var _ = 0; +//// [f.mjs] +export var _ = 0; +//// [g.js] +export {}; +//// [h.mjs] +export {}; +//// [i.cjs] +export {}; +//// [dummy.js] +export {}; diff --git a/tests/baselines/reference/impliedNodeFormatEmit2(module=preserve).js b/tests/baselines/reference/impliedNodeFormatEmit2(module=preserve).js new file mode 100644 index 00000000000..ca5229e5603 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit2(module=preserve).js @@ -0,0 +1,55 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit2.ts] //// + +//// [package.json] +{} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export var _ = 0; +//// [b.mjs] +export var _ = 0; +//// [c.cjs] +export var _ = 0; +//// [d.js] +export var _ = 0; +//// [e.mjs] +export var _ = 0; +//// [f.mjs] +export var _ = 0; +//// [g.js] +//// [h.mjs] +//// [i.cjs] +//// [dummy.js] diff --git a/tests/baselines/reference/impliedNodeFormatEmit3(module=commonjs).errors.txt b/tests/baselines/reference/impliedNodeFormatEmit3(module=commonjs).errors.txt new file mode 100644 index 00000000000..bad14be6e61 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit3(module=commonjs).errors.txt @@ -0,0 +1,42 @@ +error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. + + +!!! error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. +==== /package.json (0 errors) ==== + { + "type": "module" + } + +==== /a.ts (0 errors) ==== + export const _ = 0; + +==== /b.mts (0 errors) ==== + export const _ = 0; + +==== /c.cts (0 errors) ==== + export const _ = 0; + +==== /d.js (0 errors) ==== + export const _ = 0; + +==== /e.mjs (0 errors) ==== + export const _ = 0; + +==== /f.mjs (0 errors) ==== + export const _ = 0; + +==== /g.ts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /h.mts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /i.cts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /dummy.ts (0 errors) ==== + export {}; + \ No newline at end of file diff --git a/tests/baselines/reference/impliedNodeFormatEmit3(module=commonjs).js b/tests/baselines/reference/impliedNodeFormatEmit3(module=commonjs).js new file mode 100644 index 00000000000..9927e59c540 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit3(module=commonjs).js @@ -0,0 +1,83 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit3.ts] //// + +//// [package.json] +{ + "type": "module" +} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [b.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [c.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [d.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [e.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [f.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [g.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [h.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [i.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [dummy.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/impliedNodeFormatEmit3(module=esnext).errors.txt b/tests/baselines/reference/impliedNodeFormatEmit3(module=esnext).errors.txt new file mode 100644 index 00000000000..5f8efe425b6 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit3(module=esnext).errors.txt @@ -0,0 +1,49 @@ +/g.ts(2,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. +/h.mts(2,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. +/i.cts(2,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + + +==== /package.json (0 errors) ==== + { + "type": "module" + } + +==== /a.ts (0 errors) ==== + export const _ = 0; + +==== /b.mts (0 errors) ==== + export const _ = 0; + +==== /c.cts (0 errors) ==== + export const _ = 0; + +==== /d.js (0 errors) ==== + export const _ = 0; + +==== /e.mjs (0 errors) ==== + export const _ = 0; + +==== /f.mjs (0 errors) ==== + export const _ = 0; + +==== /g.ts (1 errors) ==== + import {} from "./a"; + import a = require("./a"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + +==== /h.mts (1 errors) ==== + import {} from "./a"; + import a = require("./a"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + +==== /i.cts (1 errors) ==== + import {} from "./a"; + import a = require("./a"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + +==== /dummy.ts (0 errors) ==== + export {}; + \ No newline at end of file diff --git a/tests/baselines/reference/impliedNodeFormatEmit3(module=esnext).js b/tests/baselines/reference/impliedNodeFormatEmit3(module=esnext).js new file mode 100644 index 00000000000..1df2b11dbce --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit3(module=esnext).js @@ -0,0 +1,61 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit3.ts] //// + +//// [package.json] +{ + "type": "module" +} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export var _ = 0; +//// [b.mjs] +export var _ = 0; +//// [c.cjs] +export var _ = 0; +//// [d.js] +export var _ = 0; +//// [e.mjs] +export var _ = 0; +//// [f.mjs] +export var _ = 0; +//// [g.js] +export {}; +//// [h.mjs] +export {}; +//// [i.cjs] +export {}; +//// [dummy.js] +export {}; diff --git a/tests/baselines/reference/impliedNodeFormatEmit3(module=preserve).js b/tests/baselines/reference/impliedNodeFormatEmit3(module=preserve).js new file mode 100644 index 00000000000..91cb7ffa16e --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit3(module=preserve).js @@ -0,0 +1,57 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit3.ts] //// + +//// [package.json] +{ + "type": "module" +} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export var _ = 0; +//// [b.mjs] +export var _ = 0; +//// [c.cjs] +export var _ = 0; +//// [d.js] +export var _ = 0; +//// [e.mjs] +export var _ = 0; +//// [f.mjs] +export var _ = 0; +//// [g.js] +//// [h.mjs] +//// [i.cjs] +//// [dummy.js] diff --git a/tests/baselines/reference/impliedNodeFormatEmit4(module=commonjs).errors.txt b/tests/baselines/reference/impliedNodeFormatEmit4(module=commonjs).errors.txt new file mode 100644 index 00000000000..5229094dfa7 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit4(module=commonjs).errors.txt @@ -0,0 +1,42 @@ +error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. + + +!!! error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. +==== /package.json (0 errors) ==== + { + "type": "commonjs" + } + +==== /a.ts (0 errors) ==== + export const _ = 0; + +==== /b.mts (0 errors) ==== + export const _ = 0; + +==== /c.cts (0 errors) ==== + export const _ = 0; + +==== /d.js (0 errors) ==== + export const _ = 0; + +==== /e.mjs (0 errors) ==== + export const _ = 0; + +==== /f.mjs (0 errors) ==== + export const _ = 0; + +==== /g.ts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /h.mts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /i.cts (0 errors) ==== + import {} from "./a"; + import a = require("./a"); + +==== /dummy.ts (0 errors) ==== + export {}; + \ No newline at end of file diff --git a/tests/baselines/reference/impliedNodeFormatEmit4(module=commonjs).js b/tests/baselines/reference/impliedNodeFormatEmit4(module=commonjs).js new file mode 100644 index 00000000000..0d273c2e6c0 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit4(module=commonjs).js @@ -0,0 +1,83 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit4.ts] //// + +//// [package.json] +{ + "type": "commonjs" +} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [b.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [c.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [d.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [e.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [f.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; +//// [g.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [h.mjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [i.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [dummy.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/impliedNodeFormatEmit4(module=esnext).errors.txt b/tests/baselines/reference/impliedNodeFormatEmit4(module=esnext).errors.txt new file mode 100644 index 00000000000..996c1c41bad --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit4(module=esnext).errors.txt @@ -0,0 +1,49 @@ +/g.ts(2,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. +/h.mts(2,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. +/i.cts(2,1): error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + + +==== /package.json (0 errors) ==== + { + "type": "commonjs" + } + +==== /a.ts (0 errors) ==== + export const _ = 0; + +==== /b.mts (0 errors) ==== + export const _ = 0; + +==== /c.cts (0 errors) ==== + export const _ = 0; + +==== /d.js (0 errors) ==== + export const _ = 0; + +==== /e.mjs (0 errors) ==== + export const _ = 0; + +==== /f.mjs (0 errors) ==== + export const _ = 0; + +==== /g.ts (1 errors) ==== + import {} from "./a"; + import a = require("./a"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + +==== /h.mts (1 errors) ==== + import {} from "./a"; + import a = require("./a"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + +==== /i.cts (1 errors) ==== + import {} from "./a"; + import a = require("./a"); + ~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1202: Import assignment cannot be used when targeting ECMAScript modules. Consider using 'import * as ns from "mod"', 'import {a} from "mod"', 'import d from "mod"', or another module format instead. + +==== /dummy.ts (0 errors) ==== + export {}; + \ No newline at end of file diff --git a/tests/baselines/reference/impliedNodeFormatEmit4(module=esnext).js b/tests/baselines/reference/impliedNodeFormatEmit4(module=esnext).js new file mode 100644 index 00000000000..0023d65f995 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit4(module=esnext).js @@ -0,0 +1,61 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit4.ts] //// + +//// [package.json] +{ + "type": "commonjs" +} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export var _ = 0; +//// [b.mjs] +export var _ = 0; +//// [c.cjs] +export var _ = 0; +//// [d.js] +export var _ = 0; +//// [e.mjs] +export var _ = 0; +//// [f.mjs] +export var _ = 0; +//// [g.js] +export {}; +//// [h.mjs] +export {}; +//// [i.cjs] +export {}; +//// [dummy.js] +export {}; diff --git a/tests/baselines/reference/impliedNodeFormatEmit4(module=preserve).js b/tests/baselines/reference/impliedNodeFormatEmit4(module=preserve).js new file mode 100644 index 00000000000..3de162effe8 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatEmit4(module=preserve).js @@ -0,0 +1,57 @@ +//// [tests/cases/compiler/impliedNodeFormatEmit4.ts] //// + +//// [package.json] +{ + "type": "commonjs" +} + +//// [a.ts] +export const _ = 0; + +//// [b.mts] +export const _ = 0; + +//// [c.cts] +export const _ = 0; + +//// [d.js] +export const _ = 0; + +//// [e.mjs] +export const _ = 0; + +//// [f.mjs] +export const _ = 0; + +//// [g.ts] +import {} from "./a"; +import a = require("./a"); + +//// [h.mts] +import {} from "./a"; +import a = require("./a"); + +//// [i.cts] +import {} from "./a"; +import a = require("./a"); + +//// [dummy.ts] +export {}; + + +//// [a.js] +export var _ = 0; +//// [b.mjs] +export var _ = 0; +//// [c.cjs] +export var _ = 0; +//// [d.js] +export var _ = 0; +//// [e.mjs] +export var _ = 0; +//// [f.mjs] +export var _ = 0; +//// [g.js] +//// [h.mjs] +//// [i.cjs] +//// [dummy.js] diff --git a/tests/baselines/reference/impliedNodeFormatInterop1.js b/tests/baselines/reference/impliedNodeFormatInterop1.js new file mode 100644 index 00000000000..8f57e8dce3d --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatInterop1.js @@ -0,0 +1,30 @@ +//// [tests/cases/compiler/impliedNodeFormatInterop1.ts] //// + +//// [package.json] +{ + "name": "highlight.js", + "type": "commonjs", + "types": "index.d.ts" +} + +//// [index.d.ts] +declare module "highlight.js" { + export interface HighlightAPI { + highlight(code: string): string; + } + const hljs: HighlightAPI; + export default hljs; +} + +//// [core.d.ts] +import hljs from "highlight.js"; +export default hljs; + +//// [index.ts] +import hljs from "highlight.js/lib/core"; +hljs.highlight("code"); + + +//// [index.js] +import hljs from "highlight.js/lib/core"; +hljs.highlight("code"); diff --git a/tests/baselines/reference/impliedNodeFormatInterop1.symbols b/tests/baselines/reference/impliedNodeFormatInterop1.symbols new file mode 100644 index 00000000000..15b70787468 --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatInterop1.symbols @@ -0,0 +1,37 @@ +//// [tests/cases/compiler/impliedNodeFormatInterop1.ts] //// + +=== /node_modules/highlight.js/index.d.ts === +declare module "highlight.js" { +>"highlight.js" : Symbol("highlight.js", Decl(index.d.ts, 0, 0)) + + export interface HighlightAPI { +>HighlightAPI : Symbol(HighlightAPI, Decl(index.d.ts, 0, 31)) + + highlight(code: string): string; +>highlight : Symbol(HighlightAPI.highlight, Decl(index.d.ts, 1, 33)) +>code : Symbol(code, Decl(index.d.ts, 2, 14)) + } + const hljs: HighlightAPI; +>hljs : Symbol(hljs, Decl(index.d.ts, 4, 7)) +>HighlightAPI : Symbol(HighlightAPI, Decl(index.d.ts, 0, 31)) + + export default hljs; +>hljs : Symbol(hljs, Decl(index.d.ts, 4, 7)) +} + +=== /node_modules/highlight.js/lib/core.d.ts === +import hljs from "highlight.js"; +>hljs : Symbol(hljs, Decl(core.d.ts, 0, 6)) + +export default hljs; +>hljs : Symbol(hljs, Decl(core.d.ts, 0, 6)) + +=== /index.ts === +import hljs from "highlight.js/lib/core"; +>hljs : Symbol(hljs, Decl(index.ts, 0, 6)) + +hljs.highlight("code"); +>hljs.highlight : Symbol(HighlightAPI.highlight, Decl(index.d.ts, 1, 33)) +>hljs : Symbol(hljs, Decl(index.ts, 0, 6)) +>highlight : Symbol(HighlightAPI.highlight, Decl(index.d.ts, 1, 33)) + diff --git a/tests/baselines/reference/impliedNodeFormatInterop1.types b/tests/baselines/reference/impliedNodeFormatInterop1.types new file mode 100644 index 00000000000..edf0ac628dd --- /dev/null +++ b/tests/baselines/reference/impliedNodeFormatInterop1.types @@ -0,0 +1,49 @@ +//// [tests/cases/compiler/impliedNodeFormatInterop1.ts] //// + +=== /node_modules/highlight.js/index.d.ts === +declare module "highlight.js" { +>"highlight.js" : typeof import("highlight.js") +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + export interface HighlightAPI { + highlight(code: string): string; +>highlight : (code: string) => string +> : ^ ^^ ^^^^^ +>code : string +> : ^^^^^^ + } + const hljs: HighlightAPI; +>hljs : HighlightAPI +> : ^^^^^^^^^^^^ + + export default hljs; +>hljs : HighlightAPI +> : ^^^^^^^^^^^^ +} + +=== /node_modules/highlight.js/lib/core.d.ts === +import hljs from "highlight.js"; +>hljs : import("highlight.js").HighlightAPI +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +export default hljs; +>hljs : import("highlight.js").HighlightAPI +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +=== /index.ts === +import hljs from "highlight.js/lib/core"; +>hljs : import("highlight.js").HighlightAPI +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +hljs.highlight("code"); +>hljs.highlight("code") : string +> : ^^^^^^ +>hljs.highlight : (code: string) => string +> : ^ ^^ ^^^^^ +>hljs : import("highlight.js").HighlightAPI +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>highlight : (code: string) => string +> : ^ ^^ ^^^^^ +>"code" : "code" +> : ^^^^^^ + diff --git a/tests/baselines/reference/modulePreserve4.errors.txt b/tests/baselines/reference/modulePreserve4.errors.txt index fa8baeb0c39..b94d7b89604 100644 --- a/tests/baselines/reference/modulePreserve4.errors.txt +++ b/tests/baselines/reference/modulePreserve4.errors.txt @@ -127,6 +127,9 @@ import g1 from "./g"; // { default: 0 } const g2 = require("./g"); // { default: 0 } +==== /main4.cjs (0 errors) ==== + exports.x = require("./g"); + ==== /dummy.ts (0 errors) ==== export {}; // Silly test harness \ No newline at end of file diff --git a/tests/baselines/reference/modulePreserve4.js b/tests/baselines/reference/modulePreserve4.js index e5e009d628b..536f52f3a48 100644 --- a/tests/baselines/reference/modulePreserve4.js +++ b/tests/baselines/reference/modulePreserve4.js @@ -100,6 +100,9 @@ const f2 = require("./f.cjs"); // { default: 0 } import g1 from "./g"; // { default: 0 } const g2 = require("./g"); // { default: 0 } +//// [main4.cjs] +exports.x = require("./g"); + //// [dummy.ts] export {}; // Silly test harness @@ -185,6 +188,8 @@ import f1 from "./f.cjs"; // 0 const f2 = require("./f.cjs"); // { default: 0 } import g1 from "./g"; // { default: 0 } const g2 = require("./g"); // { default: 0 } +//// [main4.cjs] +exports.x = require("./g"); //// [dummy.js] export {}; // Silly test harness @@ -217,5 +222,7 @@ export {}; export {}; //// [main3.d.cts] export {}; +//// [main4.d.cts] +export const x: typeof import("./g"); //// [dummy.d.ts] export {}; diff --git a/tests/baselines/reference/modulePreserve4.symbols b/tests/baselines/reference/modulePreserve4.symbols index 05a7671af02..e9b29a585d5 100644 --- a/tests/baselines/reference/modulePreserve4.symbols +++ b/tests/baselines/reference/modulePreserve4.symbols @@ -256,6 +256,14 @@ const g2 = require("./g"); // { default: 0 } >require : Symbol(require) >"./g" : Symbol(g1, Decl(g.js, 0, 0)) +=== /main4.cjs === +exports.x = require("./g"); +>exports.x : Symbol(x, Decl(main4.cjs, 0, 0)) +>exports : Symbol(x, Decl(main4.cjs, 0, 0)) +>x : Symbol(x, Decl(main4.cjs, 0, 0)) +>require : Symbol(require) +>"./g" : Symbol("/g", Decl(g.js, 0, 0)) + === /dummy.ts === export {}; // Silly test harness diff --git a/tests/baselines/reference/modulePreserve4.types b/tests/baselines/reference/modulePreserve4.types index 6d00a2d954e..ed61a6e2d52 100644 --- a/tests/baselines/reference/modulePreserve4.types +++ b/tests/baselines/reference/modulePreserve4.types @@ -441,6 +441,23 @@ const g2 = require("./g"); // { default: 0 } >"./g" : "./g" > : ^^^^^ +=== /main4.cjs === +exports.x = require("./g"); +>exports.x = require("./g") : typeof import("/g") +> : ^^^^^^^^^^^^^^^^^^^ +>exports.x : typeof import("/g") +> : ^^^^^^^^^^^^^^^^^^^ +>exports : typeof import("/main4") +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>x : typeof import("/g") +> : ^^^^^^^^^^^^^^^^^^^ +>require("./g") : typeof import("/g") +> : ^^^^^^^^^^^^^^^^^^^ +>require : any +> : ^^^ +>"./g" : "./g" +> : ^^^^^ + === /dummy.ts === export {}; // Silly test harness diff --git a/tests/baselines/reference/nestedPackageJsonRedirect(moduleresolution=bundler).trace.json b/tests/baselines/reference/nestedPackageJsonRedirect(moduleresolution=bundler).trace.json index a6d17c49611..7fc8b8ccbde 100644 --- a/tests/baselines/reference/nestedPackageJsonRedirect(moduleresolution=bundler).trace.json +++ b/tests/baselines/reference/nestedPackageJsonRedirect(moduleresolution=bundler).trace.json @@ -1,7 +1,7 @@ [ "======== Resolving module '@restart/hooks/useMergedRefs' from '/main.ts'. ========", "Explicitly specified module resolution kind: 'Bundler'.", - "Resolving in CJS mode with conditions 'import', 'types'.", + "Resolving in CJS mode with conditions 'require', 'types'.", "File '/package.json' does not exist.", "Loading module '@restart/hooks/useMergedRefs' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", diff --git a/tests/baselines/reference/nodeModulesDeclarationEmitDynamicImportWithPackageExports.js b/tests/baselines/reference/nodeModulesDeclarationEmitDynamicImportWithPackageExports.js index e790961aa70..3afe5f2a3f6 100644 --- a/tests/baselines/reference/nodeModulesDeclarationEmitDynamicImportWithPackageExports.js +++ b/tests/baselines/reference/nodeModulesDeclarationEmitDynamicImportWithPackageExports.js @@ -157,8 +157,8 @@ export declare const e: typeof import("inner/mjs"); export declare const a: Promise<{ default: typeof import("./index.cjs"); }>; -export declare const b: Promise; -export declare const c: Promise; +export declare const b: Promise; +export declare const c: Promise; export declare const f: Promise<{ default: typeof import("inner"); cjsMain: true; diff --git a/tests/baselines/reference/nodeNextModuleResolution1.js b/tests/baselines/reference/nodeNextModuleResolution1.js index d76bd3acd7f..a006d7840c3 100644 --- a/tests/baselines/reference/nodeNextModuleResolution1.js +++ b/tests/baselines/reference/nodeNextModuleResolution1.js @@ -15,5 +15,4 @@ import {x} from "foo"; //// [app.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); +export {}; diff --git a/tests/baselines/reference/nodeNextModuleResolution2.js b/tests/baselines/reference/nodeNextModuleResolution2.js index 19475675a56..e57c0f25756 100644 --- a/tests/baselines/reference/nodeNextModuleResolution2.js +++ b/tests/baselines/reference/nodeNextModuleResolution2.js @@ -16,5 +16,4 @@ import {x} from "foo"; //// [app.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); +export {}; diff --git a/tests/baselines/reference/resolvesWithoutExportsDiagnostic1(moduleresolution=bundler).errors.txt b/tests/baselines/reference/resolvesWithoutExportsDiagnostic1(moduleresolution=bundler).errors.txt index befdfb5cd9d..fe904ca6953 100644 --- a/tests/baselines/reference/resolvesWithoutExportsDiagnostic1(moduleresolution=bundler).errors.txt +++ b/tests/baselines/reference/resolvesWithoutExportsDiagnostic1(moduleresolution=bundler).errors.txt @@ -1,4 +1,3 @@ -error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. error TS6504: File '/node_modules/bar/index.js' is a JavaScript file. Did you mean to enable the 'allowJs' option? The file is in the program because: Root file specified for compilation @@ -17,7 +16,6 @@ error TS6504: File '/node_modules/foo/index.mjs' is a JavaScript file. Did you m There are types at '/node_modules/@types/bar/index.d.ts', but this result could not be resolved when respecting package.json "exports". The '@types/bar' library may need to update its package.json or typings. -!!! error TS5095: Option 'bundler' can only be used when 'module' is set to 'preserve' or to 'es2015' or later. !!! error TS6504: File '/node_modules/bar/index.js' is a JavaScript file. Did you mean to enable the 'allowJs' option? !!! error TS6504: The file is in the program because: !!! error TS6504: Root file specified for compilation diff --git a/tests/baselines/reference/tsc/moduleResolution/alternateResult.js b/tests/baselines/reference/tsc/moduleResolution/alternateResult.js index c4cd0a92574..2baf46187b3 100644 --- a/tests/baselines/reference/tsc/moduleResolution/alternateResult.js +++ b/tests/baselines/reference/tsc/moduleResolution/alternateResult.js @@ -383,7 +383,7 @@ Shape signatures in builder refreshed for:: //// [/home/src/projects/project/index.mjs] "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); +export {}; //// [/home/src/projects/project/tsconfig.tsbuildinfo] diff --git a/tests/baselines/reference/tsc/projectReferences/default-import-interop-uses-referenced-project-settings.js b/tests/baselines/reference/tsc/projectReferences/default-import-interop-uses-referenced-project-settings.js new file mode 100644 index 00000000000..cae334db82e --- /dev/null +++ b/tests/baselines/reference/tsc/projectReferences/default-import-interop-uses-referenced-project-settings.js @@ -0,0 +1,95 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/app/src/index.ts] + + import local from "./local"; // Error + import esm from "esm-package"; // Error + import referencedSource from "../../lib/src/a"; // Error + import referencedDeclaration from "../../lib/dist/a"; // Error + import ambiguous from "ambiguous-package"; // Ok + +//// [/app/src/local.ts] +export const local = 0; + +//// [/app/tsconfig.json] +{ + "compilerOptions": { + "module": "esnext", + "moduleResolution": "bundler", + "rootDir": "src", + "outDir": "dist" + }, + "include": [ + "src" + ], + "references": [ + { + "path": "../lib" + } + ] +} + +//// [/lib/dist/a.d.ts] +export declare const a = 0; + +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/lib/src/a.ts] +export const a = 0; + +//// [/lib/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "rootDir": "src", + "outDir": "dist", + "module": "esnext", + "moduleResolution": "bundler" + }, + "include": [ + "src" + ] +} + +//// [/node_modules/ambiguous-package/index.d.ts] +export declare const ambiguous: number; + +//// [/node_modules/ambiguous-package/package.json] +{ "name": "ambiguous-package" } + +//// [/node_modules/esm-package/index.d.ts] +export declare const esm: number; + +//// [/node_modules/esm-package/package.json] +{ "name": "esm-package", "type": "module" } + + + +Output:: +/lib/tsc --p app --pretty false +app/src/index.ts(2,28): error TS2613: Module '"/app/src/local"' has no default export. Did you mean to use 'import { local } from "/app/src/local"' instead? +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/app/dist/index.js] +export {}; + + +//// [/app/dist/local.js] +export var local = 0; + + diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/with-nodeNext-resolution.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/with-nodeNext-resolution.js index 7b5d8c6952e..d59303ac57b 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/with-nodeNext-resolution.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/with-nodeNext-resolution.js @@ -111,10 +111,8 @@ File '/package.json' does not exist according to earlier cached lookups. node_modules/@types/yargs/index.d.ts Imported via "yargs" from file 'src/bin.ts' with packageId 'yargs/index.d.ts@17.0.12' Entry point for implicit type library 'yargs' with packageId 'yargs/index.d.ts@17.0.12' - File is CommonJS module because 'node_modules/@types/yargs/package.json' does not have field "type" src/bin.ts Matched by default include pattern '**/*' - File is CommonJS module because 'package.json' was not found [HH:MM:SS AM] Found 1 error. Watching for file changes. diff --git a/tests/baselines/reference/tscWatch/moduleResolution/alternateResult.js b/tests/baselines/reference/tscWatch/moduleResolution/alternateResult.js index c9a1190333d..4d607e1c551 100644 --- a/tests/baselines/reference/tscWatch/moduleResolution/alternateResult.js +++ b/tests/baselines/reference/tscWatch/moduleResolution/alternateResult.js @@ -375,7 +375,7 @@ Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/projects/project/tscon //// [/home/src/projects/project/index.mjs] "use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); +export {}; //// [/home/src/projects/project/tsconfig.tsbuildinfo] diff --git a/tests/baselines/reference/tscWatch/moduleResolution/diagnostics-from-cache.js b/tests/baselines/reference/tscWatch/moduleResolution/diagnostics-from-cache.js index 5ed903115a9..de2f785e9c5 100644 --- a/tests/baselines/reference/tscWatch/moduleResolution/diagnostics-from-cache.js +++ b/tests/baselines/reference/tscWatch/moduleResolution/diagnostics-from-cache.js @@ -80,12 +80,9 @@ File '/package.json' does not exist. //// [/user/username/projects/myproject/dist/index.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.thing = thing; -var me = require("@this/package"); +import * as me from "@this/package"; me.thing(); -function thing() { } +export function thing() { } //// [/user/username/projects/myproject/types/index.d.ts] @@ -93,10 +90,7 @@ export declare function thing(): void; //// [/user/username/projects/myproject/dist/index2.js] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports.thing = thing; -function thing() { } +export function thing() { } //// [/user/username/projects/myproject/types/index2.d.ts] diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js index 1f718c60701..6a8dc8740d6 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js @@ -395,7 +395,7 @@ Info seq [hh:mm:ss:mss] getCompletionData: Is inside comment: * Info seq [hh:mm:ss:mss] getCompletionData: Get previous token: * Info seq [hh:mm:ss:mss] getExportInfoMap: cache miss or empty; calculating new results Info seq [hh:mm:ss:mss] getExportInfoMap: done in * ms -Info seq [hh:mm:ss:mss] collectAutoImports: resolved 0 module specifiers, plus 0 ambient and 3 from cache +Info seq [hh:mm:ss:mss] collectAutoImports: resolved 0 module specifiers, plus 0 ambient and 4 from cache Info seq [hh:mm:ss:mss] collectAutoImports: response is incomplete Info seq [hh:mm:ss:mss] collectAutoImports: * Info seq [hh:mm:ss:mss] getCompletionData: Semantic work: * @@ -1068,6 +1068,19 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/third_party/marked/src/defaults.js" } }, + { + "name": "defaults", + "kind": "property", + "kindModifiers": "", + "sortText": "16", + "hasAction": true, + "source": "/third_party/marked/src/defaults", + "data": { + "exportName": "export=", + "exportMapKey": "8 * defaults ", + "fileName": "/third_party/marked/src/defaults.js" + } + }, { "name": "defaults", "kind": "alias", @@ -1288,7 +1301,7 @@ Info seq [hh:mm:ss:mss] getCompletionData: Get current token: * Info seq [hh:mm:ss:mss] getCompletionData: Is inside comment: * Info seq [hh:mm:ss:mss] getCompletionData: Get previous token: * Info seq [hh:mm:ss:mss] getExportInfoMap: cache hit -Info seq [hh:mm:ss:mss] collectAutoImports: resolved 0 module specifiers, plus 0 ambient and 3 from cache +Info seq [hh:mm:ss:mss] collectAutoImports: resolved 0 module specifiers, plus 0 ambient and 4 from cache Info seq [hh:mm:ss:mss] collectAutoImports: response is incomplete Info seq [hh:mm:ss:mss] collectAutoImports: * Info seq [hh:mm:ss:mss] getCompletionData: Semantic work: * @@ -1974,6 +1987,19 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/third_party/marked/src/defaults.js" } }, + { + "name": "defaults", + "kind": "property", + "kindModifiers": "", + "sortText": "16", + "hasAction": true, + "source": "/third_party/marked/src/defaults", + "data": { + "exportName": "export=", + "exportMapKey": "8 * defaults ", + "fileName": "/third_party/marked/src/defaults.js" + } + }, { "name": "defaults", "kind": "alias", diff --git a/tests/baselines/reference/tsserver/moduleResolution/alternateResult.js b/tests/baselines/reference/tsserver/moduleResolution/alternateResult.js index e0cf8ec7e87..f5ff8d8d5e4 100644 --- a/tests/baselines/reference/tsserver/moduleResolution/alternateResult.js +++ b/tests/baselines/reference/tsserver/moduleResolution/alternateResult.js @@ -394,10 +394,8 @@ Info seq [hh:mm:ss:mss] Files (4) Default library for target 'es5' node_modules/foo2/index.d.ts Imported via "foo2" from file 'index.mts' with packageId 'foo2/index.d.ts@1.0.0' - File is CommonJS module because 'node_modules/foo2/package.json' does not have field "type" node_modules/@types/bar2/index.d.ts Imported via "bar2" from file 'index.mts' with packageId '@types/bar2/index.d.ts@1.0.0' - File is CommonJS module because 'node_modules/@types/bar2/package.json' does not have field "type" index.mts Part of 'files' list in tsconfig.json @@ -2192,13 +2190,10 @@ Info seq [hh:mm:ss:mss] Files (5) Default library for target 'es5' node_modules/@types/bar/index.d.ts Imported via "bar" from file 'index.mts' with packageId '@types/bar/index.d.ts@1.0.0' - File is CommonJS module because 'node_modules/@types/bar/package.json' does not have field "type" node_modules/foo2/index.d.ts Imported via "foo2" from file 'index.mts' with packageId 'foo2/index.d.ts@1.0.0' - File is CommonJS module because 'node_modules/foo2/package.json' does not have field "type" node_modules/@types/bar2/index.d.ts Imported via "bar2" from file 'index.mts' with packageId '@types/bar2/index.d.ts@1.0.0' - File is CommonJS module because 'node_modules/@types/bar2/package.json' does not have field "type" index.mts Part of 'files' list in tsconfig.json @@ -2522,16 +2517,12 @@ Info seq [hh:mm:ss:mss] Files (6) Default library for target 'es5' node_modules/foo/index.d.ts Imported via "foo" from file 'index.mts' with packageId 'foo/index.d.ts@1.0.0' - File is CommonJS module because 'node_modules/foo/package.json' does not have field "type" node_modules/@types/bar/index.d.ts Imported via "bar" from file 'index.mts' with packageId '@types/bar/index.d.ts@1.0.0' - File is CommonJS module because 'node_modules/@types/bar/package.json' does not have field "type" node_modules/foo2/index.d.ts Imported via "foo2" from file 'index.mts' with packageId 'foo2/index.d.ts@1.0.0' - File is CommonJS module because 'node_modules/foo2/package.json' does not have field "type" node_modules/@types/bar2/index.d.ts Imported via "bar2" from file 'index.mts' with packageId '@types/bar2/index.d.ts@1.0.0' - File is CommonJS module because 'node_modules/@types/bar2/package.json' does not have field "type" index.mts Part of 'files' list in tsconfig.json @@ -2923,13 +2914,10 @@ Info seq [hh:mm:ss:mss] Files (5) Default library for target 'es5' node_modules/foo/index.d.ts Imported via "foo" from file 'index.mts' with packageId 'foo/index.d.ts@1.0.0' - File is CommonJS module because 'node_modules/foo/package.json' does not have field "type" node_modules/@types/bar/index.d.ts Imported via "bar" from file 'index.mts' with packageId '@types/bar/index.d.ts@1.0.0' - File is CommonJS module because 'node_modules/@types/bar/package.json' does not have field "type" node_modules/foo2/index.d.ts Imported via "foo2" from file 'index.mts' with packageId 'foo2/index.d.ts@1.0.0' - File is CommonJS module because 'node_modules/foo2/package.json' does not have field "type" index.mts Part of 'files' list in tsconfig.json @@ -3309,10 +3297,8 @@ Info seq [hh:mm:ss:mss] Files (4) Default library for target 'es5' node_modules/foo/index.d.ts Imported via "foo" from file 'index.mts' with packageId 'foo/index.d.ts@1.0.0' - File is CommonJS module because 'node_modules/foo/package.json' does not have field "type" node_modules/@types/bar/index.d.ts Imported via "bar" from file 'index.mts' with packageId '@types/bar/index.d.ts@1.0.0' - File is CommonJS module because 'node_modules/@types/bar/package.json' does not have field "type" index.mts Part of 'files' list in tsconfig.json diff --git a/tests/cases/compiler/esmNoSynthesizedDefault.ts b/tests/cases/compiler/esmNoSynthesizedDefault.ts new file mode 100644 index 00000000000..17fcea5f883 --- /dev/null +++ b/tests/cases/compiler/esmNoSynthesizedDefault.ts @@ -0,0 +1,18 @@ +// @target: esnext +// @module: preserve, esnext +// @moduleResolution: bundler + +// @Filename: /node_modules/mdast-util-to-string/package.json +{ "type": "module" } + +// @Filename: /node_modules/mdast-util-to-string/index.d.ts +export function toString(): string; + +// @Filename: /index.ts +import mdast, { toString } from 'mdast-util-to-string'; +mdast; +mdast.toString(); + +const mdast2 = await import('mdast-util-to-string'); +mdast2.toString(); +mdast2.default; diff --git a/tests/cases/compiler/impliedNodeFormatEmit1.ts b/tests/cases/compiler/impliedNodeFormatEmit1.ts new file mode 100644 index 00000000000..6fd41c8c32a --- /dev/null +++ b/tests/cases/compiler/impliedNodeFormatEmit1.ts @@ -0,0 +1,39 @@ +// @allowJs: true +// @checkJs: true +// @outDir: dist +// @module: esnext, commonjs, amd, system, umd, preserve +// @moduleResolution: bundler +// @noTypesAndSymbols: true + +// @Filename: /a.ts +export const _ = 0; + +// @Filename: /b.mts +export const _ = 0; + +// @Filename: /c.cts +export const _ = 0; + +// @Filename: /d.js +export const _ = 0; + +// @Filename: /e.mjs +export const _ = 0; + +// @Filename: /f.mjs +export const _ = 0; + +// @Filename: /g.ts +import {} from "./a"; +import a = require("./a"); + +// @Filename: /h.mts +import {} from "./a"; +import a = require("./a"); + +// @Filename: /i.cts +import {} from "./a"; +import a = require("./a"); + +// @Filename: /dummy.ts +export {}; diff --git a/tests/cases/compiler/impliedNodeFormatEmit2.ts b/tests/cases/compiler/impliedNodeFormatEmit2.ts new file mode 100644 index 00000000000..851fbd748a7 --- /dev/null +++ b/tests/cases/compiler/impliedNodeFormatEmit2.ts @@ -0,0 +1,42 @@ +// @allowJs: true +// @checkJs: true +// @outDir: dist +// @module: esnext, commonjs, preserve +// @moduleResolution: bundler +// @noTypesAndSymbols: true + +// @Filename: /package.json +{} + +// @Filename: /a.ts +export const _ = 0; + +// @Filename: /b.mts +export const _ = 0; + +// @Filename: /c.cts +export const _ = 0; + +// @Filename: /d.js +export const _ = 0; + +// @Filename: /e.mjs +export const _ = 0; + +// @Filename: /f.mjs +export const _ = 0; + +// @Filename: /g.ts +import {} from "./a"; +import a = require("./a"); + +// @Filename: /h.mts +import {} from "./a"; +import a = require("./a"); + +// @Filename: /i.cts +import {} from "./a"; +import a = require("./a"); + +// @Filename: /dummy.ts +export {}; diff --git a/tests/cases/compiler/impliedNodeFormatEmit3.ts b/tests/cases/compiler/impliedNodeFormatEmit3.ts new file mode 100644 index 00000000000..459d542e26e --- /dev/null +++ b/tests/cases/compiler/impliedNodeFormatEmit3.ts @@ -0,0 +1,44 @@ +// @allowJs: true +// @checkJs: true +// @outDir: dist +// @module: esnext, commonjs, preserve +// @moduleResolution: bundler +// @noTypesAndSymbols: true + +// @Filename: /package.json +{ + "type": "module" +} + +// @Filename: /a.ts +export const _ = 0; + +// @Filename: /b.mts +export const _ = 0; + +// @Filename: /c.cts +export const _ = 0; + +// @Filename: /d.js +export const _ = 0; + +// @Filename: /e.mjs +export const _ = 0; + +// @Filename: /f.mjs +export const _ = 0; + +// @Filename: /g.ts +import {} from "./a"; +import a = require("./a"); + +// @Filename: /h.mts +import {} from "./a"; +import a = require("./a"); + +// @Filename: /i.cts +import {} from "./a"; +import a = require("./a"); + +// @Filename: /dummy.ts +export {}; diff --git a/tests/cases/compiler/impliedNodeFormatEmit4.ts b/tests/cases/compiler/impliedNodeFormatEmit4.ts new file mode 100644 index 00000000000..769510c6c0c --- /dev/null +++ b/tests/cases/compiler/impliedNodeFormatEmit4.ts @@ -0,0 +1,44 @@ +// @allowJs: true +// @checkJs: true +// @outDir: dist +// @module: esnext, commonjs, preserve +// @moduleResolution: bundler +// @noTypesAndSymbols: true + +// @Filename: /package.json +{ + "type": "commonjs" +} + +// @Filename: /a.ts +export const _ = 0; + +// @Filename: /b.mts +export const _ = 0; + +// @Filename: /c.cts +export const _ = 0; + +// @Filename: /d.js +export const _ = 0; + +// @Filename: /e.mjs +export const _ = 0; + +// @Filename: /f.mjs +export const _ = 0; + +// @Filename: /g.ts +import {} from "./a"; +import a = require("./a"); + +// @Filename: /h.mts +import {} from "./a"; +import a = require("./a"); + +// @Filename: /i.cts +import {} from "./a"; +import a = require("./a"); + +// @Filename: /dummy.ts +export {}; diff --git a/tests/cases/compiler/impliedNodeFormatInterop1.ts b/tests/cases/compiler/impliedNodeFormatInterop1.ts new file mode 100644 index 00000000000..c4e18c0ddc0 --- /dev/null +++ b/tests/cases/compiler/impliedNodeFormatInterop1.ts @@ -0,0 +1,27 @@ +// @module: es2020 +// @moduleResolution: node10 +// @esModuleInterop: true + +// @Filename: /node_modules/highlight.js/package.json +{ + "name": "highlight.js", + "type": "commonjs", + "types": "index.d.ts" +} + +// @Filename: /node_modules/highlight.js/index.d.ts +declare module "highlight.js" { + export interface HighlightAPI { + highlight(code: string): string; + } + const hljs: HighlightAPI; + export default hljs; +} + +// @Filename: /node_modules/highlight.js/lib/core.d.ts +import hljs from "highlight.js"; +export default hljs; + +// @Filename: /index.ts +import hljs from "highlight.js/lib/core"; +hljs.highlight("code"); diff --git a/tests/cases/compiler/modulePreserve4.ts b/tests/cases/compiler/modulePreserve4.ts index 9eabe664bb8..9a7014852ee 100644 --- a/tests/cases/compiler/modulePreserve4.ts +++ b/tests/cases/compiler/modulePreserve4.ts @@ -106,5 +106,8 @@ const f2 = require("./f.cjs"); // { default: 0 } import g1 from "./g"; // { default: 0 } const g2 = require("./g"); // { default: 0 } +// @Filename: /main4.cjs +exports.x = require("./g"); + // @Filename: /dummy.ts export {}; // Silly test harness diff --git a/tests/cases/conformance/moduleResolution/conditionalExportsResolutionFallback.ts b/tests/cases/conformance/moduleResolution/conditionalExportsResolutionFallback.ts index d9a1d480b8e..26fe08e88fb 100644 --- a/tests/cases/conformance/moduleResolution/conditionalExportsResolutionFallback.ts +++ b/tests/cases/conformance/moduleResolution/conditionalExportsResolutionFallback.ts @@ -1,3 +1,4 @@ +// @module: esnext // @moduleResolution: node16,nodenext,bundler // @traceResolution: true // @allowJs: true diff --git a/tests/cases/conformance/moduleResolution/customConditions.ts b/tests/cases/conformance/moduleResolution/customConditions.ts index 47fb048ac28..0533574c6c2 100644 --- a/tests/cases/conformance/moduleResolution/customConditions.ts +++ b/tests/cases/conformance/moduleResolution/customConditions.ts @@ -1,3 +1,4 @@ +// @module: preserve // @moduleResolution: bundler // @customConditions: webpack, browser // @resolvePackageJsonExports: true, false diff --git a/tests/cases/conformance/moduleResolution/resolvesWithoutExportsDiagnostic1.ts b/tests/cases/conformance/moduleResolution/resolvesWithoutExportsDiagnostic1.ts index d01bb47a75c..57430c90265 100644 --- a/tests/cases/conformance/moduleResolution/resolvesWithoutExportsDiagnostic1.ts +++ b/tests/cases/conformance/moduleResolution/resolvesWithoutExportsDiagnostic1.ts @@ -1,3 +1,4 @@ +// @module: preserve // @moduleResolution: bundler,node16 // @strict: true // @noTypesAndSymbols: true diff --git a/tests/cases/fourslash/completionsImport_reExportDefault2.ts b/tests/cases/fourslash/completionsImport_reExportDefault2.ts new file mode 100644 index 00000000000..85975f7f0d6 --- /dev/null +++ b/tests/cases/fourslash/completionsImport_reExportDefault2.ts @@ -0,0 +1,39 @@ +/// + +// @module: preserve +// @checkJs: true + +// @Filename: /node_modules/example/package.json +//// { "name": "example", "version": "1.0.0", "main": "dist/index.js" } + +// @Filename: /node_modules/example/dist/nested/module.d.ts +//// declare const defaultExport: () => void; +//// declare const namedExport: () => void; +//// +//// export default defaultExport; +//// export { namedExport }; + +// @Filename: /node_modules/example/dist/index.d.ts +//// export { default, namedExport } from "./nested/module"; + +// @Filename: /index.mjs +//// import { namedExport } from "example"; +//// defaultExp/**/ + +verify.completions({ + marker: "", + exact: completion.globalsInJsPlus([ + "namedExport", + { + name: "defaultExport", + source: "example", + sourceDisplay: "example", + hasAction: true, + sortText: completion.SortText.AutoImportSuggestions + }, + ]), + preferences: { + includeCompletionsForModuleExports: true, + allowIncompleteCompletions: true, + }, +}); \ No newline at end of file From 369f2b0fb8b29fc2558c77b8b0dcbf09e3d71dd4 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Wed, 17 Jul 2024 15:13:36 -0400 Subject: [PATCH 23/89] Derive tuple labels for rest elements from array binding patterns (#59045) --- src/compiler/checker.ts | 119 +- ...mentsSpreadRestIterables(target=es5).types | 8 +- ...tsSpreadRestIterables(target=esnext).types | 8 +- .../reference/genericRestParameters2.types | 80 +- .../reference/iterableArrayPattern14.types | 8 +- .../reference/iterableArrayPattern25.types | 4 +- .../restParameterWithBindingPattern2.types | 4 +- .../restParameterWithBindingPattern3.types | 8 +- .../reference/restTupleElements1.types | 8 +- .../restTuplesFromContextualTypes.types | 60 +- ...elpExpandedRestTuplesLocalLabels1.baseline | 6882 +++++++++++++++++ tests/baselines/reference/variadicTuples1.js | 2 +- .../baselines/reference/variadicTuples1.types | 16 +- ...atureHelpExpandedRestTuplesLocalLabels1.ts | 70 + ...ignatureHelpExpandedRestUnlabeledTuples.ts | 2 +- 15 files changed, 7152 insertions(+), 127 deletions(-) create mode 100644 tests/baselines/reference/signatureHelpExpandedRestTuplesLocalLabels1.baseline create mode 100644 tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index cf4826eb1d8..49f179bf6b0 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -13574,20 +13574,20 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function getExpandedParameters(sig: Signature, skipUnionExpanding?: boolean): readonly (readonly Symbol[])[] { if (signatureHasRestParameter(sig)) { const restIndex = sig.parameters.length - 1; - const restName = sig.parameters[restIndex].escapedName; - const restType = getTypeOfSymbol(sig.parameters[restIndex]); + const restSymbol = sig.parameters[restIndex]; + const restType = getTypeOfSymbol(restSymbol); if (isTupleType(restType)) { - return [expandSignatureParametersWithTupleMembers(restType, restIndex, restName)]; + return [expandSignatureParametersWithTupleMembers(restType, restIndex, restSymbol)]; } else if (!skipUnionExpanding && restType.flags & TypeFlags.Union && every((restType as UnionType).types, isTupleType)) { - return map((restType as UnionType).types, t => expandSignatureParametersWithTupleMembers(t as TupleTypeReference, restIndex, restName)); + return map((restType as UnionType).types, t => expandSignatureParametersWithTupleMembers(t as TupleTypeReference, restIndex, restSymbol)); } } return [sig.parameters]; - function expandSignatureParametersWithTupleMembers(restType: TupleTypeReference, restIndex: number, restName: __String) { + function expandSignatureParametersWithTupleMembers(restType: TupleTypeReference, restIndex: number, restSymbol: Symbol) { const elementTypes = getTypeArguments(restType); - const associatedNames = getUniqAssociatedNamesFromTupleType(restType, restName); + const associatedNames = getUniqAssociatedNamesFromTupleType(restType, restSymbol); const restParams = map(elementTypes, (t, i) => { // Lookup the label from the individual tuple passed in before falling back to the signature `rest` parameter name const name = associatedNames && associatedNames[i] ? associatedNames[i] : @@ -13602,20 +13602,29 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return concatenate(sig.parameters.slice(0, restIndex), restParams); } - function getUniqAssociatedNamesFromTupleType(type: TupleTypeReference, restName: __String) { - const associatedNamesMap = new Map<__String, number>(); - return map(type.target.labeledElementDeclarations, (labeledElement, i) => { - const name = getTupleElementLabel(labeledElement, i, restName); - const prevCounter = associatedNamesMap.get(name); - if (prevCounter === undefined) { - associatedNamesMap.set(name, 1); - return name; + function getUniqAssociatedNamesFromTupleType(type: TupleTypeReference, restSymbol: Symbol) { + const names = map(type.target.labeledElementDeclarations, (labeledElement, i) => getTupleElementLabel(labeledElement, i, type.target.elementFlags[i], restSymbol)); + if (names) { + const duplicates: number[] = []; + const uniqueNames = new Set<__String>(); + for (let i = 0; i < names.length; i++) { + const name = names[i]; + if (!tryAddToSet(uniqueNames, name)) { + duplicates.push(i); + } } - else { - associatedNamesMap.set(name, prevCounter + 1); - return `${name}_${prevCounter}` as __String; + const counters = new Map<__String, number>(); + for (const i of duplicates) { + let counter = counters.get(names[i]) ?? 1; + let name: __String; + while (!tryAddToSet(uniqueNames, name = `${names[i]}_${counter}` as __String)) { + counter++; + } + names[i] = name; + counters.set(names[i], counter + 1); } - }); + } + return names; } } @@ -37247,11 +37256,73 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { ); } + /** + * Gets a tuple element label by recursively walking `ArrayBindingPattern` nodes in a `BindingName`. + * @param node The source node from which to derive a label + * @param index The index into the tuple + * @param elementFlags The {@see ElementFlags} of the tuple element + */ + function getTupleElementLabelFromBindingElement(node: BindingElement | ParameterDeclaration, index: number, elementFlags: ElementFlags): __String { + switch (node.name.kind) { + case SyntaxKind.Identifier: { + const name = node.name.escapedText; + if (node.dotDotDotToken) { + // given + // (...[x, y, ...z]: [number, number, ...number[]]) => ... + // this produces + // (x: number, y: number, ...z: number[]) => ... + // which preserves rest elements of 'z' + + // given + // (...[x, y, ...z]: [number, number, ...[...number[], number]]) => ... + // this produces + // (x: number, y: number, ...z: number[], z_1: number) => ... + // which preserves rest elements of z but gives distinct numbers to fixed elements of 'z' + return elementFlags & ElementFlags.Variable ? name : `${name}_${index}` as __String; + } + else { + // given + // (...[x]: [number]) => ... + // this produces + // (x: number) => ... + // which preserves fixed elements of 'x' + + // given + // (...[x]: ...number[]) => ... + // this produces + // (x_0: number) => ... + // which which numbers fixed elements of 'x' whose tuple element type is variable + return elementFlags & ElementFlags.Fixed ? name : `${name}_n` as __String; + } + } + case SyntaxKind.ArrayBindingPattern: { + if (node.dotDotDotToken) { + const elements = node.name.elements; + const lastElement = tryCast(lastOrUndefined(elements), isBindingElement); + const elementCount = elements.length - (lastElement?.dotDotDotToken ? 1 : 0); + if (index < elementCount) { + const element = elements[index]; + if (isBindingElement(element)) { + return getTupleElementLabelFromBindingElement(element, index, elementFlags); + } + } + else if (lastElement?.dotDotDotToken) { + return getTupleElementLabelFromBindingElement(lastElement, index - elementCount, elementFlags); + } + } + break; + } + } + return `arg_${index}` as __String; + } + function getTupleElementLabel(d: ParameterDeclaration | NamedTupleMember): __String; - function getTupleElementLabel(d: ParameterDeclaration | NamedTupleMember | undefined, index: number, restParameterName?: __String): __String; - function getTupleElementLabel(d: ParameterDeclaration | NamedTupleMember | undefined, index?: number, restParameterName = "arg" as __String) { + function getTupleElementLabel(d: ParameterDeclaration | NamedTupleMember | undefined, index: number, elementFlags: ElementFlags, restSymbol?: Symbol): __String; + function getTupleElementLabel(d: ParameterDeclaration | NamedTupleMember | undefined, index = 0, elementFlags = ElementFlags.Fixed, restSymbol?: Symbol) { if (!d) { - return `${restParameterName}_${index}` as __String; + const restParameter = tryCast(restSymbol?.valueDeclaration, isParameter); + return restParameter ? getTupleElementLabelFromBindingElement(restParameter, index, elementFlags) : + `${restSymbol?.escapedName ?? "arg"}_${index}` as __String; } Debug.assert(isIdentifier(d.name)); // Parameter declarations could be binding patterns, but we only allow identifier names return d.name.escapedText; @@ -37265,9 +37336,11 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const restParameter = signature.parameters[paramCount] || unknownSymbol; const restType = overrideRestType || getTypeOfSymbol(restParameter); if (isTupleType(restType)) { - const associatedNames = ((restType as TypeReference).target as TupleType).labeledElementDeclarations; + const tupleType = (restType as TypeReference).target as TupleType; const index = pos - paramCount; - return getTupleElementLabel(associatedNames?.[index], index, restParameter.escapedName); + const associatedName = tupleType.labeledElementDeclarations?.[index]; + const elementFlags = tupleType.elementFlags[index]; + return getTupleElementLabel(associatedName, index, elementFlags, restParameter); } return restParameter.escapedName; } diff --git a/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types b/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types index f6c3889ad00..a506f23edc0 100644 --- a/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types +++ b/tests/baselines/reference/argumentsSpreadRestIterables(target=es5).types @@ -40,10 +40,10 @@ declare const itNum: Iterable ;(function(a, ...rest) {})('', true, ...itNum) >(function(a, ...rest) {})('', true, ...itNum) : void > : ^^^^ ->(function(a, ...rest) {}) : (a: string, rest_0: boolean, ...rest_1: Iterable[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->function(a, ...rest) {} : (a: string, rest_0: boolean, ...rest_1: Iterable[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(function(a, ...rest) {}) : (a: string, rest_0: boolean, ...rest: Iterable[]) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function(a, ...rest) {} : (a: string, rest_0: boolean, ...rest: Iterable[]) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string > : ^^^^^^ >rest : [boolean, ...Iterable[]] diff --git a/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types b/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types index be4b8553796..83ed356a7d6 100644 --- a/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types +++ b/tests/baselines/reference/argumentsSpreadRestIterables(target=esnext).types @@ -40,10 +40,10 @@ declare const itNum: Iterable ;(function(a, ...rest) {})('', true, ...itNum) >(function(a, ...rest) {})('', true, ...itNum) : void > : ^^^^ ->(function(a, ...rest) {}) : (a: string, rest_0: boolean, ...rest_1: number[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->function(a, ...rest) {} : (a: string, rest_0: boolean, ...rest_1: number[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(function(a, ...rest) {}) : (a: string, rest_0: boolean, ...rest: number[]) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function(a, ...rest) {} : (a: string, rest_0: boolean, ...rest: number[]) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : string > : ^^^^^^ >rest : [boolean, ...number[]] diff --git a/tests/baselines/reference/genericRestParameters2.types b/tests/baselines/reference/genericRestParameters2.types index 35697d2c52c..d68d536abd8 100644 --- a/tests/baselines/reference/genericRestParameters2.types +++ b/tests/baselines/reference/genericRestParameters2.types @@ -64,14 +64,14 @@ declare let f04: (a: number, b: string, c: boolean, ...x: []) => void; > : ^^ declare let f10: (...x: [number, string, ...boolean[]]) => void; ->f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f10 : (x_0: number, x_1: string, ...x: boolean[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : [number, string, ...boolean[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ declare let f11: (a: number, ...x: [string, ...boolean[]]) => void; ->f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f11 : (a: number, x_0: string, ...x: boolean[]) => void +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >x : [string, ...boolean[]] @@ -108,8 +108,8 @@ declare const sn: [string, number]; f10(42, "hello"); >f10(42, "hello") : void > : ^^^^ ->f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f10 : (x_0: number, x_1: string, ...x: boolean[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -118,8 +118,8 @@ f10(42, "hello"); f10(42, "hello", true); >f10(42, "hello", true) : void > : ^^^^ ->f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f10 : (x_0: number, x_1: string, ...x: boolean[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -130,8 +130,8 @@ f10(42, "hello", true); f10(42, "hello", true, false); >f10(42, "hello", true, false) : void > : ^^^^ ->f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f10 : (x_0: number, x_1: string, ...x: boolean[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -144,8 +144,8 @@ f10(42, "hello", true, false); f10(t1[0], t1[1], t1[2], t1[3]); >f10(t1[0], t1[1], t1[2], t1[3]) : void > : ^^^^ ->f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f10 : (x_0: number, x_1: string, ...x: boolean[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t1[0] : number > : ^^^^^^ >t1 : [number, string, ...boolean[]] @@ -174,8 +174,8 @@ f10(t1[0], t1[1], t1[2], t1[3]); f10(...t1); >f10(...t1) : void > : ^^^^ ->f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f10 : (x_0: number, x_1: string, ...x: boolean[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...t1 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t1 : [number, string, ...boolean[]] @@ -184,8 +184,8 @@ f10(...t1); f10(42, ...t2); >f10(42, ...t2) : void > : ^^^^ ->f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f10 : (x_0: number, x_1: string, ...x: boolean[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -196,8 +196,8 @@ f10(42, ...t2); f10(42, "hello", ...t3); >f10(42, "hello", ...t3) : void > : ^^^^ ->f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f10 : (x_0: number, x_1: string, ...x: boolean[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -210,8 +210,8 @@ f10(42, "hello", ...t3); f10(42, "hello", true, ...t4); >f10(42, "hello", true, ...t4) : void > : ^^^^ ->f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f10 : (x_0: number, x_1: string, ...x: boolean[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -226,8 +226,8 @@ f10(42, "hello", true, ...t4); f10(42, "hello", true, ...t4, false, ...t3); >f10(42, "hello", true, ...t4, false, ...t3) : void > : ^^^^ ->f10 : (x_0: number, x_1: string, ...x_2: boolean[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f10 : (x_0: number, x_1: string, ...x: boolean[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -248,8 +248,8 @@ f10(42, "hello", true, ...t4, false, ...t3); f11(42, "hello"); >f11(42, "hello") : void > : ^^^^ ->f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f11 : (a: number, x_0: string, ...x: boolean[]) => void +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -258,8 +258,8 @@ f11(42, "hello"); f11(42, "hello", true); >f11(42, "hello", true) : void > : ^^^^ ->f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f11 : (a: number, x_0: string, ...x: boolean[]) => void +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -270,8 +270,8 @@ f11(42, "hello", true); f11(42, "hello", true, false); >f11(42, "hello", true, false) : void > : ^^^^ ->f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f11 : (a: number, x_0: string, ...x: boolean[]) => void +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -284,8 +284,8 @@ f11(42, "hello", true, false); f11(t1[0], t1[1], t1[2], t1[3]); >f11(t1[0], t1[1], t1[2], t1[3]) : void > : ^^^^ ->f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f11 : (a: number, x_0: string, ...x: boolean[]) => void +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t1[0] : number > : ^^^^^^ >t1 : [number, string, ...boolean[]] @@ -314,8 +314,8 @@ f11(t1[0], t1[1], t1[2], t1[3]); f11(...t1); >f11(...t1) : void > : ^^^^ ->f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f11 : (a: number, x_0: string, ...x: boolean[]) => void +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...t1 : string | number | boolean > : ^^^^^^^^^^^^^^^^^^^^^^^^^ >t1 : [number, string, ...boolean[]] @@ -324,8 +324,8 @@ f11(...t1); f11(42, ...t2); >f11(42, ...t2) : void > : ^^^^ ->f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f11 : (a: number, x_0: string, ...x: boolean[]) => void +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >...t2 : string | boolean @@ -336,8 +336,8 @@ f11(42, ...t2); f11(42, "hello", ...t3); >f11(42, "hello", ...t3) : void > : ^^^^ ->f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f11 : (a: number, x_0: string, ...x: boolean[]) => void +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -350,8 +350,8 @@ f11(42, "hello", ...t3); f11(42, "hello", true, ...t4); >f11(42, "hello", true, ...t4) : void > : ^^^^ ->f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f11 : (a: number, x_0: string, ...x: boolean[]) => void +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" @@ -366,8 +366,8 @@ f11(42, "hello", true, ...t4); f11(42, "hello", true, ...t4, false, ...t3); >f11(42, "hello", true, ...t4, false, ...t3) : void > : ^^^^ ->f11 : (a: number, x_0: string, ...x_1: boolean[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f11 : (a: number, x_0: string, ...x: boolean[]) => void +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >42 : 42 > : ^^ >"hello" : "hello" diff --git a/tests/baselines/reference/iterableArrayPattern14.types b/tests/baselines/reference/iterableArrayPattern14.types index e1739c80279..d47b8359c10 100644 --- a/tests/baselines/reference/iterableArrayPattern14.types +++ b/tests/baselines/reference/iterableArrayPattern14.types @@ -59,8 +59,8 @@ class FooIterator { } function fun(...[a, ...b]) { } ->fun : (__0_0: any, ...__0_1: any[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fun : (a: any, ...b: any[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : any > : ^^^ >b : any[] @@ -69,8 +69,8 @@ function fun(...[a, ...b]) { } fun(new FooIterator); >fun(new FooIterator) : void > : ^^^^ ->fun : (__0_0: any, ...__0_1: any[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>fun : (a: any, ...b: any[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new FooIterator : FooIterator > : ^^^^^^^^^^^ >FooIterator : typeof FooIterator diff --git a/tests/baselines/reference/iterableArrayPattern25.types b/tests/baselines/reference/iterableArrayPattern25.types index c15612a84f6..9825940f17b 100644 --- a/tests/baselines/reference/iterableArrayPattern25.types +++ b/tests/baselines/reference/iterableArrayPattern25.types @@ -2,7 +2,7 @@ === iterableArrayPattern25.ts === function takeFirstTwoEntries(...[[k1, v1], [k2, v2]]) { } ->takeFirstTwoEntries : (__0_0: [any, any], __0_1: [any, any]) => void +>takeFirstTwoEntries : (arg_0: [any, any], arg_1: [any, any]) => void > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >k1 : any > : ^^^ @@ -16,7 +16,7 @@ function takeFirstTwoEntries(...[[k1, v1], [k2, v2]]) { } takeFirstTwoEntries(new Map([["", 0], ["hello", 1]])); >takeFirstTwoEntries(new Map([["", 0], ["hello", 1]])) : void > : ^^^^ ->takeFirstTwoEntries : (__0_0: [any, any], __0_1: [any, any]) => void +>takeFirstTwoEntries : (arg_0: [any, any], arg_1: [any, any]) => void > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >new Map([["", 0], ["hello", 1]]) : Map > : ^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/restParameterWithBindingPattern2.types b/tests/baselines/reference/restParameterWithBindingPattern2.types index a6cbc5d3a7f..e3c9c163a16 100644 --- a/tests/baselines/reference/restParameterWithBindingPattern2.types +++ b/tests/baselines/reference/restParameterWithBindingPattern2.types @@ -2,8 +2,8 @@ === restParameterWithBindingPattern2.ts === function a(...[a, b]) { } ->a : (__0_0: any, __0_1: any) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>a : (a: any, b: any) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^ >a : any > : ^^^ >b : any diff --git a/tests/baselines/reference/restParameterWithBindingPattern3.types b/tests/baselines/reference/restParameterWithBindingPattern3.types index 16f198759f9..fb4e48dce95 100644 --- a/tests/baselines/reference/restParameterWithBindingPattern3.types +++ b/tests/baselines/reference/restParameterWithBindingPattern3.types @@ -22,7 +22,7 @@ function b(...[...foo = []]: string[]) { } > : ^^^^^^^^^^^ function c(...{0: a, length, 3: d}: [boolean, string, number]) { } ->c : (__0_0: boolean, __0_1: string, __0_2: number) => void +>c : (arg_0: boolean, arg_1: string, arg_2: number) => void > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : boolean > : ^^^^^^^ @@ -32,8 +32,8 @@ function c(...{0: a, length, 3: d}: [boolean, string, number]) { } > : ^^^^^^^^^ function d(...[a, , , d]: [boolean, string, number]) { } ->d : (__0_0: boolean, __0_1: string, __0_2: number) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>d : (a: boolean, arg_1: string, arg_2: number) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : boolean > : ^^^^^^^ > : undefined @@ -44,7 +44,7 @@ function d(...[a, , , d]: [boolean, string, number]) { } > : ^^^^^^^^^ function e(...{0: a = 1, 1: b = true, ...rest: rest}: [boolean, string, number]) { } ->e : (__0_0: boolean, __0_1: string, __0_2: number) => void +>e : (arg_0: boolean, arg_1: string, arg_2: number) => void > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : boolean > : ^^^^^^^ diff --git a/tests/baselines/reference/restTupleElements1.types b/tests/baselines/reference/restTupleElements1.types index da0a8474598..ba97efd0266 100644 --- a/tests/baselines/reference/restTupleElements1.types +++ b/tests/baselines/reference/restTupleElements1.types @@ -302,8 +302,8 @@ declare function f1(a: [(x: number) => number, ...((x: string) => number)[]]): v > : ^^^^^^ declare function f2(...a: [(x: number) => number, ...((x: string) => number)[]]): void; ->f2 : (a_0: (x: number) => number, ...a_1: ((x: string) => number)[]) => void -> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^ +>f2 : (a_0: (x: number) => number, ...a: ((x: string) => number)[]) => void +> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^ >a : [(x: number) => number, ...((x: string) => number)[]] > : ^^ ^^ ^^^^^ ^^^^^^^ ^^ ^^^^^ ^^^^ >x : number @@ -356,8 +356,8 @@ f1([x => x * 2, x => x.length, x => x.charCodeAt(0)]); f2(x => x * 2, x => x.length, x => x.charCodeAt(0)); >f2(x => x * 2, x => x.length, x => x.charCodeAt(0)) : void > : ^^^^ ->f2 : (a_0: (x: number) => number, ...a_1: ((x: string) => number)[]) => void -> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^ +>f2 : (a_0: (x: number) => number, ...a: ((x: string) => number)[]) => void +> : ^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^ >x => x * 2 : (x: number) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : number diff --git a/tests/baselines/reference/restTuplesFromContextualTypes.types b/tests/baselines/reference/restTuplesFromContextualTypes.types index 655c5f92bd6..7b98fc7b96c 100644 --- a/tests/baselines/reference/restTuplesFromContextualTypes.types +++ b/tests/baselines/reference/restTuplesFromContextualTypes.types @@ -192,10 +192,10 @@ declare const t2: [number, boolean, ...string[]]; (function (...x){})(...t2); >(function (...x){})(...t2) : void > : ^^^^ ->(function (...x){}) : (x_0: number, x_1: boolean, ...x_2: string[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->function (...x){} : (x_0: number, x_1: boolean, ...x_2: string[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(function (...x){}) : (x_0: number, x_1: boolean, ...x: string[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function (...x){} : (x_0: number, x_1: boolean, ...x: string[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : [number, boolean, ...string[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >...t2 : string | number | boolean @@ -206,10 +206,10 @@ declare const t2: [number, boolean, ...string[]]; (function (a, ...x){})(...t2); >(function (a, ...x){})(...t2) : void > : ^^^^ ->(function (a, ...x){}) : (a: number, x_0: boolean, ...x_1: string[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->function (a, ...x){} : (a: number, x_0: boolean, ...x_1: string[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(function (a, ...x){}) : (a: number, x_0: boolean, ...x: string[]) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function (a, ...x){} : (a: number, x_0: boolean, ...x: string[]) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >x : [boolean, ...string[]] @@ -260,8 +260,8 @@ declare const t2: [number, boolean, ...string[]]; declare function f2(cb: (...args: typeof t2) => void): void; >f2 : (cb: (...args: typeof t2) => void) => void > : ^ ^^ ^^^^^ ->cb : (args_0: number, args_1: boolean, ...args_2: string[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>cb : (args_0: number, args_1: boolean, ...args: string[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >args : [number, boolean, ...string[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >t2 : [number, boolean, ...string[]] @@ -286,8 +286,8 @@ f2((...x) => {}) > : ^^^^ >f2 : (cb: (...args: typeof t2) => void) => void > : ^ ^^ ^^^^^ ->(...x) => {} : (x_0: number, x_1: boolean, ...x_2: string[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(...x) => {} : (x_0: number, x_1: boolean, ...x: string[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : [number, boolean, ...string[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -296,8 +296,8 @@ f2((a, ...x) => {}) > : ^^^^ >f2 : (cb: (...args: typeof t2) => void) => void > : ^ ^^ ^^^^^ ->(a, ...x) => {} : (a: number, x_0: boolean, ...x_1: string[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(a, ...x) => {} : (a: number, x_0: boolean, ...x: string[]) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >x : [boolean, ...string[]] @@ -360,10 +360,10 @@ declare const t3: [boolean, ...string[]]; (function (...x){})(1, ...t3); >(function (...x){})(1, ...t3) : void > : ^^^^ ->(function (...x){}) : (x_0: number, x_1: boolean, ...x_2: string[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->function (...x){} : (x_0: number, x_1: boolean, ...x_2: string[]) => void -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(function (...x){}) : (x_0: number, x_1: boolean, ...x: string[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function (...x){} : (x_0: number, x_1: boolean, ...x: string[]) => void +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : [number, boolean, ...string[]] > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >1 : 1 @@ -376,10 +376,10 @@ declare const t3: [boolean, ...string[]]; (function (a, ...x){})(1, ...t3); >(function (a, ...x){})(1, ...t3) : void > : ^^^^ ->(function (a, ...x){}) : (a: number, x_0: boolean, ...x_1: string[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->function (a, ...x){} : (a: number, x_0: boolean, ...x_1: string[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(function (a, ...x){}) : (a: number, x_0: boolean, ...x: string[]) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function (a, ...x){} : (a: number, x_0: boolean, ...x: string[]) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >x : [boolean, ...string[]] @@ -436,8 +436,8 @@ declare const t3: [boolean, ...string[]]; declare function f3(cb: (x: number, ...args: typeof t3) => void): void; >f3 : (cb: (x: number, ...args: typeof t3) => void) => void > : ^ ^^ ^^^^^ ->cb : (x: number, args_0: boolean, ...args_1: string[]) => void -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>cb : (x: number, args_0: boolean, ...args: string[]) => void +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number > : ^^^^^^ >args : [boolean, ...string[]] @@ -474,8 +474,8 @@ f3((a, ...x) => {}) > : ^^^^ >f3 : (cb: (x: number, ...args: typeof t3) => void) => void > : ^ ^^ ^^^^^ ->(a, ...x) => {} : (a: number, x_0: boolean, ...x_1: string[]) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(a, ...x) => {} : (a: number, x_0: boolean, ...x: string[]) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >x : [boolean, ...string[]] @@ -552,10 +552,10 @@ function f4(t: T) { (function(a, ...x){})(1, 2, ...t); >(function(a, ...x){})(1, 2, ...t) : void > : ^^^^ ->(function(a, ...x){}) : (a: number, x_0: number, ...x_1: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->function(a, ...x){} : (a: number, x_0: number, ...x_1: T) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(function(a, ...x){}) : (a: number, x_0: number, ...x: T) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function(a, ...x){} : (a: number, x_0: number, ...x: T) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : number > : ^^^^^^ >x : [number, ...T] diff --git a/tests/baselines/reference/signatureHelpExpandedRestTuplesLocalLabels1.baseline b/tests/baselines/reference/signatureHelpExpandedRestTuplesLocalLabels1.baseline new file mode 100644 index 00000000000..9c3f87fe511 --- /dev/null +++ b/tests/baselines/reference/signatureHelpExpandedRestTuplesLocalLabels1.baseline @@ -0,0 +1,6882 @@ +// === SignatureHelp === +=== /tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts === +// interface AppleInfo { +// color: "green" | "red"; +// } +// +// interface BananaInfo { +// curvature: number; +// } +// +// type FruitAndInfo1 = ["apple", AppleInfo] | ["banana", BananaInfo]; +// +// function logFruitTuple1(...[fruit, info]: FruitAndInfo1) {} +// logFruitTuple1(); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple1(**fruit: "apple"**, info: AppleInfo): void +// | ---------------------------------------------------------------------- +// +// function logFruitTuple2(...[, info]: FruitAndInfo1) {} +// logFruitTuple2(); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple2(**arg_0: "apple"**, info: AppleInfo): void +// | ---------------------------------------------------------------------- +// logFruitTuple2("apple", ); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple2(arg_0: "apple", **info: AppleInfo**): void +// | ---------------------------------------------------------------------- +// +// function logFruitTuple3(...[fruit, ...rest]: FruitAndInfo1) {} +// logFruitTuple3(); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple3(**fruit: "apple"**, rest_0: AppleInfo): void +// | ---------------------------------------------------------------------- +// logFruitTuple3("apple", ); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple3(fruit: "apple", **rest_0: AppleInfo**): void +// | ---------------------------------------------------------------------- +// function logFruitTuple4(...[fruit, ...[info]]: FruitAndInfo1) {} +// logFruitTuple4(); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple4(**fruit: "apple"**, info: AppleInfo): void +// | ---------------------------------------------------------------------- +// logFruitTuple4("apple", ); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple4(fruit: "apple", **info: AppleInfo**): void +// | ---------------------------------------------------------------------- +// +// type FruitAndInfo2 = ["apple", ...AppleInfo[]] | ["banana", ...BananaInfo[]]; +// +// function logFruitTuple5(...[fruit, firstInfo]: FruitAndInfo2) {} +// logFruitTuple5(); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple5(**fruit: "apple"**, ...firstInfo_n: AppleInfo[]): void +// | ---------------------------------------------------------------------- +// logFruitTuple5("apple", ); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple5(fruit: "apple", **...firstInfo_n: AppleInfo[]**): void +// | ---------------------------------------------------------------------- +// +// function logFruitTuple6(...[fruit, ...fruitInfo]: FruitAndInfo2) {} +// logFruitTuple6(); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple6(**fruit: "apple"**, ...fruitInfo: AppleInfo[]): void +// | ---------------------------------------------------------------------- +// logFruitTuple6("apple", ); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple6(fruit: "apple", **...fruitInfo: AppleInfo[]**): void +// | ---------------------------------------------------------------------- +// +// type FruitAndInfo3 = ["apple", ...AppleInfo[], number] | ["banana", ...BananaInfo[], number]; +// +// function logFruitTuple7(...[fruit, fruitInfoOrNumber, secondFruitInfoOrNumber]: FruitAndInfo3) {} +// logFruitTuple7(); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple7(**fruit: "apple"**, ...fruitInfoOrNumber_n: AppleInfo[], secondFruitInfoOrNumber: number): void +// | ---------------------------------------------------------------------- +// logFruitTuple7("apple", ); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple7(fruit: "apple", **...fruitInfoOrNumber_n: AppleInfo[]**, secondFruitInfoOrNumber: number): void +// | ---------------------------------------------------------------------- +// logFruitTuple7("apple", { color: "red" }, ); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple7(fruit: "apple", ...fruitInfoOrNumber_n: AppleInfo[], **secondFruitInfoOrNumber: number**): void +// | ---------------------------------------------------------------------- +// +// function logFruitTuple8(...[fruit, , secondFruitInfoOrNumber]: FruitAndInfo3) {} +// logFruitTuple8(); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple8(**fruit: "apple"**, ...arg_1: AppleInfo[], secondFruitInfoOrNumber: number): void +// | ---------------------------------------------------------------------- +// logFruitTuple8("apple", ); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple8(fruit: "apple", **...arg_1: AppleInfo[]**, secondFruitInfoOrNumber: number): void +// | ---------------------------------------------------------------------- +// logFruitTuple8("apple", { color: "red" }, ); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple8(fruit: "apple", ...arg_1: AppleInfo[], **secondFruitInfoOrNumber: number**): void +// | ---------------------------------------------------------------------- +// +// function logFruitTuple9(...[...[fruit, fruitInfoOrNumber, secondFruitInfoOrNumber]]: FruitAndInfo3) {} +// logFruitTuple9(); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple9(**fruit: "apple"**, ...fruitInfoOrNumber_n: AppleInfo[], secondFruitInfoOrNumber: number): void +// | ---------------------------------------------------------------------- +// logFruitTuple9("apple", ); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple9(fruit: "apple", **...fruitInfoOrNumber_n: AppleInfo[]**, secondFruitInfoOrNumber: number): void +// | ---------------------------------------------------------------------- +// logFruitTuple9("apple", { color: "red" }, ); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple9(fruit: "apple", ...fruitInfoOrNumber_n: AppleInfo[], **secondFruitInfoOrNumber: number**): void +// | ---------------------------------------------------------------------- +// +// function logFruitTuple10(...[fruit, {}, secondFruitInfoOrNumber]: FruitAndInfo3) {} +// logFruitTuple10(); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple10(**fruit: "apple"**, ...arg_1: AppleInfo[], secondFruitInfoOrNumber: number): void +// | ---------------------------------------------------------------------- +// logFruitTuple10("apple", ); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple10(fruit: "apple", **...arg_1: AppleInfo[]**, secondFruitInfoOrNumber: number): void +// | ---------------------------------------------------------------------- +// logFruitTuple10("apple", { color: "red" }, ); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple10(fruit: "apple", ...arg_1: AppleInfo[], **secondFruitInfoOrNumber: number**): void +// | ---------------------------------------------------------------------- +// +// function logFruitTuple11(...{}: FruitAndInfo3) {} +// logFruitTuple11(); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple11(**arg_0: "apple"**, ...arg_1: AppleInfo[], arg_2: number): void +// | ---------------------------------------------------------------------- +// logFruitTuple11("apple", ); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple11(arg_0: "apple", **...arg_1: AppleInfo[]**, arg_2: number): void +// | ---------------------------------------------------------------------- +// logFruitTuple11("apple", { color: "red" }, ); +// ^ +// | ---------------------------------------------------------------------- +// | logFruitTuple11(arg_0: "apple", ...arg_1: AppleInfo[], **arg_2: number**): void +// | ---------------------------------------------------------------------- +// function withPair(...[first, second]: [number, named: string]) {} +// withPair(); +// ^ +// | ---------------------------------------------------------------------- +// | withPair(**first: number**, named: string): void +// | ---------------------------------------------------------------------- +// withPair(101, ); +// ^ +// | ---------------------------------------------------------------------- +// | withPair(first: number, **named: string**): void +// | ---------------------------------------------------------------------- + +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 242, + "name": "1" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple1", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "info", + "documentation": [], + "displayParts": [ + { + "text": "info", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple1", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "info", + "documentation": [], + "displayParts": [ + { + "text": "info", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 242, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 316, + "name": "2" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple2", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "arg_0", + "documentation": [], + "displayParts": [ + { + "text": "arg_0", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "info", + "documentation": [], + "displayParts": [ + { + "text": "info", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple2", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "arg_0", + "documentation": [], + "displayParts": [ + { + "text": "arg_0", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "info", + "documentation": [], + "displayParts": [ + { + "text": "info", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 316, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 343, + "name": "3" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple2", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "arg_0", + "documentation": [], + "displayParts": [ + { + "text": "arg_0", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "info", + "documentation": [], + "displayParts": [ + { + "text": "info", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple2", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "arg_0", + "documentation": [], + "displayParts": [ + { + "text": "arg_0", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "info", + "documentation": [], + "displayParts": [ + { + "text": "info", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 334, + "length": 9 + }, + "selectedItemIndex": 0, + "argumentIndex": 1, + "argumentCount": 2 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 425, + "name": "4" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple3", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "rest_0", + "documentation": [], + "displayParts": [ + { + "text": "rest_0", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple3", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "rest_0", + "documentation": [], + "displayParts": [ + { + "text": "rest_0", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 425, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 452, + "name": "5" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple3", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "rest_0", + "documentation": [], + "displayParts": [ + { + "text": "rest_0", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple3", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "rest_0", + "documentation": [], + "displayParts": [ + { + "text": "rest_0", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 443, + "length": 9 + }, + "selectedItemIndex": 0, + "argumentIndex": 1, + "argumentCount": 2 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 535, + "name": "6" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple4", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "info", + "documentation": [], + "displayParts": [ + { + "text": "info", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple4", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "info", + "documentation": [], + "displayParts": [ + { + "text": "info", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 535, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 562, + "name": "7" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple4", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "info", + "documentation": [], + "displayParts": [ + { + "text": "info", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple4", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "info", + "documentation": [], + "displayParts": [ + { + "text": "info", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 553, + "length": 9 + }, + "selectedItemIndex": 0, + "argumentIndex": 1, + "argumentCount": 2 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 725, + "name": "8" + }, + "item": { + "items": [ + { + "isVariadic": true, + "prefixDisplayParts": [ + { + "text": "logFruitTuple5", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "firstInfo_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "firstInfo_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": true, + "prefixDisplayParts": [ + { + "text": "logFruitTuple5", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "firstInfo_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "firstInfo_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 725, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 752, + "name": "9" + }, + "item": { + "items": [ + { + "isVariadic": true, + "prefixDisplayParts": [ + { + "text": "logFruitTuple5", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "firstInfo_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "firstInfo_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": true, + "prefixDisplayParts": [ + { + "text": "logFruitTuple5", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "firstInfo_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "firstInfo_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 743, + "length": 9 + }, + "selectedItemIndex": 0, + "argumentIndex": 1, + "argumentCount": 2 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 839, + "name": "10" + }, + "item": { + "items": [ + { + "isVariadic": true, + "prefixDisplayParts": [ + { + "text": "logFruitTuple6", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfo", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfo", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": true, + "prefixDisplayParts": [ + { + "text": "logFruitTuple6", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfo", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfo", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 839, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 866, + "name": "11" + }, + "item": { + "items": [ + { + "isVariadic": true, + "prefixDisplayParts": [ + { + "text": "logFruitTuple6", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfo", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfo", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": true, + "prefixDisplayParts": [ + { + "text": "logFruitTuple6", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfo", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfo", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 857, + "length": 9 + }, + "selectedItemIndex": 0, + "argumentIndex": 1, + "argumentCount": 2 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1078, + "name": "12" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple7", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfoOrNumber_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfoOrNumber_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple7", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfoOrNumber_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfoOrNumber_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1078, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1105, + "name": "13" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple7", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfoOrNumber_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfoOrNumber_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple7", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfoOrNumber_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfoOrNumber_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1096, + "length": 9 + }, + "selectedItemIndex": 0, + "argumentIndex": 1, + "argumentCount": 2 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1150, + "name": "14" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple7", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfoOrNumber_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfoOrNumber_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple7", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfoOrNumber_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfoOrNumber_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1123, + "length": 27 + }, + "selectedItemIndex": 0, + "argumentIndex": 2, + "argumentCount": 3 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1250, + "name": "15" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1250, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1277, + "name": "16" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1268, + "length": 9 + }, + "selectedItemIndex": 0, + "argumentIndex": 1, + "argumentCount": 2 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1322, + "name": "17" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple8", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1295, + "length": 27 + }, + "selectedItemIndex": 0, + "argumentIndex": 2, + "argumentCount": 3 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1444, + "name": "18" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfoOrNumber_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfoOrNumber_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfoOrNumber_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfoOrNumber_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1444, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1471, + "name": "19" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfoOrNumber_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfoOrNumber_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfoOrNumber_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfoOrNumber_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1462, + "length": 9 + }, + "selectedItemIndex": 0, + "argumentIndex": 1, + "argumentCount": 2 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1516, + "name": "20" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfoOrNumber_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfoOrNumber_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple9", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "fruitInfoOrNumber_n", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "fruitInfoOrNumber_n", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1489, + "length": 27 + }, + "selectedItemIndex": 0, + "argumentIndex": 2, + "argumentCount": 3 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1620, + "name": "21" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple10", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple10", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1620, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1648, + "name": "22" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple10", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple10", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1639, + "length": 9 + }, + "selectedItemIndex": 0, + "argumentIndex": 1, + "argumentCount": 2 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1694, + "name": "23" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple10", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple10", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "fruit", + "documentation": [], + "displayParts": [ + { + "text": "fruit", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "secondFruitInfoOrNumber", + "documentation": [], + "displayParts": [ + { + "text": "secondFruitInfoOrNumber", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1667, + "length": 27 + }, + "selectedItemIndex": 0, + "argumentIndex": 2, + "argumentCount": 3 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1764, + "name": "24" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple11", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "arg_0", + "documentation": [], + "displayParts": [ + { + "text": "arg_0", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "arg_2", + "documentation": [], + "displayParts": [ + { + "text": "arg_2", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple11", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "arg_0", + "documentation": [], + "displayParts": [ + { + "text": "arg_0", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "arg_2", + "documentation": [], + "displayParts": [ + { + "text": "arg_2", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1764, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1792, + "name": "25" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple11", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "arg_0", + "documentation": [], + "displayParts": [ + { + "text": "arg_0", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "arg_2", + "documentation": [], + "displayParts": [ + { + "text": "arg_2", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple11", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "arg_0", + "documentation": [], + "displayParts": [ + { + "text": "arg_0", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "arg_2", + "documentation": [], + "displayParts": [ + { + "text": "arg_2", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1783, + "length": 9 + }, + "selectedItemIndex": 0, + "argumentIndex": 1, + "argumentCount": 2 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1838, + "name": "26" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple11", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "arg_0", + "documentation": [], + "displayParts": [ + { + "text": "arg_0", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"apple\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "AppleInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "arg_2", + "documentation": [], + "displayParts": [ + { + "text": "arg_2", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "logFruitTuple11", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "arg_0", + "documentation": [], + "displayParts": [ + { + "text": "arg_0", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "\"banana\"", + "kind": "stringLiteral" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "arg_1", + "documentation": [], + "displayParts": [ + { + "text": "...", + "kind": "punctuation" + }, + { + "text": "arg_1", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "BananaInfo", + "kind": "interfaceName" + }, + { + "text": "[", + "kind": "punctuation" + }, + { + "text": "]", + "kind": "punctuation" + } + ], + "isOptional": false, + "isRest": true + }, + { + "name": "arg_2", + "documentation": [], + "displayParts": [ + { + "text": "arg_2", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1811, + "length": 27 + }, + "selectedItemIndex": 0, + "argumentIndex": 2, + "argumentCount": 3 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1916, + "name": "27" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "withPair", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "first", + "documentation": [], + "displayParts": [ + { + "text": "first", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "named", + "documentation": [], + "displayParts": [ + { + "text": "named", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1916, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts", + "position": 1933, + "name": "28" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "withPair", + "kind": "functionName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "first", + "documentation": [], + "displayParts": [ + { + "text": "first", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + }, + { + "name": "named", + "documentation": [], + "displayParts": [ + { + "text": "named", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "string", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 1928, + "length": 5 + }, + "selectedItemIndex": 0, + "argumentIndex": 1, + "argumentCount": 2 + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/variadicTuples1.js b/tests/baselines/reference/variadicTuples1.js index 57bab837e1d..e0b343b3c68 100644 --- a/tests/baselines/reference/variadicTuples1.js +++ b/tests/baselines/reference/variadicTuples1.js @@ -823,7 +823,7 @@ declare function getOrgUser(id: string, orgId: number, options?: { y?: number; z?: boolean; }): void; -declare function callApi(method: (...args: [...T, object]) => U): (...args_0: T) => U; +declare function callApi(method: (...args: [...T, object]) => U): (...args: T) => U; type Numbers = number[]; type Unbounded = [...Numbers, boolean]; declare const data: Unbounded; diff --git a/tests/baselines/reference/variadicTuples1.types b/tests/baselines/reference/variadicTuples1.types index 9564f788455..a4db4781503 100644 --- a/tests/baselines/reference/variadicTuples1.types +++ b/tests/baselines/reference/variadicTuples1.types @@ -2218,16 +2218,16 @@ declare function getOrgUser(id: string, orgId: number, options?: { y?: number, z > : ^^^^^^^^^^^^^^^^^^^ function callApi(method: (...args: [...T, object]) => U) { ->callApi : (method: (...args: [...T, object]) => U) => (...args_0: T) => U -> : ^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>callApi : (method: (...args: [...T, object]) => U) => (...args: T) => U +> : ^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >method : (...args: [...T, object]) => U > : ^^^^ ^^ ^^^^^ >args : [...T, object] > : ^^^^^^^^^^^^^^ return (...args: [...T]) => method(...args, {}); ->(...args: [...T]) => method(...args, {}) : (...args_0: T) => U -> : ^^^^^^^^^^^^^^^^^^^ +>(...args: [...T]) => method(...args, {}) : (...args: T) => U +> : ^^^^^^^^^^^^^^^^^ >args : [...T] > : ^^^^^^ >method(...args, {}) : U @@ -2245,16 +2245,16 @@ function callApi(method: (...args: [...T, ob callApi(getUser); >callApi(getUser) : (id: string) => string > : ^^^^^^^^^^^^^^^^^^^^^^ ->callApi : (method: (...args: [...T, object]) => U) => (...args_0: T) => U -> : ^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>callApi : (method: (...args: [...T, object]) => U) => (...args: T) => U +> : ^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >getUser : (id: string, options?: { x?: string; }) => string > : ^ ^^ ^^ ^^^ ^^^^^ callApi(getOrgUser); >callApi(getOrgUser) : (id: string, orgId: number) => void > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->callApi : (method: (...args: [...T, object]) => U) => (...args_0: T) => U -> : ^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>callApi : (method: (...args: [...T, object]) => U) => (...args: T) => U +> : ^ ^^^^^^^^^ ^^^^^^^ ^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^ >getOrgUser : (id: string, orgId: number, options?: { y?: number; z?: boolean; }) => void > : ^ ^^ ^^ ^^ ^^ ^^^ ^^^^^ diff --git a/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts b/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts new file mode 100644 index 00000000000..632cdc85200 --- /dev/null +++ b/tests/cases/fourslash/signatureHelpExpandedRestTuplesLocalLabels1.ts @@ -0,0 +1,70 @@ +/// +// from: https://github.com/microsoft/TypeScript/pull/57619 + +//// interface AppleInfo { +//// color: "green" | "red"; +//// } +//// +//// interface BananaInfo { +//// curvature: number; +//// } +//// +//// type FruitAndInfo1 = ["apple", AppleInfo] | ["banana", BananaInfo]; +//// +//// function logFruitTuple1(...[fruit, info]: FruitAndInfo1) {} +//// logFruitTuple1(/*1*/); +//// +//// function logFruitTuple2(...[, info]: FruitAndInfo1) {} +//// logFruitTuple2(/*2*/); +//// logFruitTuple2("apple", /*3*/); +//// +//// function logFruitTuple3(...[fruit, ...rest]: FruitAndInfo1) {} +//// logFruitTuple3(/*4*/); +//// logFruitTuple3("apple", /*5*/); + +//// function logFruitTuple4(...[fruit, ...[info]]: FruitAndInfo1) {} +//// logFruitTuple4(/*6*/); +//// logFruitTuple4("apple", /*7*/); +//// +//// type FruitAndInfo2 = ["apple", ...AppleInfo[]] | ["banana", ...BananaInfo[]]; +//// +//// function logFruitTuple5(...[fruit, firstInfo]: FruitAndInfo2) {} +//// logFruitTuple5(/*8*/); +//// logFruitTuple5("apple", /*9*/); +//// +//// function logFruitTuple6(...[fruit, ...fruitInfo]: FruitAndInfo2) {} +//// logFruitTuple6(/*10*/); +//// logFruitTuple6("apple", /*11*/); +//// +//// type FruitAndInfo3 = ["apple", ...AppleInfo[], number] | ["banana", ...BananaInfo[], number]; +//// +//// function logFruitTuple7(...[fruit, fruitInfoOrNumber, secondFruitInfoOrNumber]: FruitAndInfo3) {} +//// logFruitTuple7(/*12*/); +//// logFruitTuple7("apple", /*13*/); +//// logFruitTuple7("apple", { color: "red" }, /*14*/); +//// +//// function logFruitTuple8(...[fruit, , secondFruitInfoOrNumber]: FruitAndInfo3) {} +//// logFruitTuple8(/*15*/); +//// logFruitTuple8("apple", /*16*/); +//// logFruitTuple8("apple", { color: "red" }, /*17*/); +//// +//// function logFruitTuple9(...[...[fruit, fruitInfoOrNumber, secondFruitInfoOrNumber]]: FruitAndInfo3) {} +//// logFruitTuple9(/*18*/); +//// logFruitTuple9("apple", /*19*/); +//// logFruitTuple9("apple", { color: "red" }, /*20*/); +//// +//// function logFruitTuple10(...[fruit, {}, secondFruitInfoOrNumber]: FruitAndInfo3) {} +//// logFruitTuple10(/*21*/); +//// logFruitTuple10("apple", /*22*/); +//// logFruitTuple10("apple", { color: "red" }, /*23*/); +//// +//// function logFruitTuple11(...{}: FruitAndInfo3) {} +//// logFruitTuple11(/*24*/); +//// logFruitTuple11("apple", /*25*/); +//// logFruitTuple11("apple", { color: "red" }, /*26*/); + +//// function withPair(...[first, second]: [number, named: string]) {} +//// withPair(/*27*/); +//// withPair(101, /*28*/); + +verify.baselineSignatureHelp(); diff --git a/tests/cases/fourslash/signatureHelpExpandedRestUnlabeledTuples.ts b/tests/cases/fourslash/signatureHelpExpandedRestUnlabeledTuples.ts index 6ddd19f0728..0c4e302d571 100644 --- a/tests/cases/fourslash/signatureHelpExpandedRestUnlabeledTuples.ts +++ b/tests/cases/fourslash/signatureHelpExpandedRestUnlabeledTuples.ts @@ -29,7 +29,7 @@ verify.signatureHelp( }, { marker: "3", - text: "complex(item: string, another: string, rest_0: (err: Error) => void, ...rest_1: object[]): void", + text: "complex(item: string, another: string, rest_0: (err: Error) => void, ...rest: object[]): void", overloadsCount: 3, isVariadic: true, }, From e13ff2f26fd8f286cf7d561e4d025069d22e050d Mon Sep 17 00:00:00 2001 From: graphemecluster Date: Thu, 18 Jul 2024 03:29:23 +0800 Subject: [PATCH 24/89] Fix: False Positive "Range out of order in character class" in Regular Expressions in Unicode Modes (#58982) --- src/compiler/scanner.ts | 4 +- ...ressionCharacterClassRangeOrder.errors.txt | 64 +++++++++++++++++++ ...gularExpressionCharacterClassRangeOrder.js | 40 ++++++++++++ ...ExpressionCharacterClassRangeOrder.symbols | 25 ++++++++ ...arExpressionCharacterClassRangeOrder.types | 52 +++++++++++++++ ...gularExpressionCharacterClassRangeOrder.ts | 20 ++++++ 6 files changed, 203 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/regularExpressionCharacterClassRangeOrder.errors.txt create mode 100644 tests/baselines/reference/regularExpressionCharacterClassRangeOrder.js create mode 100644 tests/baselines/reference/regularExpressionCharacterClassRangeOrder.symbols create mode 100644 tests/baselines/reference/regularExpressionCharacterClassRangeOrder.types create mode 100644 tests/cases/compiler/regularExpressionCharacterClassRangeOrder.ts diff --git a/src/compiler/scanner.ts b/src/compiler/scanner.ts index c996687dc5c..0f31a8c9db6 100644 --- a/src/compiler/scanner.ts +++ b/src/compiler/scanner.ts @@ -1640,7 +1640,7 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean const nextStart = pos; let nextPos = pos + 2; for (; nextPos < nextStart + 6; nextPos++) { - if (!isHexDigit(charCodeUnchecked(pos))) { + if (!isHexDigit(charCodeUnchecked(nextPos))) { // leave the error to the next call return escapedValueString; } @@ -3552,7 +3552,7 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean } function scanSourceCharacter(): string { - const size = anyUnicodeMode ? charSize(charCodeChecked(pos)) : 1; + const size = anyUnicodeMode ? charSize(codePointChecked(pos)) : 1; pos += size; return size > 0 ? text.substring(pos - size, pos) : ""; } diff --git a/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.errors.txt b/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.errors.txt new file mode 100644 index 00000000000..a3ece5fedce --- /dev/null +++ b/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.errors.txt @@ -0,0 +1,64 @@ +regularExpressionCharacterClassRangeOrder.ts(7,5): error TS1517: Range out of order in character class. +regularExpressionCharacterClassRangeOrder.ts(7,12): error TS1517: Range out of order in character class. +regularExpressionCharacterClassRangeOrder.ts(8,11): error TS1517: Range out of order in character class. +regularExpressionCharacterClassRangeOrder.ts(9,11): error TS1517: Range out of order in character class. +regularExpressionCharacterClassRangeOrder.ts(11,6): error TS1125: Hexadecimal digit expected. +regularExpressionCharacterClassRangeOrder.ts(11,16): error TS1125: Hexadecimal digit expected. +regularExpressionCharacterClassRangeOrder.ts(11,27): error TS1125: Hexadecimal digit expected. +regularExpressionCharacterClassRangeOrder.ts(11,37): error TS1125: Hexadecimal digit expected. +regularExpressionCharacterClassRangeOrder.ts(12,25): error TS1517: Range out of order in character class. +regularExpressionCharacterClassRangeOrder.ts(13,25): error TS1517: Range out of order in character class. +regularExpressionCharacterClassRangeOrder.ts(15,10): error TS1517: Range out of order in character class. +regularExpressionCharacterClassRangeOrder.ts(15,37): error TS1517: Range out of order in character class. +regularExpressionCharacterClassRangeOrder.ts(16,31): error TS1517: Range out of order in character class. +regularExpressionCharacterClassRangeOrder.ts(17,31): error TS1517: Range out of order in character class. + + +==== regularExpressionCharacterClassRangeOrder.ts (14 errors) ==== + // The characters in the following regular expressions are ASCII-lookalike characters found in Unicode, including: + // - 𝘈 (U+1D608 Mathematical Sans-Serif Italic Capital A) + // - 𝘡 (U+1D621 Mathematical Sans-Serif Italic Capital Z) + // + // See https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols + const regexes: RegExp[] = [ + /[𝘈-𝘡][𝘡-𝘈]/, + ~~~ +!!! error TS1517: Range out of order in character class. + ~~~ +!!! error TS1517: Range out of order in character class. + /[𝘈-𝘡][𝘡-𝘈]/u, + ~~~~~ +!!! error TS1517: Range out of order in character class. + /[𝘈-𝘡][𝘡-𝘈]/v, + ~~~~~ +!!! error TS1517: Range out of order in character class. + + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/, + +!!! error TS1125: Hexadecimal digit expected. + +!!! error TS1125: Hexadecimal digit expected. + +!!! error TS1125: Hexadecimal digit expected. + +!!! error TS1125: Hexadecimal digit expected. + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/u, + ~~~~~~~~~~~~~~~~~~~ +!!! error TS1517: Range out of order in character class. + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/v, + ~~~~~~~~~~~~~~~~~~~ +!!! error TS1517: Range out of order in character class. + + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/, + ~~~~~~~~~~~~~ +!!! error TS1517: Range out of order in character class. + ~~~~~~~~~~~~~ +!!! error TS1517: Range out of order in character class. + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/u, + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1517: Range out of order in character class. + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/v, + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS1517: Range out of order in character class. + ]; + \ No newline at end of file diff --git a/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.js b/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.js new file mode 100644 index 00000000000..9580f94588c --- /dev/null +++ b/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.js @@ -0,0 +1,40 @@ +//// [tests/cases/compiler/regularExpressionCharacterClassRangeOrder.ts] //// + +//// [regularExpressionCharacterClassRangeOrder.ts] +// The characters in the following regular expressions are ASCII-lookalike characters found in Unicode, including: +// - 𝘈 (U+1D608 Mathematical Sans-Serif Italic Capital A) +// - 𝘡 (U+1D621 Mathematical Sans-Serif Italic Capital Z) +// +// See https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols +const regexes: RegExp[] = [ + /[𝘈-𝘡][𝘡-𝘈]/, + /[𝘈-𝘡][𝘡-𝘈]/u, + /[𝘈-𝘡][𝘡-𝘈]/v, + + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/, + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/u, + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/v, + + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/, + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/u, + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/v, +]; + + +//// [regularExpressionCharacterClassRangeOrder.js] +// The characters in the following regular expressions are ASCII-lookalike characters found in Unicode, including: +// - 𝘈 (U+1D608 Mathematical Sans-Serif Italic Capital A) +// - 𝘡 (U+1D621 Mathematical Sans-Serif Italic Capital Z) +// +// See https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols +const regexes = [ + /[𝘈-𝘡][𝘡-𝘈]/, + /[𝘈-𝘡][𝘡-𝘈]/u, + /[𝘈-𝘡][𝘡-𝘈]/v, + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/, + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/u, + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/v, + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/, + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/u, + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/v, +]; diff --git a/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.symbols b/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.symbols new file mode 100644 index 00000000000..f660554f89d --- /dev/null +++ b/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.symbols @@ -0,0 +1,25 @@ +//// [tests/cases/compiler/regularExpressionCharacterClassRangeOrder.ts] //// + +=== regularExpressionCharacterClassRangeOrder.ts === +// The characters in the following regular expressions are ASCII-lookalike characters found in Unicode, including: +// - 𝘈 (U+1D608 Mathematical Sans-Serif Italic Capital A) +// - 𝘡 (U+1D621 Mathematical Sans-Serif Italic Capital Z) +// +// See https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols +const regexes: RegExp[] = [ +>regexes : Symbol(regexes, Decl(regularExpressionCharacterClassRangeOrder.ts, 5, 5)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.regexp.d.ts, --, --) ... and 3 more) + + /[𝘈-𝘡][𝘡-𝘈]/, + /[𝘈-𝘡][𝘡-𝘈]/u, + /[𝘈-𝘡][𝘡-𝘈]/v, + + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/, + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/u, + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/v, + + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/, + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/u, + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/v, +]; + diff --git a/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.types b/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.types new file mode 100644 index 00000000000..86f8d58e4d2 --- /dev/null +++ b/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.types @@ -0,0 +1,52 @@ +//// [tests/cases/compiler/regularExpressionCharacterClassRangeOrder.ts] //// + +=== regularExpressionCharacterClassRangeOrder.ts === +// The characters in the following regular expressions are ASCII-lookalike characters found in Unicode, including: +// - 𝘈 (U+1D608 Mathematical Sans-Serif Italic Capital A) +// - 𝘡 (U+1D621 Mathematical Sans-Serif Italic Capital Z) +// +// See https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols +const regexes: RegExp[] = [ +>regexes : RegExp[] +> : ^^^^^^^^ +>[ /[𝘈-𝘡][𝘡-𝘈]/, /[𝘈-𝘡][𝘡-𝘈]/u, /[𝘈-𝘡][𝘡-𝘈]/v, /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/, /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/u, /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/v, /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/, /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/u, /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/v,] : RegExp[] +> : ^^^^^^^^ + + /[𝘈-𝘡][𝘡-𝘈]/, +>/[𝘈-𝘡][𝘡-𝘈]/ : RegExp +> : ^^^^^^ + + /[𝘈-𝘡][𝘡-𝘈]/u, +>/[𝘈-𝘡][𝘡-𝘈]/u : RegExp +> : ^^^^^^ + + /[𝘈-𝘡][𝘡-𝘈]/v, +>/[𝘈-𝘡][𝘡-𝘈]/v : RegExp +> : ^^^^^^ + + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/, +>/[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/ : RegExp +> : ^^^^^^ + + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/u, +>/[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/u : RegExp +> : ^^^^^^ + + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/v, +>/[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/v : RegExp +> : ^^^^^^ + + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/, +>/[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/ : RegExp +> : ^^^^^^ + + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/u, +>/[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/u : RegExp +> : ^^^^^^ + + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/v, +>/[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/v : RegExp +> : ^^^^^^ + +]; + diff --git a/tests/cases/compiler/regularExpressionCharacterClassRangeOrder.ts b/tests/cases/compiler/regularExpressionCharacterClassRangeOrder.ts new file mode 100644 index 00000000000..a5d77992415 --- /dev/null +++ b/tests/cases/compiler/regularExpressionCharacterClassRangeOrder.ts @@ -0,0 +1,20 @@ +// @target: esnext + +// The characters in the following regular expressions are ASCII-lookalike characters found in Unicode, including: +// - 𝘈 (U+1D608 Mathematical Sans-Serif Italic Capital A) +// - 𝘡 (U+1D621 Mathematical Sans-Serif Italic Capital Z) +// +// See https://en.wikipedia.org/wiki/Mathematical_Alphanumeric_Symbols +const regexes: RegExp[] = [ + /[𝘈-𝘡][𝘡-𝘈]/, + /[𝘈-𝘡][𝘡-𝘈]/u, + /[𝘈-𝘡][𝘡-𝘈]/v, + + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/, + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/u, + /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/v, + + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/, + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/u, + /[\uD835\uDE08-\uD835\uDE21][\uD835\uDE21-\uD835\uDE08]/v, +]; From e7e813542ac5bac320995a77e7ea828d9f583d34 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Wed, 17 Jul 2024 16:51:44 -0400 Subject: [PATCH 25/89] Work around inconsistent recursive directory watch events (#59328) --- .../unittests/sys/symlinkWatching.ts | 31 ++++++++++++++++--- 1 file changed, 27 insertions(+), 4 deletions(-) diff --git a/src/testRunner/unittests/sys/symlinkWatching.ts b/src/testRunner/unittests/sys/symlinkWatching.ts index f4bf768d046..353d778d617 100644 --- a/src/testRunner/unittests/sys/symlinkWatching.ts +++ b/src/testRunner/unittests/sys/symlinkWatching.ts @@ -89,6 +89,7 @@ describe("unittests:: sys:: symlinkWatching::", () => { event: "rename" | "change" | readonly ["rename", "change"]; // Its expected event name or any of the event names // eslint-disable-next-line no-restricted-syntax fileName: string | null | undefined; + optional?: boolean; // This event is optional and may or may not be triggered on a given OS (see https://github.com/nodejs/node/issues/53903) } type FsWatch = (dir: string, recursive: boolean, cb: ts.FsWatchCallback, sys: System) => ts.FileWatcher; interface WatchDirectoryResult { @@ -156,18 +157,39 @@ describe("unittests:: sys:: symlinkWatching::", () => { actual: readonly EventAndFileName[], expected: readonly ExpectedEventAndFileName[] | undefined, ) { - assert(actual.length >= (expected?.length ?? 0), `${prefix}:: Expected ${JSON.stringify(expected)} events, got ${JSON.stringify(actual)}`); + const maxExpected = expected?.length ?? 0; + const minExpected = expected?.reduce((m, e) => e.optional ? m : m + 1, 0) ?? maxExpected; const sortedActual = ts.sortAndDeduplicate(actual, compareEventAndFileName); + assert(sortedActual.length >= minExpected && sortedActual.length <= maxExpected, `${prefix}:: Expected ${JSON.stringify(expected)} events, got ${JSON.stringify(actual)}`); + let actualIndex = 0; let expectedIndex = 0; - for (const a of sortedActual) { - if (isExpectedEventAndFileName(a, expected![expectedIndex])) { + while (actualIndex < sortedActual.length && expectedIndex < maxExpected) { + const a = sortedActual[actualIndex]; + const e = expected![expectedIndex]; + if (isExpectedEventAndFileName(a, e)) { + actualIndex++; expectedIndex++; continue; } + if (e.optional) { + expectedIndex++; + continue; + } + break; + } + if (actualIndex < sortedActual.length) { ts.Debug.fail(`${prefix}:: Expected ${JSON.stringify(expected)} events, got ${JSON.stringify(actual)} Sorted: ${JSON.stringify(sortedActual)}`); } - assert(expectedIndex >= (expected?.length ?? 0), `${prefix}:: Should get all events: Expected ${JSON.stringify(expected)} events, got ${JSON.stringify(actual)} Sorted: ${JSON.stringify(sortedActual)}`); + while (expectedIndex < maxExpected) { + const e = expected![expectedIndex]; + if (e.optional) { + expectedIndex++; + continue; + } + break; + } + assert(expectedIndex >= maxExpected, `${prefix}:: Should get all events: Expected ${JSON.stringify(expected)} events, got ${JSON.stringify(actual)} Sorted: ${JSON.stringify(sortedActual)}`); } function isExpectedEventAndFileName(actual: EventAndFileName, expected: ExpectedEventAndFileName | undefined) { @@ -444,6 +466,7 @@ describe("unittests:: sys:: symlinkWatching::", () => { ], linkFileDelete: [ { event: "rename", fileName: "sub/folder/file2.ts" }, + { event: "change", fileName: "sub/folder", optional: osFlavor === TestServerHostOsFlavor.Windows }, ], linkSubFileCreate: [ From ba46eca139f83827a7a919dea98d4395e4bb9601 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 17 Jul 2024 14:55:45 -0700 Subject: [PATCH 26/89] Use monocart for coverage reports, enable codecov (#58850) --- .c8rc.json | 2 +- .github/codecov.yml | 14 +++ .github/workflows/ci.yml | 32 +++++ knip.jsonc | 2 +- package-lock.json | 264 +++++++++++++++++++++++++++++++++++++-- package.json | 1 + scripts/build/tests.mjs | 19 ++- 7 files changed, 316 insertions(+), 18 deletions(-) create mode 100644 .github/codecov.yml diff --git a/.c8rc.json b/.c8rc.json index e7b602ec15b..cf7d1472ca5 100644 --- a/.c8rc.json +++ b/.c8rc.json @@ -1,5 +1,5 @@ { - "reporter": ["lcovonly", "cobertura"], + "reporter": ["lcovonly", "cobertura", "v8", "codecov"], "src": "src", "include": ["src/**", "built/local/**"], "exclude": ["**/node_modules/**"], diff --git a/.github/codecov.yml b/.github/codecov.yml new file mode 100644 index 00000000000..fec29d63b48 --- /dev/null +++ b/.github/codecov.yml @@ -0,0 +1,14 @@ +comment: false + +coverage: + precision: 5 + status: + patch: + default: + informational: true + project: + default: + informational: true + +github_checks: + annotations: false diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index e87db78e03e..053c61e4be9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -69,6 +69,38 @@ jobs: git add tests/baselines/reference git diff --staged --exit-code + coverage: + runs-on: + - 'self-hosted' + - '1ES.Pool=TypeScript-1ES-GitHub-Large' + - '1ES.ImageOverride=ubuntu-22.04' + + permissions: + id-token: write + contents: read + + steps: + - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 + - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + with: + node-version: '*' + check-latest: true + - run: npm ci + + - name: Run tests with coverage + run: npm test -- --no-lint --coverage + + - name: Upload coverage artifact + uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 + with: + name: coverage + path: coverage + + - uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0 + with: + use_oidc: true + file: ./coverage/codecov.json + lint: runs-on: ubuntu-latest diff --git a/knip.jsonc b/knip.jsonc index 9bca724db2a..9865bc39c16 100644 --- a/knip.jsonc +++ b/knip.jsonc @@ -28,7 +28,7 @@ "ignore": [ "scripts/failed-tests.d.cts" ], - "ignoreDependencies": ["c8", "eslint-formatter-autolinkable-stylish", "mocha-fivemat-progress-reporter"], + "ignoreDependencies": ["c8", "eslint-formatter-autolinkable-stylish", "mocha-fivemat-progress-reporter", "monocart-coverage-reports"], "ignoreExportsUsedInFile": { "enum": true, "interface": true, diff --git a/package-lock.json b/package-lock.json index c0fcda95f0c..e6d5a8376d2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,6 +46,7 @@ "minimist": "^1.2.8", "mocha": "^10.5.2", "mocha-fivemat-progress-reporter": "^0.1.0", + "monocart-coverage-reports": "^2.9.2", "ms": "^2.1.3", "node-fetch": "^3.3.2", "playwright": "^1.45.0", @@ -776,9 +777,9 @@ } }, "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "node_modules/@jridgewell/trace-mapping": { @@ -1258,9 +1259,9 @@ "dev": true }, "node_modules/acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true, "bin": { "acorn": "bin/acorn" @@ -1278,6 +1279,30 @@ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, + "node_modules/acorn-loose": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/acorn-loose/-/acorn-loose-8.4.0.tgz", + "integrity": "sha512-M0EUka6rb+QC4l9Z3T0nJEzNOO7JcoJlYMrBlyBCiFSXRyxjLKayd4TbQs2FDRWQU1h9FR7QVNHt+PEaoNL5rQ==", + "dev": true, + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dev": true, + "dependencies": { + "acorn": "^8.11.0" + }, + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -1788,6 +1813,12 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "node_modules/console-grid": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/console-grid/-/console-grid-2.2.2.tgz", + "integrity": "sha512-ohlgXexdDTKLNsZz7DSJuCAwmRc8omSS61txOk39W3NOthgKGr1a1jJpZ5BCQe4PlrwMw01OvPQ1Bl3G7Y/uFg==", + "dev": true + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -1943,6 +1974,15 @@ "node": ">=0.3.1" } }, + "node_modules/diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true, + "engines": { + "node": "^14.15.0 || ^16.10.0 || >=18.0.0" + } + }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -2004,6 +2044,12 @@ "wcwidth": "^1.0.1" } }, + "node_modules/eight-colors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eight-colors/-/eight-colors-1.3.0.tgz", + "integrity": "sha512-hVoK898cR71ADj7L1LZWaECLaSkzzPtqGXIaKv4K6Pzb72QgjLVsQaNI+ELDQQshzFvgp5xTPkaYkPGqw3YR+g==", + "dev": true + }, "node_modules/emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", @@ -3196,6 +3242,12 @@ "node": "14 || >=16.14" } }, + "node_modules/lz-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lz-utils/-/lz-utils-2.0.2.tgz", + "integrity": "sha512-i1PJN4hNEevkrvLMqNWCCac1BcB5SRaghywG7HVzWOyVkFOasLCG19ND1sY1F/ZEsM6SnGtoXyBWnmfqOM5r6g==", + "dev": true + }, "node_modules/make-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", @@ -3467,6 +3519,78 @@ "node": ">=10" } }, + "node_modules/monocart-code-viewer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/monocart-code-viewer/-/monocart-code-viewer-1.1.4.tgz", + "integrity": "sha512-ehSe1lBG7D1VDVLjTkHV63J3zAgzyhlC9OaxOri7D0X4L5/EcZUOG5TEoMmYErL+YGSOQXghU9kSSAelwNnp1Q==", + "dev": true + }, + "node_modules/monocart-coverage-reports": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/monocart-coverage-reports/-/monocart-coverage-reports-2.9.2.tgz", + "integrity": "sha512-kczj6csD/OYJN4/qsRq5E8bMytHHw+Mi8InOnGH/zwszwsI92X4rbH9SJgmKm10wqzbOPwfxcHezLelK3CFWrA==", + "dev": true, + "dependencies": { + "@bcoe/v8-coverage": "^0.2.3", + "@jridgewell/sourcemap-codec": "^1.5.0", + "acorn": "^8.12.1", + "acorn-loose": "^8.4.0", + "acorn-walk": "^8.3.3", + "commander": "^12.1.0", + "console-grid": "^2.2.2", + "diff-sequences": "^29.6.3", + "eight-colors": "^1.3.0", + "foreground-child": "^3.2.1", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-reports": "^3.1.7", + "lz-utils": "^2.0.2", + "minimatch": "^10.0.1", + "monocart-code-viewer": "^1.1.4", + "monocart-formatter": "^3.0.0", + "monocart-locator": "^1.0.2", + "turbogrid": "^3.2.0" + }, + "bin": { + "mcr": "lib/cli.js" + } + }, + "node_modules/monocart-coverage-reports/node_modules/commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/monocart-coverage-reports/node_modules/minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/monocart-formatter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/monocart-formatter/-/monocart-formatter-3.0.0.tgz", + "integrity": "sha512-91OQpUb/9iDqvrblUv6ki11Jxi1d3Fp5u2jfVAPl3UdNp9TM+iBleLzXntUS51W0o+zoya3CJjZZ01z2XWn25g==", + "dev": true + }, + "node_modules/monocart-locator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/monocart-locator/-/monocart-locator-1.0.2.tgz", + "integrity": "sha512-v8W5hJLcWMIxLCcSi/MHh+VeefI+ycFmGz23Froer9QzWjrbg4J3gFJBuI/T1VLNoYxF47bVPPxq8ZlNX4gVCw==", + "dev": true + }, "node_modules/ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -4389,6 +4513,12 @@ "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, + "node_modules/turbogrid": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/turbogrid/-/turbogrid-3.2.0.tgz", + "integrity": "sha512-c+2qrCGWzoYpLlxtHgRJ4V5dDRE9fUT7D9maxtdBCqJ0NzCdY+x7xF3/F6cG/+n3VIzKfIS+p9Z/0YMQPf6k/Q==", + "dev": true + }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -5203,9 +5333,9 @@ "dev": true }, "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", + "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", "dev": true }, "@jridgewell/trace-mapping": { @@ -5540,9 +5670,9 @@ "dev": true }, "acorn": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.0.tgz", - "integrity": "sha512-RTvkC4w+KNXrM39/lWCUaG0IbRkWdCv7W/IOW9oU6SawyxulvkQy5HQPVTKxEjczcUvapcrw3cFx/60VN/NRNw==", + "version": "8.12.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.12.1.tgz", + "integrity": "sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==", "dev": true }, "acorn-jsx": { @@ -5552,6 +5682,24 @@ "dev": true, "requires": {} }, + "acorn-loose": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/acorn-loose/-/acorn-loose-8.4.0.tgz", + "integrity": "sha512-M0EUka6rb+QC4l9Z3T0nJEzNOO7JcoJlYMrBlyBCiFSXRyxjLKayd4TbQs2FDRWQU1h9FR7QVNHt+PEaoNL5rQ==", + "dev": true, + "requires": { + "acorn": "^8.11.0" + } + }, + "acorn-walk": { + "version": "8.3.3", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz", + "integrity": "sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw==", + "dev": true, + "requires": { + "acorn": "^8.11.0" + } + }, "aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", @@ -5932,6 +6080,12 @@ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", "dev": true }, + "console-grid": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/console-grid/-/console-grid-2.2.2.tgz", + "integrity": "sha512-ohlgXexdDTKLNsZz7DSJuCAwmRc8omSS61txOk39W3NOthgKGr1a1jJpZ5BCQe4PlrwMw01OvPQ1Bl3G7Y/uFg==", + "dev": true + }, "convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -6047,6 +6201,12 @@ "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true }, + "diff-sequences": { + "version": "29.6.3", + "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", + "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", + "dev": true + }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -6096,6 +6256,12 @@ "wcwidth": "^1.0.1" } }, + "eight-colors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/eight-colors/-/eight-colors-1.3.0.tgz", + "integrity": "sha512-hVoK898cR71ADj7L1LZWaECLaSkzzPtqGXIaKv4K6Pzb72QgjLVsQaNI+ELDQQshzFvgp5xTPkaYkPGqw3YR+g==", + "dev": true + }, "emoji-regex": { "version": "9.2.2", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", @@ -6932,6 +7098,12 @@ "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", "dev": true }, + "lz-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lz-utils/-/lz-utils-2.0.2.tgz", + "integrity": "sha512-i1PJN4hNEevkrvLMqNWCCac1BcB5SRaghywG7HVzWOyVkFOasLCG19ND1sY1F/ZEsM6SnGtoXyBWnmfqOM5r6g==", + "dev": true + }, "make-dir": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", @@ -7134,6 +7306,68 @@ "integrity": "sha512-nCf6dmCEHObJ8BBrcjW+UHYvVtHEL+FliYR/Mfc/v7dKenNmBQ0ZSuvlICgsyQy9Tt581ldvh+SReS4qp4LrQw==", "dev": true }, + "monocart-code-viewer": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/monocart-code-viewer/-/monocart-code-viewer-1.1.4.tgz", + "integrity": "sha512-ehSe1lBG7D1VDVLjTkHV63J3zAgzyhlC9OaxOri7D0X4L5/EcZUOG5TEoMmYErL+YGSOQXghU9kSSAelwNnp1Q==", + "dev": true + }, + "monocart-coverage-reports": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/monocart-coverage-reports/-/monocart-coverage-reports-2.9.2.tgz", + "integrity": "sha512-kczj6csD/OYJN4/qsRq5E8bMytHHw+Mi8InOnGH/zwszwsI92X4rbH9SJgmKm10wqzbOPwfxcHezLelK3CFWrA==", + "dev": true, + "requires": { + "@bcoe/v8-coverage": "^0.2.3", + "@jridgewell/sourcemap-codec": "^1.5.0", + "acorn": "^8.12.1", + "acorn-loose": "^8.4.0", + "acorn-walk": "^8.3.3", + "commander": "^12.1.0", + "console-grid": "^2.2.2", + "diff-sequences": "^29.6.3", + "eight-colors": "^1.3.0", + "foreground-child": "^3.2.1", + "istanbul-lib-coverage": "^3.2.2", + "istanbul-lib-report": "^3.0.1", + "istanbul-reports": "^3.1.7", + "lz-utils": "^2.0.2", + "minimatch": "^10.0.1", + "monocart-code-viewer": "^1.1.4", + "monocart-formatter": "^3.0.0", + "monocart-locator": "^1.0.2", + "turbogrid": "^3.2.0" + }, + "dependencies": { + "commander": { + "version": "12.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", + "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", + "dev": true + }, + "minimatch": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", + "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", + "dev": true, + "requires": { + "brace-expansion": "^2.0.1" + } + } + } + }, + "monocart-formatter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/monocart-formatter/-/monocart-formatter-3.0.0.tgz", + "integrity": "sha512-91OQpUb/9iDqvrblUv6ki11Jxi1d3Fp5u2jfVAPl3UdNp9TM+iBleLzXntUS51W0o+zoya3CJjZZ01z2XWn25g==", + "dev": true + }, + "monocart-locator": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/monocart-locator/-/monocart-locator-1.0.2.tgz", + "integrity": "sha512-v8W5hJLcWMIxLCcSi/MHh+VeefI+ycFmGz23Froer9QzWjrbg4J3gFJBuI/T1VLNoYxF47bVPPxq8ZlNX4gVCw==", + "dev": true + }, "ms": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", @@ -7748,6 +7982,12 @@ "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", "dev": true }, + "turbogrid": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/turbogrid/-/turbogrid-3.2.0.tgz", + "integrity": "sha512-c+2qrCGWzoYpLlxtHgRJ4V5dDRE9fUT7D9maxtdBCqJ0NzCdY+x7xF3/F6cG/+n3VIzKfIS+p9Z/0YMQPf6k/Q==", + "dev": true + }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", diff --git a/package.json b/package.json index cbfbcd664c7..da8fac5d774 100644 --- a/package.json +++ b/package.json @@ -72,6 +72,7 @@ "minimist": "^1.2.8", "mocha": "^10.5.2", "mocha-fivemat-progress-reporter": "^0.1.0", + "monocart-coverage-reports": "^2.9.2", "ms": "^2.1.3", "node-fetch": "^3.3.2", "playwright": "^1.45.0", diff --git a/scripts/build/tests.mjs b/scripts/build/tests.mjs index d921d0e5704..c2d11b3b569 100644 --- a/scripts/build/tests.mjs +++ b/scripts/build/tests.mjs @@ -32,7 +32,7 @@ export const coverageDir = "coverage"; * @param {boolean} [options.watching] */ export async function runConsoleTests(runJs, defaultReporter, runInParallel, options = {}) { - const testTimeout = cmdLineOptions.timeout; + let testTimeout = cmdLineOptions.timeout; const tests = cmdLineOptions.tests; const skipSysTests = cmdLineOptions.skipSysTests; const inspect = cmdLineOptions.break || cmdLineOptions.inspect; @@ -45,6 +45,12 @@ export async function runConsoleTests(runJs, defaultReporter, runInParallel, opt const shards = +cmdLineOptions.shards || undefined; const shardId = +cmdLineOptions.shardId || undefined; const coverage = cmdLineOptions.coverage; + + if (coverage && testTimeout) { + testTimeout *= 2; + console.log(chalk.yellowBright(`[coverage] doubling test timeout to ${testTimeout}ms...`)); + } + if (!cmdLineOptions.dirty) { if (options.watching) { console.log(chalk.yellowBright(`[watch] cleaning test directories...`)); @@ -142,9 +148,14 @@ export async function runConsoleTests(runJs, defaultReporter, runInParallel, opt process.env.NODE_V8_COVERAGE = path.resolve(coverageDir, "tmp"); } - await exec(process.execPath, args, { token: options.token }); - if (coverage) { - await exec("npm", ["--prefer-offline", "exec", "--", "c8", "report"], { token: options.token }); + try { + await exec(process.execPath, args, { token: options.token }); + } + finally { + // Calculate coverage even if tests failed. + if (coverage) { + await exec("npm", ["--prefer-offline", "exec", "--", "c8", "report", "--experimental-monocart"], { token: options.token }); + } } } catch (e) { From 2640db8b39f27c5e796ea62c6b04b57fc52a3368 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 17 Jul 2024 15:09:55 -0700 Subject: [PATCH 27/89] Fix coverage uploading (#59334) --- .github/workflows/ci.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 053c61e4be9..727c7df30b1 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -99,7 +99,8 @@ jobs: - uses: codecov/codecov-action@e28ff129e5465c2c0dcc6f003fc735cb6ae0c673 # v4.5.0 with: use_oidc: true - file: ./coverage/codecov.json + disable_search: true + files: ./coverage/codecov.json lint: runs-on: ubuntu-latest From 95a968ce6b65a5195107f3be510715b4f8010bc9 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 17 Jul 2024 16:10:13 -0700 Subject: [PATCH 28/89] Don't skip markLinkedReferences on ambient properties (#59325) --- src/compiler/checker.ts | 6 ++-- ...aElidedImportOnDeclare(module=commonjs).js | 36 +++++++++++++++++++ ...edImportOnDeclare(module=commonjs).symbols | 27 ++++++++++++++ ...idedImportOnDeclare(module=commonjs).types | 31 ++++++++++++++++ ...ataElidedImportOnDeclare(module=esnext).js | 34 ++++++++++++++++++ ...idedImportOnDeclare(module=esnext).symbols | 27 ++++++++++++++ ...ElidedImportOnDeclare(module=esnext).types | 31 ++++++++++++++++ .../decoratorMetadataElidedImportOnDeclare.ts | 18 ++++++++++ 8 files changed, 208 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=commonjs).js create mode 100644 tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=commonjs).symbols create mode 100644 tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=commonjs).types create mode 100644 tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=esnext).js create mode 100644 tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=esnext).symbols create mode 100644 tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=esnext).types create mode 100644 tests/cases/compiler/decoratorMetadataElidedImportOnDeclare.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 49f179bf6b0..5e38395c32d 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -29704,8 +29704,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (!canCollectSymbolAliasAccessabilityData) { return; } - if (location.flags & NodeFlags.Ambient) { - return; // References within types and declaration files are never going to contribute to retaining a JS import + if (location.flags & NodeFlags.Ambient && !isPropertySignature(location) && !isPropertyDeclaration(location)) { + // References within types and declaration files are never going to contribute to retaining a JS import, + // except for properties (which can be decorated). + return; } switch (hint) { case ReferenceHint.Identifier: diff --git a/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=commonjs).js b/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=commonjs).js new file mode 100644 index 00000000000..efef8bf919d --- /dev/null +++ b/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=commonjs).js @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/decoratorMetadataElidedImportOnDeclare.ts] //// + +//// [observable.d.ts] +export declare class Observable {} + +//// [index.ts] +import { Observable } from './observable'; + +function whatever(a: any, b: any) {} + +class Test { + @whatever + declare prop: Observable; +} + + +//// [index.js] +"use strict"; +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +Object.defineProperty(exports, "__esModule", { value: true }); +const observable_1 = require("./observable"); +function whatever(a, b) { } +class Test { +} +__decorate([ + whatever, + __metadata("design:type", observable_1.Observable) +], Test.prototype, "prop", void 0); diff --git a/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=commonjs).symbols b/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=commonjs).symbols new file mode 100644 index 00000000000..c2c8e48b0c0 --- /dev/null +++ b/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=commonjs).symbols @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/decoratorMetadataElidedImportOnDeclare.ts] //// + +=== observable.d.ts === +export declare class Observable {} +>Observable : Symbol(Observable, Decl(observable.d.ts, 0, 0)) +>T : Symbol(T, Decl(observable.d.ts, 0, 32)) + +=== index.ts === +import { Observable } from './observable'; +>Observable : Symbol(Observable, Decl(index.ts, 0, 8)) + +function whatever(a: any, b: any) {} +>whatever : Symbol(whatever, Decl(index.ts, 0, 42)) +>a : Symbol(a, Decl(index.ts, 2, 18)) +>b : Symbol(b, Decl(index.ts, 2, 25)) + +class Test { +>Test : Symbol(Test, Decl(index.ts, 2, 36)) + + @whatever +>whatever : Symbol(whatever, Decl(index.ts, 0, 42)) + + declare prop: Observable; +>prop : Symbol(Test.prop, Decl(index.ts, 4, 12)) +>Observable : Symbol(Observable, Decl(index.ts, 0, 8)) +} + diff --git a/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=commonjs).types b/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=commonjs).types new file mode 100644 index 00000000000..c19c491c9d6 --- /dev/null +++ b/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=commonjs).types @@ -0,0 +1,31 @@ +//// [tests/cases/compiler/decoratorMetadataElidedImportOnDeclare.ts] //// + +=== observable.d.ts === +export declare class Observable {} +>Observable : Observable +> : ^^^^^^^^^^^^^ + +=== index.ts === +import { Observable } from './observable'; +>Observable : typeof Observable +> : ^^^^^^^^^^^^^^^^^ + +function whatever(a: any, b: any) {} +>whatever : (a: any, b: any) => void +> : ^ ^^ ^^ ^^ ^^^^^^^^^ +>a : any +>b : any + +class Test { +>Test : Test +> : ^^^^ + + @whatever +>whatever : (a: any, b: any) => void +> : ^ ^^ ^^ ^^ ^^^^^^^^^ + + declare prop: Observable; +>prop : Observable +> : ^^^^^^^^^^^^^^^^^^ +} + diff --git a/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=esnext).js b/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=esnext).js new file mode 100644 index 00000000000..b0cbf8a1c4f --- /dev/null +++ b/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=esnext).js @@ -0,0 +1,34 @@ +//// [tests/cases/compiler/decoratorMetadataElidedImportOnDeclare.ts] //// + +//// [observable.d.ts] +export declare class Observable {} + +//// [index.ts] +import { Observable } from './observable'; + +function whatever(a: any, b: any) {} + +class Test { + @whatever + declare prop: Observable; +} + + +//// [index.js] +var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) { + var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d; + if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc); + else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r; + return c > 3 && r && Object.defineProperty(target, key, r), r; +}; +var __metadata = (this && this.__metadata) || function (k, v) { + if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v); +}; +import { Observable } from './observable'; +function whatever(a, b) { } +class Test { +} +__decorate([ + whatever, + __metadata("design:type", Observable) +], Test.prototype, "prop", void 0); diff --git a/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=esnext).symbols b/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=esnext).symbols new file mode 100644 index 00000000000..c2c8e48b0c0 --- /dev/null +++ b/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=esnext).symbols @@ -0,0 +1,27 @@ +//// [tests/cases/compiler/decoratorMetadataElidedImportOnDeclare.ts] //// + +=== observable.d.ts === +export declare class Observable {} +>Observable : Symbol(Observable, Decl(observable.d.ts, 0, 0)) +>T : Symbol(T, Decl(observable.d.ts, 0, 32)) + +=== index.ts === +import { Observable } from './observable'; +>Observable : Symbol(Observable, Decl(index.ts, 0, 8)) + +function whatever(a: any, b: any) {} +>whatever : Symbol(whatever, Decl(index.ts, 0, 42)) +>a : Symbol(a, Decl(index.ts, 2, 18)) +>b : Symbol(b, Decl(index.ts, 2, 25)) + +class Test { +>Test : Symbol(Test, Decl(index.ts, 2, 36)) + + @whatever +>whatever : Symbol(whatever, Decl(index.ts, 0, 42)) + + declare prop: Observable; +>prop : Symbol(Test.prop, Decl(index.ts, 4, 12)) +>Observable : Symbol(Observable, Decl(index.ts, 0, 8)) +} + diff --git a/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=esnext).types b/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=esnext).types new file mode 100644 index 00000000000..c19c491c9d6 --- /dev/null +++ b/tests/baselines/reference/decoratorMetadataElidedImportOnDeclare(module=esnext).types @@ -0,0 +1,31 @@ +//// [tests/cases/compiler/decoratorMetadataElidedImportOnDeclare.ts] //// + +=== observable.d.ts === +export declare class Observable {} +>Observable : Observable +> : ^^^^^^^^^^^^^ + +=== index.ts === +import { Observable } from './observable'; +>Observable : typeof Observable +> : ^^^^^^^^^^^^^^^^^ + +function whatever(a: any, b: any) {} +>whatever : (a: any, b: any) => void +> : ^ ^^ ^^ ^^ ^^^^^^^^^ +>a : any +>b : any + +class Test { +>Test : Test +> : ^^^^ + + @whatever +>whatever : (a: any, b: any) => void +> : ^ ^^ ^^ ^^ ^^^^^^^^^ + + declare prop: Observable; +>prop : Observable +> : ^^^^^^^^^^^^^^^^^^ +} + diff --git a/tests/cases/compiler/decoratorMetadataElidedImportOnDeclare.ts b/tests/cases/compiler/decoratorMetadataElidedImportOnDeclare.ts new file mode 100644 index 00000000000..fb470b6b520 --- /dev/null +++ b/tests/cases/compiler/decoratorMetadataElidedImportOnDeclare.ts @@ -0,0 +1,18 @@ +// @target: es2020 +// @module: commonjs, esnext +// @strict: true +// @experimentalDecorators: true +// @emitDecoratorMetadata: true + +// @filename: observable.d.ts +export declare class Observable {} + +// @filename: index.ts +import { Observable } from './observable'; + +function whatever(a: any, b: any) {} + +class Test { + @whatever + declare prop: Observable; +} From 45062406e4dee79be1c1a4765ccb242b94f13f9c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Thu, 18 Jul 2024 01:41:47 +0200 Subject: [PATCH 29/89] Fixed crash on authored import type nodes when serializing for declarations (#59160) --- src/services/codefixes/helpers.ts | 6 +++ ...ionsClassMemberImportTypeNodeParameter1.ts | 34 +++++++++++++++++ ...ionsClassMemberImportTypeNodeParameter2.ts | 31 ++++++++++++++++ ...ionsClassMemberImportTypeNodeParameter3.ts | 37 +++++++++++++++++++ ...ionsClassMemberImportTypeNodeParameter4.ts | 34 +++++++++++++++++ 5 files changed, 142 insertions(+) create mode 100644 tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter1.ts create mode 100644 tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter2.ts create mode 100644 tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter3.ts create mode 100644 tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter4.ts diff --git a/src/services/codefixes/helpers.ts b/src/services/codefixes/helpers.ts index 91a737167de..0c4db514f8c 100644 --- a/src/services/codefixes/helpers.ts +++ b/src/services/codefixes/helpers.ts @@ -899,6 +899,12 @@ export function tryGetAutoImportableReferenceFromTypeNode(importTypeNode: TypeNo if (isLiteralImportTypeNode(node) && node.qualifier) { // Symbol for the left-most thing after the dot const firstIdentifier = getFirstIdentifier(node.qualifier); + if (!firstIdentifier.symbol) { + // if symbol is missing then this doesn't come from a synthesized import type node + // it has to be an import type node authored by the user and thus it has to be valid + // it can't refer to reserved internal symbol names and such + return visitEachChild(node, visit, /*context*/ undefined); + } const name = getNameForExportedSymbol(firstIdentifier.symbol, scriptTarget); const qualifier = name !== firstIdentifier.text ? replaceFirstIdentifierOfEntityName(node.qualifier, factory.createIdentifier(name)) diff --git a/tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter1.ts b/tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter1.ts new file mode 100644 index 00000000000..65ee02dcf8d --- /dev/null +++ b/tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter1.ts @@ -0,0 +1,34 @@ +/// + +// @module: nodenext + +// @Filename: /generation.d.ts +//// export type GenerationConfigType = { max_length?: number }; + +// @FileName: /index.d.ts +//// export declare class PreTrainedModel { +//// _get_generation_config( +//// param: import("./generation.js").GenerationConfigType, +//// ): import("./generation.js").GenerationConfigType; +//// } +//// +//// export declare class BlenderbotSmallPreTrainedModel extends PreTrainedModel { +//// /*1*/ +//// } + +verify.completions({ + marker: "1", + includes: [ + { + name: "_get_generation_config", + insertText: `_get_generation_config(param: import("./generation.js").GenerationConfigType): import("./generation.js").GenerationConfigType;`, + filterText: "_get_generation_config", + hasAction: undefined, + }, + ], + preferences: { + includeCompletionsWithClassMemberSnippets: true, + includeCompletionsWithInsertText: true, + }, + isNewIdentifierLocation: true, +}); diff --git a/tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter2.ts b/tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter2.ts new file mode 100644 index 00000000000..764075a757b --- /dev/null +++ b/tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter2.ts @@ -0,0 +1,31 @@ +/// + +// @module: nodenext + +// @FileName: /index.d.ts +//// export declare class Cls { +//// method( +//// param: import("./doesntexist.js").Foo, +//// ): import("./doesntexist.js").Foo; +//// } +//// +//// export declare class Derived extends Cls { +//// /*1*/ +//// } + +verify.completions({ + marker: "1", + includes: [ + { + name: "method", + insertText: `method(param: import("./doesntexist.js").Foo);`, + filterText: "method", + hasAction: undefined, + }, + ], + preferences: { + includeCompletionsWithClassMemberSnippets: true, + includeCompletionsWithInsertText: true, + }, + isNewIdentifierLocation: true, +}); diff --git a/tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter3.ts b/tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter3.ts new file mode 100644 index 00000000000..5edb4d7478e --- /dev/null +++ b/tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter3.ts @@ -0,0 +1,37 @@ +/// + +// @module: nodenext + +// @FileName: /other/foo.d.ts +//// export declare type Bar = { baz: string }; + +// @FileName: /other/cls.d.ts +//// export declare class Cls { +//// method( +//// param: import("./foo.js").Bar, +//// ): import("./foo.js").Bar; +//// } + +// @FileName: /index.d.ts +//// import { Cls } from "./other/cls.js"; +//// +//// export declare class Derived extends Cls { +//// /*1*/ +//// } + +verify.completions({ + marker: "1", + includes: [ + { + name: "method", + insertText: `method(param: import("./other/foo.js").Bar): import("./other/foo.js").Bar;`, + filterText: "method", + hasAction: undefined, + }, + ], + preferences: { + includeCompletionsWithClassMemberSnippets: true, + includeCompletionsWithInsertText: true, + }, + isNewIdentifierLocation: true, +}); diff --git a/tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter4.ts b/tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter4.ts new file mode 100644 index 00000000000..072725ac2f7 --- /dev/null +++ b/tests/cases/fourslash/completionsClassMemberImportTypeNodeParameter4.ts @@ -0,0 +1,34 @@ +/// + +// @module: nodenext + +// @FileName: /other/cls.d.ts +//// export declare class Cls { +//// method( +//// param: import("./doesntexist.js").Foo, +//// ): import("./doesntexist.js").Foo; +//// } + +// @FileName: /index.d.ts +//// import { Cls } from "./other/cls.js"; +//// +//// export declare class Derived extends Cls { +//// /*1*/ +//// } + +verify.completions({ + marker: "1", + includes: [ + { + name: "method", + insertText: `method(param: import("./doesntexist.js").Foo);`, + filterText: "method", + hasAction: undefined, + }, + ], + preferences: { + includeCompletionsWithClassMemberSnippets: true, + includeCompletionsWithInsertText: true, + }, + isNewIdentifierLocation: true, +}); From afa03f09486ab5c51e94de29419721077e6dc126 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Wed, 17 Jul 2024 17:07:17 -0700 Subject: [PATCH 30/89] Allow declarationMap to be emitted when transpiling declarations and option is enabled (#59337) --- src/compiler/builderState.ts | 3 +- src/compiler/commandLineParser.ts | 1 - src/compiler/emitter.ts | 2 +- src/compiler/types.ts | 1 + src/testRunner/transpileRunner.ts | 13 +- ...ionBasicSyntax(declarationMap=false).d.ts} | 0 ...ationBasicSyntax(declarationMap=false).js} | 0 ...ationBasicSyntax(declarationMap=true).d.ts | 128 ++++++++++++++ ...arationBasicSyntax(declarationMap=true).js | 145 ++++++++++++++++ ...neSourceMapBasic(inlineSourceMap=false).js | 145 ++++++++++++++++ ...ineSourceMapBasic(inlineSourceMap=true).js | 150 ++++++++++++++++ .../jsWithSourceMapBasic(sourceMap=false).js | 145 ++++++++++++++++ .../jsWithSourceMapBasic(sourceMap=true).js | 160 ++++++++++++++++++ .../cases/transpile/declarationBasicSyntax.ts | 1 + .../transpile/jsWithInlineSourceMapBasic.ts | 45 +++++ tests/cases/transpile/jsWithSourceMapBasic.ts | 45 +++++ 16 files changed, 980 insertions(+), 4 deletions(-) rename tests/baselines/reference/transpile/{declarationBasicSyntax.d.ts => declarationBasicSyntax(declarationMap=false).d.ts} (100%) rename tests/baselines/reference/transpile/{declarationBasicSyntax.js => declarationBasicSyntax(declarationMap=false).js} (100%) create mode 100644 tests/baselines/reference/transpile/declarationBasicSyntax(declarationMap=true).d.ts create mode 100644 tests/baselines/reference/transpile/declarationBasicSyntax(declarationMap=true).js create mode 100644 tests/baselines/reference/transpile/jsWithInlineSourceMapBasic(inlineSourceMap=false).js create mode 100644 tests/baselines/reference/transpile/jsWithInlineSourceMapBasic(inlineSourceMap=true).js create mode 100644 tests/baselines/reference/transpile/jsWithSourceMapBasic(sourceMap=false).js create mode 100644 tests/baselines/reference/transpile/jsWithSourceMapBasic(sourceMap=true).js create mode 100644 tests/cases/transpile/jsWithInlineSourceMapBasic.ts create mode 100644 tests/cases/transpile/jsWithSourceMapBasic.ts diff --git a/src/compiler/builderState.ts b/src/compiler/builderState.ts index 6e23eaddc37..0e571d233d7 100644 --- a/src/compiler/builderState.ts +++ b/src/compiler/builderState.ts @@ -5,6 +5,7 @@ import { computeSignatureWithDiagnostics, CustomTransformers, Debug, + EmitOnly, EmitOutput, emptyArray, GetCanonicalFileName, @@ -418,7 +419,7 @@ export namespace BuilderState { ); }, cancellationToken, - /*emitOnly*/ true, + EmitOnly.BuilderSignature, /*customTransformers*/ undefined, /*forceDtsEmit*/ true, ); diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 25b5895544c..0bff09959fc 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -467,7 +467,6 @@ export const commonOptionsWithBuild: CommandLineOption[] = [ affectsBuildInfo: true, showInSimplifiedHelpView: true, category: Diagnostics.Emit, - transpileOptionValue: undefined, defaultValueDescription: false, description: Diagnostics.Create_sourcemaps_for_d_ts_files, }, diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 4194a58c6bc..bf2b14ba060 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -907,7 +907,7 @@ export function emitFiles( module: compilerOptions.module, moduleResolution: compilerOptions.moduleResolution, target: compilerOptions.target, - sourceMap: !forceDtsEmit && compilerOptions.declarationMap, + sourceMap: emitOnly !== EmitOnly.BuilderSignature && compilerOptions.declarationMap, inlineSourceMap: compilerOptions.inlineSourceMap, extendedDiagnostics: compilerOptions.extendedDiagnostics, onlyPrintJsDocStyle: true, diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 0a1d95e8ce6..558cb61cf23 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -4648,6 +4648,7 @@ export type FilePreprocessingDiagnostics = FilePreprocessingLibReferenceDiagnost export const enum EmitOnly { Js, Dts, + BuilderSignature, } /** @internal */ diff --git a/src/testRunner/transpileRunner.ts b/src/testRunner/transpileRunner.ts index 80a9794fe2b..5ef62de5c80 100644 --- a/src/testRunner/transpileRunner.ts +++ b/src/testRunner/transpileRunner.ts @@ -48,7 +48,11 @@ enum TranspileKind { } class TranspileTestCase { - static varyBy = []; + static varyBy = [ + "declarationMap", + "sourceMap", + "inlineSourceMap", + ]; static getConfigurations(file: string): TranspileTestCase[] { const ext = vpath.extname(file); @@ -104,6 +108,13 @@ class TranspileTestCase { if (!result.outputText.endsWith("\n")) { baselineText += "\r\n"; } + if (result.sourceMapText) { + baselineText += `//// [${ts.changeExtension(unit.name, kind === TranspileKind.Module ? this.getJsOutputExtension(unit.name) : ts.getDeclarationEmitExtensionForPath(unit.name))}.map] ////\r\n`; + baselineText += result.sourceMapText; + if (!result.outputText.endsWith("\n")) { + baselineText += "\r\n"; + } + } if (result.diagnostics && result.diagnostics.length) { baselineText += "\r\n\r\n//// [Diagnostics reported]\r\n"; baselineText += Compiler.getErrorBaseline([{ content: unit.content, unitName: unit.name }], result.diagnostics, !!opts.pretty); diff --git a/tests/baselines/reference/transpile/declarationBasicSyntax.d.ts b/tests/baselines/reference/transpile/declarationBasicSyntax(declarationMap=false).d.ts similarity index 100% rename from tests/baselines/reference/transpile/declarationBasicSyntax.d.ts rename to tests/baselines/reference/transpile/declarationBasicSyntax(declarationMap=false).d.ts diff --git a/tests/baselines/reference/transpile/declarationBasicSyntax.js b/tests/baselines/reference/transpile/declarationBasicSyntax(declarationMap=false).js similarity index 100% rename from tests/baselines/reference/transpile/declarationBasicSyntax.js rename to tests/baselines/reference/transpile/declarationBasicSyntax(declarationMap=false).js diff --git a/tests/baselines/reference/transpile/declarationBasicSyntax(declarationMap=true).d.ts b/tests/baselines/reference/transpile/declarationBasicSyntax(declarationMap=true).d.ts new file mode 100644 index 00000000000..c82e9f9b1b6 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationBasicSyntax(declarationMap=true).d.ts @@ -0,0 +1,128 @@ +//// [variables.ts] //// +export const a = 1; +export let b = 2; +export var c = 3; +using d = undefined; +export { d }; +await using e = undefined; +export { e }; +//// [interface.ts] //// +export interface Foo { + a: string; + readonly b: string; + c?: string; +} +//// [class.ts] //// +const i = Symbol(); +export class Bar { + a: string; + b?: string; + declare c: string; + #d: string; + public e: string; + protected f: string; + private g: string; + ["h"]: string; + [i]: string; +} + +export abstract class Baz { + abstract a: string; + abstract method(): void; +} +//// [namespace.ts] //// +export namespace ns { + namespace internal { + export class Foo {} + } + export namespace nested { + export import inner = internal; + } +} +//// [alias.ts] //// +export type A = { x: T }; +//// [variables.d.ts] //// +export declare const a = 1; +export declare let b: number; +export declare var c: number; +declare const d: any; +export { d }; +declare const e: any; +export { e }; +//# sourceMappingURL=variables.d.ts.map +//// [variables.d.ts.map] //// +{"version":3,"file":"variables.d.ts","sourceRoot":"","sources":["variables.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,CAAC,IAAI,CAAC;AACnB,eAAO,IAAI,CAAC,QAAI,CAAC;AACjB,eAAO,IAAI,CAAC,QAAI,CAAC;AACjB,QAAA,MAAM,CAAC,KAAY,CAAC;AACpB,OAAO,EAAE,CAAC,EAAE,CAAC;AACb,QAAA,MAAY,CAAC,KAAY,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,CAAC"} +//// [interface.d.ts] //// +export interface Foo { + a: string; + readonly b: string; + c?: string; +} +//# sourceMappingURL=interface.d.ts.map +//// [interface.d.ts.map] //// +{"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["interface.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,GAAG;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,CAAC,CAAC,EAAE,MAAM,CAAC;CACd"} +//// [class.d.ts] //// +export declare class Bar { + #private; + a: string; + b?: string; + c: string; + e: string; + protected f: string; + private g; + ["h"]: string; +} +export declare abstract class Baz { + abstract a: string; + abstract method(): void; +} +//# sourceMappingURL=class.d.ts.map +//// [class.d.ts.map] //// +{"version":3,"file":"class.d.ts","sourceRoot":"","sources":["class.ts"],"names":[],"mappings":"AACA,qBAAa,GAAG;;IACZ,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACH,CAAC,EAAE,MAAM,CAAC;IAEX,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,CAAC,CAAS;IAClB,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;CAEjB;AAED,8BAAsB,GAAG;IACrB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,MAAM,IAAI,IAAI;CAC1B"} + + +//// [Diagnostics reported] +class.ts(11,5): error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. + + +==== class.ts (1 errors) ==== + const i = Symbol(); + export class Bar { + a: string; + b?: string; + declare c: string; + #d: string; + public e: string; + protected f: string; + private g: string; + ["h"]: string; + [i]: string; + ~~~ +!!! error TS9038: Computed property names on class or object literals cannot be inferred with --isolatedDeclarations. + } + + export abstract class Baz { + abstract a: string; + abstract method(): void; + } +//// [namespace.d.ts] //// +export declare namespace ns { + namespace internal { + class Foo { + } + } + export namespace nested { + export import inner = internal; + } + export {}; +} +//# sourceMappingURL=namespace.d.ts.map +//// [namespace.d.ts.map] //// +{"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["namespace.ts"],"names":[],"mappings":"AAAA,yBAAiB,EAAE,CAAC;IAChB,UAAU,QAAQ,CAAC;QACf,MAAa,GAAG;SAAG;KACtB;IACD,MAAM,WAAW,MAAM,CAAC;QACpB,MAAM,QAAQ,KAAK,GAAG,QAAQ,CAAC;KAClC;;CACJ"} +//// [alias.d.ts] //// +export type A = { + x: T; +}; +//# sourceMappingURL=alias.d.ts.map +//// [alias.d.ts.map] //// +{"version":3,"file":"alias.d.ts","sourceRoot":"","sources":["alias.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,CAAC,CAAC,CAAC,IAAI;IAAE,CAAC,EAAE,CAAC,CAAA;CAAE,CAAC"} diff --git a/tests/baselines/reference/transpile/declarationBasicSyntax(declarationMap=true).js b/tests/baselines/reference/transpile/declarationBasicSyntax(declarationMap=true).js new file mode 100644 index 00000000000..dd7a762bf28 --- /dev/null +++ b/tests/baselines/reference/transpile/declarationBasicSyntax(declarationMap=true).js @@ -0,0 +1,145 @@ +//// [variables.ts] //// +export const a = 1; +export let b = 2; +export var c = 3; +using d = undefined; +export { d }; +await using e = undefined; +export { e }; +//// [interface.ts] //// +export interface Foo { + a: string; + readonly b: string; + c?: string; +} +//// [class.ts] //// +const i = Symbol(); +export class Bar { + a: string; + b?: string; + declare c: string; + #d: string; + public e: string; + protected f: string; + private g: string; + ["h"]: string; + [i]: string; +} + +export abstract class Baz { + abstract a: string; + abstract method(): void; +} +//// [namespace.ts] //// +export namespace ns { + namespace internal { + export class Foo {} + } + export namespace nested { + export import inner = internal; + } +} +//// [alias.ts] //// +export type A = { x: T }; +//// [variables.js] //// +var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { + if (value !== null && value !== void 0) { + if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); + var dispose, inner; + if (async) { + if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); + dispose = value[Symbol.asyncDispose]; + } + if (dispose === void 0) { + if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); + dispose = value[Symbol.dispose]; + if (async) inner = dispose; + } + if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; + env.stack.push({ value: value, dispose: dispose, async: async }); + } + else if (async) { + env.stack.push({ async: true }); + } + return value; +}; +var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) { + return function (env) { + function fail(e) { + env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; + env.hasError = true; + } + var r, s = 0; + function next() { + while (r = env.stack.pop()) { + try { + if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); + if (r.dispose) { + var result = r.dispose.call(r.value); + if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); + } + else s |= 1; + } + catch (e) { + fail(e); + } + } + if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); + if (env.hasError) throw env.error; + } + return next(); + }; +})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; +}); +export const a = 1; +export let b = 2; +export var c = 3; +export { d }; +export { e }; +var d, e; +const env_1 = { stack: [], error: void 0, hasError: false }; +try { + d = __addDisposableResource(env_1, undefined, false); + e = __addDisposableResource(env_1, undefined, true); +} +catch (e_1) { + env_1.error = e_1; + env_1.hasError = true; +} +finally { + const result_1 = __disposeResources(env_1); + if (result_1) + await result_1; +} +//// [interface.js] //// +export {}; +//// [class.js] //// +var _Bar_d; +const i = Symbol(); +export class Bar { + constructor() { + _Bar_d.set(this, void 0); + } +} +_Bar_d = new WeakMap(); +export class Baz { +} +//// [namespace.js] //// +export var ns; +(function (ns) { + let internal; + (function (internal) { + class Foo { + } + internal.Foo = Foo; + })(internal || (internal = {})); + let nested; + (function (nested) { + nested.inner = internal; + })(nested = ns.nested || (ns.nested = {})); +})(ns || (ns = {})); +//// [alias.js] //// +export {}; diff --git a/tests/baselines/reference/transpile/jsWithInlineSourceMapBasic(inlineSourceMap=false).js b/tests/baselines/reference/transpile/jsWithInlineSourceMapBasic(inlineSourceMap=false).js new file mode 100644 index 00000000000..dd7a762bf28 --- /dev/null +++ b/tests/baselines/reference/transpile/jsWithInlineSourceMapBasic(inlineSourceMap=false).js @@ -0,0 +1,145 @@ +//// [variables.ts] //// +export const a = 1; +export let b = 2; +export var c = 3; +using d = undefined; +export { d }; +await using e = undefined; +export { e }; +//// [interface.ts] //// +export interface Foo { + a: string; + readonly b: string; + c?: string; +} +//// [class.ts] //// +const i = Symbol(); +export class Bar { + a: string; + b?: string; + declare c: string; + #d: string; + public e: string; + protected f: string; + private g: string; + ["h"]: string; + [i]: string; +} + +export abstract class Baz { + abstract a: string; + abstract method(): void; +} +//// [namespace.ts] //// +export namespace ns { + namespace internal { + export class Foo {} + } + export namespace nested { + export import inner = internal; + } +} +//// [alias.ts] //// +export type A = { x: T }; +//// [variables.js] //// +var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { + if (value !== null && value !== void 0) { + if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); + var dispose, inner; + if (async) { + if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); + dispose = value[Symbol.asyncDispose]; + } + if (dispose === void 0) { + if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); + dispose = value[Symbol.dispose]; + if (async) inner = dispose; + } + if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; + env.stack.push({ value: value, dispose: dispose, async: async }); + } + else if (async) { + env.stack.push({ async: true }); + } + return value; +}; +var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) { + return function (env) { + function fail(e) { + env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; + env.hasError = true; + } + var r, s = 0; + function next() { + while (r = env.stack.pop()) { + try { + if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); + if (r.dispose) { + var result = r.dispose.call(r.value); + if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); + } + else s |= 1; + } + catch (e) { + fail(e); + } + } + if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); + if (env.hasError) throw env.error; + } + return next(); + }; +})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; +}); +export const a = 1; +export let b = 2; +export var c = 3; +export { d }; +export { e }; +var d, e; +const env_1 = { stack: [], error: void 0, hasError: false }; +try { + d = __addDisposableResource(env_1, undefined, false); + e = __addDisposableResource(env_1, undefined, true); +} +catch (e_1) { + env_1.error = e_1; + env_1.hasError = true; +} +finally { + const result_1 = __disposeResources(env_1); + if (result_1) + await result_1; +} +//// [interface.js] //// +export {}; +//// [class.js] //// +var _Bar_d; +const i = Symbol(); +export class Bar { + constructor() { + _Bar_d.set(this, void 0); + } +} +_Bar_d = new WeakMap(); +export class Baz { +} +//// [namespace.js] //// +export var ns; +(function (ns) { + let internal; + (function (internal) { + class Foo { + } + internal.Foo = Foo; + })(internal || (internal = {})); + let nested; + (function (nested) { + nested.inner = internal; + })(nested = ns.nested || (ns.nested = {})); +})(ns || (ns = {})); +//// [alias.js] //// +export {}; diff --git a/tests/baselines/reference/transpile/jsWithInlineSourceMapBasic(inlineSourceMap=true).js b/tests/baselines/reference/transpile/jsWithInlineSourceMapBasic(inlineSourceMap=true).js new file mode 100644 index 00000000000..196e30479ce --- /dev/null +++ b/tests/baselines/reference/transpile/jsWithInlineSourceMapBasic(inlineSourceMap=true).js @@ -0,0 +1,150 @@ +//// [variables.ts] //// +export const a = 1; +export let b = 2; +export var c = 3; +using d = undefined; +export { d }; +await using e = undefined; +export { e }; +//// [interface.ts] //// +export interface Foo { + a: string; + readonly b: string; + c?: string; +} +//// [class.ts] //// +const i = Symbol(); +export class Bar { + a: string; + b?: string; + declare c: string; + #d: string; + public e: string; + protected f: string; + private g: string; + ["h"]: string; + [i]: string; +} + +export abstract class Baz { + abstract a: string; + abstract method(): void; +} +//// [namespace.ts] //// +export namespace ns { + namespace internal { + export class Foo {} + } + export namespace nested { + export import inner = internal; + } +} +//// [alias.ts] //// +export type A = { x: T }; +//// [variables.js] //// +var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { + if (value !== null && value !== void 0) { + if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); + var dispose, inner; + if (async) { + if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); + dispose = value[Symbol.asyncDispose]; + } + if (dispose === void 0) { + if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); + dispose = value[Symbol.dispose]; + if (async) inner = dispose; + } + if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; + env.stack.push({ value: value, dispose: dispose, async: async }); + } + else if (async) { + env.stack.push({ async: true }); + } + return value; +}; +var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) { + return function (env) { + function fail(e) { + env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; + env.hasError = true; + } + var r, s = 0; + function next() { + while (r = env.stack.pop()) { + try { + if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); + if (r.dispose) { + var result = r.dispose.call(r.value); + if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); + } + else s |= 1; + } + catch (e) { + fail(e); + } + } + if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); + if (env.hasError) throw env.error; + } + return next(); + }; +})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; +}); +export const a = 1; +export let b = 2; +export var c = 3; +export { d }; +export { e }; +var d, e; +const env_1 = { stack: [], error: void 0, hasError: false }; +try { + d = __addDisposableResource(env_1, undefined, false); + e = __addDisposableResource(env_1, undefined, true); +} +catch (e_1) { + env_1.error = e_1; + env_1.hasError = true; +} +finally { + const result_1 = __disposeResources(env_1); + if (result_1) + await result_1; +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFyaWFibGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsidmFyaWFibGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ25CLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDakIsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUVqQixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7QUFFYixPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUM7Ozs7SUFIUCxtQ0FBSSxTQUFTLFFBQUEsQ0FBQztJQUVSLG1DQUFJLFNBQVMsT0FBQSxDQUFDIn0= +//// [interface.js] //// +export {}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIifQ== +//// [class.js] //// +var _Bar_d; +const i = Symbol(); +export class Bar { + constructor() { + _Bar_d.set(this, void 0); + } +} +_Bar_d = new WeakMap(); +export class Baz { +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xhc3MuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJjbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsTUFBTSxDQUFDLEdBQUcsTUFBTSxFQUFFLENBQUM7QUFDbkIsTUFBTSxPQUFPLEdBQUc7SUFBaEI7UUFJSSx5QkFBVztJQU1mLENBQUM7Q0FBQTs7QUFFRCxNQUFNLE9BQWdCLEdBQUc7Q0FHeEIifQ== +//// [namespace.js] //// +export var ns; +(function (ns) { + let internal; + (function (internal) { + class Foo { + } + internal.Foo = Foo; + })(internal || (internal = {})); + let nested; + (function (nested) { + nested.inner = internal; + })(nested = ns.nested || (ns.nested = {})); +})(ns || (ns = {})); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtZXNwYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsibmFtZXNwYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sS0FBVyxFQUFFLENBT2xCO0FBUEQsV0FBaUIsRUFBRTtJQUNmLElBQVUsUUFBUSxDQUVqQjtJQUZELFdBQVUsUUFBUTtRQUNkLE1BQWEsR0FBRztTQUFHO1FBQU4sWUFBRyxNQUFHLENBQUE7SUFDdkIsQ0FBQyxFQUZTLFFBQVEsS0FBUixRQUFRLFFBRWpCO0lBQ0QsSUFBaUIsTUFBTSxDQUV0QjtJQUZELFdBQWlCLE1BQU07UUFDTCxZQUFLLEdBQUcsUUFBUSxDQUFDO0lBQ25DLENBQUMsRUFGZ0IsTUFBTSxHQUFOLFNBQU0sS0FBTixTQUFNLFFBRXRCO0FBQ0wsQ0FBQyxFQVBnQixFQUFFLEtBQUYsRUFBRSxRQU9sQiJ9 +//// [alias.js] //// +export {}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxpYXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyJhbGlhcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0= diff --git a/tests/baselines/reference/transpile/jsWithSourceMapBasic(sourceMap=false).js b/tests/baselines/reference/transpile/jsWithSourceMapBasic(sourceMap=false).js new file mode 100644 index 00000000000..dd7a762bf28 --- /dev/null +++ b/tests/baselines/reference/transpile/jsWithSourceMapBasic(sourceMap=false).js @@ -0,0 +1,145 @@ +//// [variables.ts] //// +export const a = 1; +export let b = 2; +export var c = 3; +using d = undefined; +export { d }; +await using e = undefined; +export { e }; +//// [interface.ts] //// +export interface Foo { + a: string; + readonly b: string; + c?: string; +} +//// [class.ts] //// +const i = Symbol(); +export class Bar { + a: string; + b?: string; + declare c: string; + #d: string; + public e: string; + protected f: string; + private g: string; + ["h"]: string; + [i]: string; +} + +export abstract class Baz { + abstract a: string; + abstract method(): void; +} +//// [namespace.ts] //// +export namespace ns { + namespace internal { + export class Foo {} + } + export namespace nested { + export import inner = internal; + } +} +//// [alias.ts] //// +export type A = { x: T }; +//// [variables.js] //// +var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { + if (value !== null && value !== void 0) { + if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); + var dispose, inner; + if (async) { + if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); + dispose = value[Symbol.asyncDispose]; + } + if (dispose === void 0) { + if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); + dispose = value[Symbol.dispose]; + if (async) inner = dispose; + } + if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; + env.stack.push({ value: value, dispose: dispose, async: async }); + } + else if (async) { + env.stack.push({ async: true }); + } + return value; +}; +var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) { + return function (env) { + function fail(e) { + env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; + env.hasError = true; + } + var r, s = 0; + function next() { + while (r = env.stack.pop()) { + try { + if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); + if (r.dispose) { + var result = r.dispose.call(r.value); + if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); + } + else s |= 1; + } + catch (e) { + fail(e); + } + } + if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); + if (env.hasError) throw env.error; + } + return next(); + }; +})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; +}); +export const a = 1; +export let b = 2; +export var c = 3; +export { d }; +export { e }; +var d, e; +const env_1 = { stack: [], error: void 0, hasError: false }; +try { + d = __addDisposableResource(env_1, undefined, false); + e = __addDisposableResource(env_1, undefined, true); +} +catch (e_1) { + env_1.error = e_1; + env_1.hasError = true; +} +finally { + const result_1 = __disposeResources(env_1); + if (result_1) + await result_1; +} +//// [interface.js] //// +export {}; +//// [class.js] //// +var _Bar_d; +const i = Symbol(); +export class Bar { + constructor() { + _Bar_d.set(this, void 0); + } +} +_Bar_d = new WeakMap(); +export class Baz { +} +//// [namespace.js] //// +export var ns; +(function (ns) { + let internal; + (function (internal) { + class Foo { + } + internal.Foo = Foo; + })(internal || (internal = {})); + let nested; + (function (nested) { + nested.inner = internal; + })(nested = ns.nested || (ns.nested = {})); +})(ns || (ns = {})); +//// [alias.js] //// +export {}; diff --git a/tests/baselines/reference/transpile/jsWithSourceMapBasic(sourceMap=true).js b/tests/baselines/reference/transpile/jsWithSourceMapBasic(sourceMap=true).js new file mode 100644 index 00000000000..c0f0e49c712 --- /dev/null +++ b/tests/baselines/reference/transpile/jsWithSourceMapBasic(sourceMap=true).js @@ -0,0 +1,160 @@ +//// [variables.ts] //// +export const a = 1; +export let b = 2; +export var c = 3; +using d = undefined; +export { d }; +await using e = undefined; +export { e }; +//// [interface.ts] //// +export interface Foo { + a: string; + readonly b: string; + c?: string; +} +//// [class.ts] //// +const i = Symbol(); +export class Bar { + a: string; + b?: string; + declare c: string; + #d: string; + public e: string; + protected f: string; + private g: string; + ["h"]: string; + [i]: string; +} + +export abstract class Baz { + abstract a: string; + abstract method(): void; +} +//// [namespace.ts] //// +export namespace ns { + namespace internal { + export class Foo {} + } + export namespace nested { + export import inner = internal; + } +} +//// [alias.ts] //// +export type A = { x: T }; +//// [variables.js] //// +var __addDisposableResource = (this && this.__addDisposableResource) || function (env, value, async) { + if (value !== null && value !== void 0) { + if (typeof value !== "object" && typeof value !== "function") throw new TypeError("Object expected."); + var dispose, inner; + if (async) { + if (!Symbol.asyncDispose) throw new TypeError("Symbol.asyncDispose is not defined."); + dispose = value[Symbol.asyncDispose]; + } + if (dispose === void 0) { + if (!Symbol.dispose) throw new TypeError("Symbol.dispose is not defined."); + dispose = value[Symbol.dispose]; + if (async) inner = dispose; + } + if (typeof dispose !== "function") throw new TypeError("Object not disposable."); + if (inner) dispose = function() { try { inner.call(this); } catch (e) { return Promise.reject(e); } }; + env.stack.push({ value: value, dispose: dispose, async: async }); + } + else if (async) { + env.stack.push({ async: true }); + } + return value; +}; +var __disposeResources = (this && this.__disposeResources) || (function (SuppressedError) { + return function (env) { + function fail(e) { + env.error = env.hasError ? new SuppressedError(e, env.error, "An error was suppressed during disposal.") : e; + env.hasError = true; + } + var r, s = 0; + function next() { + while (r = env.stack.pop()) { + try { + if (!r.async && s === 1) return s = 0, env.stack.push(r), Promise.resolve().then(next); + if (r.dispose) { + var result = r.dispose.call(r.value); + if (r.async) return s |= 2, Promise.resolve(result).then(next, function(e) { fail(e); return next(); }); + } + else s |= 1; + } + catch (e) { + fail(e); + } + } + if (s === 1) return env.hasError ? Promise.reject(env.error) : Promise.resolve(); + if (env.hasError) throw env.error; + } + return next(); + }; +})(typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) { + var e = new Error(message); + return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e; +}); +export const a = 1; +export let b = 2; +export var c = 3; +export { d }; +export { e }; +var d, e; +const env_1 = { stack: [], error: void 0, hasError: false }; +try { + d = __addDisposableResource(env_1, undefined, false); + e = __addDisposableResource(env_1, undefined, true); +} +catch (e_1) { + env_1.error = e_1; + env_1.hasError = true; +} +finally { + const result_1 = __disposeResources(env_1); + if (result_1) + await result_1; +} +//# sourceMappingURL=variables.js.map +//// [variables.js.map] //// +{"version":3,"file":"variables.js","sourceRoot":"","sources":["variables.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;AACnB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACjB,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAEjB,OAAO,EAAE,CAAC,EAAE,CAAC;AAEb,OAAO,EAAE,CAAC,EAAE,CAAC;;;;IAHP,mCAAI,SAAS,QAAA,CAAC;IAER,mCAAI,SAAS,OAAA,CAAC"} +//// [interface.js] //// +export {}; +//# sourceMappingURL=interface.js.map +//// [interface.js.map] //// +{"version":3,"file":"interface.js","sourceRoot":"","sources":["interface.ts"],"names":[],"mappings":""} +//// [class.js] //// +var _Bar_d; +const i = Symbol(); +export class Bar { + constructor() { + _Bar_d.set(this, void 0); + } +} +_Bar_d = new WeakMap(); +export class Baz { +} +//# sourceMappingURL=class.js.map +//// [class.js.map] //// +{"version":3,"file":"class.js","sourceRoot":"","sources":["class.ts"],"names":[],"mappings":";AAAA,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;AACnB,MAAM,OAAO,GAAG;IAAhB;QAII,yBAAW;IAMf,CAAC;CAAA;;AAED,MAAM,OAAgB,GAAG;CAGxB"} +//// [namespace.js] //// +export var ns; +(function (ns) { + let internal; + (function (internal) { + class Foo { + } + internal.Foo = Foo; + })(internal || (internal = {})); + let nested; + (function (nested) { + nested.inner = internal; + })(nested = ns.nested || (ns.nested = {})); +})(ns || (ns = {})); +//# sourceMappingURL=namespace.js.map +//// [namespace.js.map] //// +{"version":3,"file":"namespace.js","sourceRoot":"","sources":["namespace.ts"],"names":[],"mappings":"AAAA,MAAM,KAAW,EAAE,CAOlB;AAPD,WAAiB,EAAE;IACf,IAAU,QAAQ,CAEjB;IAFD,WAAU,QAAQ;QACd,MAAa,GAAG;SAAG;QAAN,YAAG,MAAG,CAAA;IACvB,CAAC,EAFS,QAAQ,KAAR,QAAQ,QAEjB;IACD,IAAiB,MAAM,CAEtB;IAFD,WAAiB,MAAM;QACL,YAAK,GAAG,QAAQ,CAAC;IACnC,CAAC,EAFgB,MAAM,GAAN,SAAM,KAAN,SAAM,QAEtB;AACL,CAAC,EAPgB,EAAE,KAAF,EAAE,QAOlB"} +//// [alias.js] //// +export {}; +//# sourceMappingURL=alias.js.map +//// [alias.js.map] //// +{"version":3,"file":"alias.js","sourceRoot":"","sources":["alias.ts"],"names":[],"mappings":""} diff --git a/tests/cases/transpile/declarationBasicSyntax.ts b/tests/cases/transpile/declarationBasicSyntax.ts index 606808e509b..7ed0ce9368a 100644 --- a/tests/cases/transpile/declarationBasicSyntax.ts +++ b/tests/cases/transpile/declarationBasicSyntax.ts @@ -1,4 +1,5 @@ // @declaration: true +// @declarationMap: true,false // @target: es6 // @filename: variables.ts export const a = 1; diff --git a/tests/cases/transpile/jsWithInlineSourceMapBasic.ts b/tests/cases/transpile/jsWithInlineSourceMapBasic.ts new file mode 100644 index 00000000000..89f9546f293 --- /dev/null +++ b/tests/cases/transpile/jsWithInlineSourceMapBasic.ts @@ -0,0 +1,45 @@ +// @inlineSourceMap: true,false +// @target: es6 +// @filename: variables.ts +export const a = 1; +export let b = 2; +export var c = 3; +using d = undefined; +export { d }; +await using e = undefined; +export { e }; +// @filename: interface.ts +export interface Foo { + a: string; + readonly b: string; + c?: string; +} +// @filename: class.ts +const i = Symbol(); +export class Bar { + a: string; + b?: string; + declare c: string; + #d: string; + public e: string; + protected f: string; + private g: string; + ["h"]: string; + [i]: string; +} + +export abstract class Baz { + abstract a: string; + abstract method(): void; +} +// @filename: namespace.ts +export namespace ns { + namespace internal { + export class Foo {} + } + export namespace nested { + export import inner = internal; + } +} +// @filename: alias.ts +export type A = { x: T }; \ No newline at end of file diff --git a/tests/cases/transpile/jsWithSourceMapBasic.ts b/tests/cases/transpile/jsWithSourceMapBasic.ts new file mode 100644 index 00000000000..914133536c2 --- /dev/null +++ b/tests/cases/transpile/jsWithSourceMapBasic.ts @@ -0,0 +1,45 @@ +// @sourceMap: true,false +// @target: es6 +// @filename: variables.ts +export const a = 1; +export let b = 2; +export var c = 3; +using d = undefined; +export { d }; +await using e = undefined; +export { e }; +// @filename: interface.ts +export interface Foo { + a: string; + readonly b: string; + c?: string; +} +// @filename: class.ts +const i = Symbol(); +export class Bar { + a: string; + b?: string; + declare c: string; + #d: string; + public e: string; + protected f: string; + private g: string; + ["h"]: string; + [i]: string; +} + +export abstract class Baz { + abstract a: string; + abstract method(): void; +} +// @filename: namespace.ts +export namespace ns { + namespace internal { + export class Foo {} + } + export namespace nested { + export import inner = internal; + } +} +// @filename: alias.ts +export type A = { x: T }; \ No newline at end of file From 165350dc8f17bfd01974310d17f84be42f29958f Mon Sep 17 00:00:00 2001 From: graphemecluster Date: Thu, 18 Jul 2024 10:08:54 +0800 Subject: [PATCH 31/89] Provide User-Friendly Message for Extended Unicode Escapes in Regular Expressions in Non-Unicode Modes (#58981) Co-authored-by: Ron Buckton --- src/compiler/diagnosticMessages.json | 4 +++ src/compiler/scanner.ts | 16 ++++++---- ...ressionCharacterClassRangeOrder.errors.txt | 29 ++++++++++--------- ...xpressionExtendedUnicodeEscapes.errors.txt | 15 ++++++++++ ...regularExpressionExtendedUnicodeEscapes.js | 16 ++++++++++ ...arExpressionExtendedUnicodeEscapes.symbols | 12 ++++++++ ...ularExpressionExtendedUnicodeEscapes.types | 23 +++++++++++++++ ...regularExpressionExtendedUnicodeEscapes.ts | 6 ++++ 8 files changed, 102 insertions(+), 19 deletions(-) create mode 100644 tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.errors.txt create mode 100644 tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.js create mode 100644 tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.symbols create mode 100644 tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.types create mode 100644 tests/cases/compiler/regularExpressionExtendedUnicodeEscapes.ts diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index e71ee7671d1..e311a07ab5d 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -1805,6 +1805,10 @@ "category": "Error", "code": 1537 }, + "Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set.": { + "category": "Error", + "code": 1538 + }, "The types of '{0}' are incompatible between these types.": { "category": "Error", diff --git a/src/compiler/scanner.ts b/src/compiler/scanner.ts index 0f31a8c9db6..ce01171fcaa 100644 --- a/src/compiler/scanner.ts +++ b/src/compiler/scanner.ts @@ -1006,7 +1006,7 @@ const enum EscapeSequenceScanningFlags { AtomEscape = 1 << 5, ReportInvalidEscapeErrors = RegularExpression | ReportErrors, - ScanExtendedUnicodeEscape = String | AnyUnicodeMode, + AllowExtendedUnicodeEscape = String | AnyUnicodeMode, } const enum ClassSetExpressionType { @@ -1609,13 +1609,17 @@ export function createScanner(languageVersion: ScriptTarget, skipTrivia: boolean case CharacterCodes.doubleQuote: return '"'; case CharacterCodes.u: - if ( - flags & EscapeSequenceScanningFlags.ScanExtendedUnicodeEscape && - pos < end && charCodeUnchecked(pos) === CharacterCodes.openBrace - ) { + if (pos < end && charCodeUnchecked(pos) === CharacterCodes.openBrace) { // '\u{DDDDDD}' pos -= 2; - return scanExtendedUnicodeEscape(!!(flags & EscapeSequenceScanningFlags.ReportInvalidEscapeErrors)); + const result = scanExtendedUnicodeEscape(!!(flags & EscapeSequenceScanningFlags.ReportInvalidEscapeErrors)); + if (!(flags & EscapeSequenceScanningFlags.AllowExtendedUnicodeEscape)) { + tokenFlags |= TokenFlags.ContainsInvalidEscape; + if (flags & EscapeSequenceScanningFlags.ReportInvalidEscapeErrors) { + error(Diagnostics.Unicode_escape_sequences_are_only_available_when_the_Unicode_u_flag_or_the_Unicode_Sets_v_flag_is_set, start, pos - start); + } + } + return result; } // '\uDDDD' for (; pos < start + 6; pos++) { diff --git a/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.errors.txt b/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.errors.txt index a3ece5fedce..5b593e623e0 100644 --- a/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.errors.txt +++ b/tests/baselines/reference/regularExpressionCharacterClassRangeOrder.errors.txt @@ -2,10 +2,11 @@ regularExpressionCharacterClassRangeOrder.ts(7,5): error TS1517: Range out of or regularExpressionCharacterClassRangeOrder.ts(7,12): error TS1517: Range out of order in character class. regularExpressionCharacterClassRangeOrder.ts(8,11): error TS1517: Range out of order in character class. regularExpressionCharacterClassRangeOrder.ts(9,11): error TS1517: Range out of order in character class. -regularExpressionCharacterClassRangeOrder.ts(11,6): error TS1125: Hexadecimal digit expected. -regularExpressionCharacterClassRangeOrder.ts(11,16): error TS1125: Hexadecimal digit expected. -regularExpressionCharacterClassRangeOrder.ts(11,27): error TS1125: Hexadecimal digit expected. -regularExpressionCharacterClassRangeOrder.ts(11,37): error TS1125: Hexadecimal digit expected. +regularExpressionCharacterClassRangeOrder.ts(11,4): error TS1538: Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set. +regularExpressionCharacterClassRangeOrder.ts(11,14): error TS1538: Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set. +regularExpressionCharacterClassRangeOrder.ts(11,25): error TS1538: Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set. +regularExpressionCharacterClassRangeOrder.ts(11,25): error TS1517: Range out of order in character class. +regularExpressionCharacterClassRangeOrder.ts(11,35): error TS1538: Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set. regularExpressionCharacterClassRangeOrder.ts(12,25): error TS1517: Range out of order in character class. regularExpressionCharacterClassRangeOrder.ts(13,25): error TS1517: Range out of order in character class. regularExpressionCharacterClassRangeOrder.ts(15,10): error TS1517: Range out of order in character class. @@ -14,7 +15,7 @@ regularExpressionCharacterClassRangeOrder.ts(16,31): error TS1517: Range out of regularExpressionCharacterClassRangeOrder.ts(17,31): error TS1517: Range out of order in character class. -==== regularExpressionCharacterClassRangeOrder.ts (14 errors) ==== +==== regularExpressionCharacterClassRangeOrder.ts (15 errors) ==== // The characters in the following regular expressions are ASCII-lookalike characters found in Unicode, including: // - 𝘈 (U+1D608 Mathematical Sans-Serif Italic Capital A) // - 𝘡 (U+1D621 Mathematical Sans-Serif Italic Capital Z) @@ -34,14 +35,16 @@ regularExpressionCharacterClassRangeOrder.ts(17,31): error TS1517: Range out of !!! error TS1517: Range out of order in character class. /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/, - -!!! error TS1125: Hexadecimal digit expected. - -!!! error TS1125: Hexadecimal digit expected. - -!!! error TS1125: Hexadecimal digit expected. - -!!! error TS1125: Hexadecimal digit expected. + ~~~~~~~~~ +!!! error TS1538: Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set. + ~~~~~~~~~ +!!! error TS1538: Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set. + ~~~~~~~~~ +!!! error TS1538: Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set. + ~~~~~~~~~~~~~~~~~~~ +!!! error TS1517: Range out of order in character class. + ~~~~~~~~~ +!!! error TS1538: Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set. /[\u{1D608}-\u{1D621}][\u{1D621}-\u{1D608}]/u, ~~~~~~~~~~~~~~~~~~~ !!! error TS1517: Range out of order in character class. diff --git a/tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.errors.txt b/tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.errors.txt new file mode 100644 index 00000000000..6414010e5cc --- /dev/null +++ b/tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.errors.txt @@ -0,0 +1,15 @@ +regularExpressionExtendedUnicodeEscapes.ts(2,3): error TS1538: Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set. +regularExpressionExtendedUnicodeEscapes.ts(2,13): error TS1538: Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set. + + +==== regularExpressionExtendedUnicodeEscapes.ts (2 errors) ==== + const regexes: RegExp[] = [ + /\u{10000}[\u{10000}]/, + ~~~~~~~~~ +!!! error TS1538: Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set. + ~~~~~~~~~ +!!! error TS1538: Unicode escape sequences are only available when the Unicode (u) flag or the Unicode Sets (v) flag is set. + /\u{10000}[\u{10000}]/u, + /\u{10000}[\u{10000}]/v, + ]; + \ No newline at end of file diff --git a/tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.js b/tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.js new file mode 100644 index 00000000000..0e4c435a144 --- /dev/null +++ b/tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.js @@ -0,0 +1,16 @@ +//// [tests/cases/compiler/regularExpressionExtendedUnicodeEscapes.ts] //// + +//// [regularExpressionExtendedUnicodeEscapes.ts] +const regexes: RegExp[] = [ + /\u{10000}[\u{10000}]/, + /\u{10000}[\u{10000}]/u, + /\u{10000}[\u{10000}]/v, +]; + + +//// [regularExpressionExtendedUnicodeEscapes.js] +const regexes = [ + /\u{10000}[\u{10000}]/, + /\u{10000}[\u{10000}]/u, + /\u{10000}[\u{10000}]/v, +]; diff --git a/tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.symbols b/tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.symbols new file mode 100644 index 00000000000..febb9b19de8 --- /dev/null +++ b/tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.symbols @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/regularExpressionExtendedUnicodeEscapes.ts] //// + +=== regularExpressionExtendedUnicodeEscapes.ts === +const regexes: RegExp[] = [ +>regexes : Symbol(regexes, Decl(regularExpressionExtendedUnicodeEscapes.ts, 0, 5)) +>RegExp : Symbol(RegExp, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2018.regexp.d.ts, --, --) ... and 3 more) + + /\u{10000}[\u{10000}]/, + /\u{10000}[\u{10000}]/u, + /\u{10000}[\u{10000}]/v, +]; + diff --git a/tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.types b/tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.types new file mode 100644 index 00000000000..378a9ced878 --- /dev/null +++ b/tests/baselines/reference/regularExpressionExtendedUnicodeEscapes.types @@ -0,0 +1,23 @@ +//// [tests/cases/compiler/regularExpressionExtendedUnicodeEscapes.ts] //// + +=== regularExpressionExtendedUnicodeEscapes.ts === +const regexes: RegExp[] = [ +>regexes : RegExp[] +> : ^^^^^^^^ +>[ /\u{10000}[\u{10000}]/, /\u{10000}[\u{10000}]/u, /\u{10000}[\u{10000}]/v,] : RegExp[] +> : ^^^^^^^^ + + /\u{10000}[\u{10000}]/, +>/\u{10000}[\u{10000}]/ : RegExp +> : ^^^^^^ + + /\u{10000}[\u{10000}]/u, +>/\u{10000}[\u{10000}]/u : RegExp +> : ^^^^^^ + + /\u{10000}[\u{10000}]/v, +>/\u{10000}[\u{10000}]/v : RegExp +> : ^^^^^^ + +]; + diff --git a/tests/cases/compiler/regularExpressionExtendedUnicodeEscapes.ts b/tests/cases/compiler/regularExpressionExtendedUnicodeEscapes.ts new file mode 100644 index 00000000000..57127e4ad6a --- /dev/null +++ b/tests/cases/compiler/regularExpressionExtendedUnicodeEscapes.ts @@ -0,0 +1,6 @@ +// @target: esnext +const regexes: RegExp[] = [ + /\u{10000}[\u{10000}]/, + /\u{10000}[\u{10000}]/u, + /\u{10000}[\u{10000}]/v, +]; From 14eca92fd77b101454c03181f084a8ecb9be8b76 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 17 Jul 2024 19:40:38 -0700 Subject: [PATCH 32/89] Update deps (#59188) --- .dprint.jsonc | 2 +- package-lock.json | 1431 ++++++++++++++++++---------------------- package.json | 28 +- scripts/dtsBundler.mjs | 2 +- 4 files changed, 662 insertions(+), 801 deletions(-) diff --git a/.dprint.jsonc b/.dprint.jsonc index 2fbc30bfb09..96003d369ce 100644 --- a/.dprint.jsonc +++ b/.dprint.jsonc @@ -59,7 +59,7 @@ // Note: if adding new languages, make sure settings.template.json is updated too. // Also, if updating typescript, update the one in package.json. "plugins": [ - "https://plugins.dprint.dev/typescript-0.91.1.wasm", + "https://plugins.dprint.dev/typescript-0.91.3.wasm", "https://plugins.dprint.dev/json-0.19.3.wasm", "https://plugins.dprint.dev/prettier-0.40.0.json@68c668863ec834d4be0f6f5ccaab415df75336a992aceb7eeeb14fdf096a9e9c" ] diff --git a/package-lock.json b/package-lock.json index e6d5a8376d2..2edf3e259a5 100644 --- a/package-lock.json +++ b/package-lock.json @@ -13,11 +13,11 @@ "tsserver": "bin/tsserver" }, "devDependencies": { - "@dprint/formatter": "^0.3.0", - "@dprint/typescript": "0.91.1", + "@dprint/formatter": "^0.4.1", + "@dprint/typescript": "0.91.3", "@esfx/canceltoken": "^1.0.0", "@eslint/js": "^8.57.0", - "@octokit/rest": "^21.0.0", + "@octokit/rest": "^21.0.1", "@types/chai": "^4.3.16", "@types/diff": "^5.2.1", "@types/minimist": "^1.2.5", @@ -26,34 +26,34 @@ "@types/node": "latest", "@types/source-map-support": "^0.5.10", "@types/which": "^3.0.4", - "@typescript-eslint/utils": "^7.14.1", + "@typescript-eslint/utils": "^7.16.1", "azure-devops-node-api": "^14.0.1", "c8": "^10.1.2", "chai": "^4.4.1", "chalk": "^4.1.2", "chokidar": "^3.6.0", "diff": "^5.2.0", - "dprint": "^0.46.3", - "esbuild": "^0.22.0", + "dprint": "^0.47.2", + "esbuild": "^0.23.0", "eslint": "^8.57.0", "eslint-formatter-autolinkable-stylish": "^1.3.0", "fast-xml-parser": "^4.4.0", - "glob": "^10.4.2", + "glob": "^10.4.5", "globals": "^13.24.0", - "hereby": "^1.8.9", + "hereby": "^1.9.0", "jsonc-parser": "^3.3.1", - "knip": "^5.25.1", + "knip": "^5.26.0", "minimist": "^1.2.8", - "mocha": "^10.5.2", + "mocha": "^10.6.0", "mocha-fivemat-progress-reporter": "^0.1.0", - "monocart-coverage-reports": "^2.9.2", + "monocart-coverage-reports": "^2.9.3", "ms": "^2.1.3", "node-fetch": "^3.3.2", - "playwright": "^1.45.0", + "playwright": "^1.45.2", "source-map-support": "^0.5.21", "tslib": "^2.6.3", - "typescript": "^5.5.2", - "typescript-eslint": "^7.14.1", + "typescript": "^5.5.3", + "typescript-eslint": "^7.16.1", "which": "^3.0.1" }, "engines": { @@ -67,9 +67,9 @@ "dev": true }, "node_modules/@dprint/darwin-arm64": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.46.3.tgz", - "integrity": "sha512-1ycDpGvclGHF3UG5V6peymPDg6ouNTqM6BjhVELQ6zwr+X98AMhq/1slgO8hwHtPcaS5qhTAS+PkzOmBJRegow==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.47.2.tgz", + "integrity": "sha512-mVPFBJsXxGDKHHCAY8wbqOyS4028g1bN15H9tivCnPAjwaZhkUimZHXWejXADjhGn+Xm2SlakugY9PY/68pH3Q==", "cpu": [ "arm64" ], @@ -80,9 +80,9 @@ ] }, "node_modules/@dprint/darwin-x64": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.46.3.tgz", - "integrity": "sha512-v5IpLmrY836Q5hJAxZuX097ZNQvoZgO6JKO4bK4l6XDhhHAw2XTIUr41+FM5r36ENxyASMk0NpHjhcHtih3o0g==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.47.2.tgz", + "integrity": "sha512-T7wzlc+rBV+6BRRiBjoqoy5Hj4TR2Nv2p2s9+ycyPGs10Kj/JXOWD8dnEHeBgUr2r4qe/ZdcxmsFQ5Hf2n0WuA==", "cpu": [ "x64" ], @@ -93,15 +93,15 @@ ] }, "node_modules/@dprint/formatter": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@dprint/formatter/-/formatter-0.3.0.tgz", - "integrity": "sha512-N9fxCxbaBOrDkteSOzaCqwWjso5iAe+WJPsHC021JfHNj2ThInPNEF13ORDKta3llq5D1TlclODCvOvipH7bWQ==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@dprint/formatter/-/formatter-0.4.1.tgz", + "integrity": "sha512-IB/GXdlMOvi0UhQQ9mcY15Fxcrc2JPadmo6tqefCNV0bptFq7YBpggzpqYXldBXDa04CbKJ+rDwO2eNRPE2+/g==", "dev": true }, "node_modules/@dprint/linux-arm64-glibc": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.46.3.tgz", - "integrity": "sha512-9P13g1vgV8RfQH2qBGa8YAfaOeWA42RIhj7lmWRpkDFtwau96reMKwnBBn8bHUnc5e6bSsbPUOMb/X1KMUKz/g==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.47.2.tgz", + "integrity": "sha512-B0m1vT5LdVtrNOVdkqpLPrSxuCD+l5bTIgRzPaDoIB1ChWQkler9IlX8C+RStpujjPj6SYvwo5vTzjQSvRdQkA==", "cpu": [ "arm64" ], @@ -112,9 +112,9 @@ ] }, "node_modules/@dprint/linux-arm64-musl": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.46.3.tgz", - "integrity": "sha512-AAcdcMSZ6DEIoY9E0xQHjkZP+THP7EWsQge4TWzglSIjzn31YltglHAGYFcLB4CTJYpF0NsFDNFktzgkO+s0og==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.47.2.tgz", + "integrity": "sha512-zID6wZZqpg2/Q2Us+ERQkbhLwlW3p3xaeEr00MPf49bpydmEjMiPuSjWPkNv+slQSIyIsVovOxF4lbNZjsdtvw==", "cpu": [ "arm64" ], @@ -125,9 +125,9 @@ ] }, "node_modules/@dprint/linux-x64-glibc": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.46.3.tgz", - "integrity": "sha512-c5cQ3G1rC64nBZ8Pd2LGWwzkEk4D7Ax9NrBbwYmNPvs6mFbGlJPC1+RD95x2WwIrIlMIciLG+Kxmt25PzBphmg==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.47.2.tgz", + "integrity": "sha512-rB3WXMdINnRd33DItIp7mObS7dzHW90ZzeJSsoKJLPp+Z7wXjjb27UUowfqVI4baa/1pd7sdbX54DPohMtfu/A==", "cpu": [ "x64" ], @@ -138,9 +138,9 @@ ] }, "node_modules/@dprint/linux-x64-musl": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.46.3.tgz", - "integrity": "sha512-ONtk2QtLcV0TqWOCOqzUFQixgk3JC+vnJLB5L6tQwT7BX5LzeircfE/1f4dg459iqejNC9MBXZkHnXqabvWSow==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.47.2.tgz", + "integrity": "sha512-E0+TNbzYdTXJ/jCVjUctVxkda/faw++aDQLfyWGcmdMJnbM7NZz+W4fUpDXzMPsjy+zTWxXcPK7/q2DZz2gnbg==", "cpu": [ "x64" ], @@ -151,15 +151,28 @@ ] }, "node_modules/@dprint/typescript": { - "version": "0.91.1", - "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.1.tgz", - "integrity": "sha512-BX3TneRLf3OuO/3tsxbseHqWbpCPOOb2vOm9OlKgSYIKqOsCHpz5kWx5iDuGrNwxWWMKife/1ccz87I5tBLaNA==", + "version": "0.91.3", + "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.3.tgz", + "integrity": "sha512-y/SAgNq4qAr6ZjpuOnIR3JSnOidLPWKtbIXaKzfR+YZGBICf9ant6PDGDpZdFh0szyZEXS3BNwTTAtsCK4s5uw==", "dev": true }, + "node_modules/@dprint/win32-arm64": { + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/win32-arm64/-/win32-arm64-0.47.2.tgz", + "integrity": "sha512-K1EieTCFjfOCmyIhw9zFSduE6qVCNHEveupqZEfbSkVGw5T9MJQ1I9+n7MDb3RIDYEUk0enJ58/w82q8oDKCyA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ] + }, "node_modules/@dprint/win32-x64": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.46.3.tgz", - "integrity": "sha512-xvj4DSEilf0gGdT7CqnwNEgfWNuWqT6eIBxHDEUbmcn1vZ7IwirtqRq/nm3lmYtQaJ4EbtMQZvACHZwxC7G96w==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.47.2.tgz", + "integrity": "sha512-LhizWr8VrhHvq4ump8HwOERyFmdLiE8C6A42QSntGXzKdaa2nEOq20x/o56ZIiDcesiV+1TmosMKimPcOZHa+Q==", "cpu": [ "x64" ], @@ -170,9 +183,9 @@ ] }, "node_modules/@esbuild/aix-ppc64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.22.0.tgz", - "integrity": "sha512-uvQR2crZ/zgzSHDvdygHyNI+ze9zwS8mqz0YtGXotSqvEE0UkYE9s+FZKQNTt1VtT719mfP3vHrUdCpxBNQZhQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz", + "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==", "cpu": [ "ppc64" ], @@ -186,9 +199,9 @@ } }, "node_modules/@esbuild/android-arm": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.22.0.tgz", - "integrity": "sha512-PBnyP+r8vJE4ifxsWys9l+Mc2UY/yYZOpX82eoyGISXXb3dRr0M21v+s4fgRKWMFPMSf/iyowqPW/u7ScSUkjQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.0.tgz", + "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==", "cpu": [ "arm" ], @@ -202,9 +215,9 @@ } }, "node_modules/@esbuild/android-arm64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.22.0.tgz", - "integrity": "sha512-UKhPb3o2gAB/bfXcl58ZXTn1q2oVu1rEu/bKrCtmm+Nj5MKUbrOwR5WAixE2v+lk0amWuwPvhnPpBRLIGiq7ig==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz", + "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==", "cpu": [ "arm64" ], @@ -218,9 +231,9 @@ } }, "node_modules/@esbuild/android-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.22.0.tgz", - "integrity": "sha512-IjTYtvIrjhR41Ijy2dDPgYjQHWG/x/A4KXYbs1fiU3efpRdoxMChK3oEZV6GPzVEzJqxFgcuBaiX1kwEvWUxSw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.0.tgz", + "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==", "cpu": [ "x64" ], @@ -234,9 +247,9 @@ } }, "node_modules/@esbuild/darwin-arm64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.22.0.tgz", - "integrity": "sha512-mqt+Go4y9wRvEz81bhKd9RpHsQR1LwU8Xm6jZRUV/xpM7cIQFbFH6wBCLPTNsdELBvfoHeumud7X78jQQJv2TA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz", + "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==", "cpu": [ "arm64" ], @@ -250,9 +263,9 @@ } }, "node_modules/@esbuild/darwin-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.22.0.tgz", - "integrity": "sha512-vTaTQ9OgYc3VTaWtOE5pSuDT6H3d/qSRFRfSBbnxFfzAvYoB3pqKXA0LEbi/oT8GUOEAutspfRMqPj2ezdFaMw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz", + "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==", "cpu": [ "x64" ], @@ -266,9 +279,9 @@ } }, "node_modules/@esbuild/freebsd-arm64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.22.0.tgz", - "integrity": "sha512-0e1ZgoobJzaGnR4reD7I9rYZ7ttqdh1KPvJWnquUoDJhL0rYwdneeLailBzd2/4g/U5p4e5TIHEWa68NF2hFpQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz", + "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==", "cpu": [ "arm64" ], @@ -282,9 +295,9 @@ } }, "node_modules/@esbuild/freebsd-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.22.0.tgz", - "integrity": "sha512-BFgyYwlCwRWyPQJtkzqq2p6pJbiiWgp0P9PNf7a5FQ1itKY4czPuOMAlFVItirSmEpRPCeImuwePNScZS0pL5Q==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz", + "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==", "cpu": [ "x64" ], @@ -298,9 +311,9 @@ } }, "node_modules/@esbuild/linux-arm": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.22.0.tgz", - "integrity": "sha512-KEMWiA9aGuPUD4BH5yjlhElLgaRXe+Eri6gKBoDazoPBTo1BXc/e6IW5FcJO9DoL19FBeCxgONyh95hLDNepIg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz", + "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==", "cpu": [ "arm" ], @@ -314,9 +327,9 @@ } }, "node_modules/@esbuild/linux-arm64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.22.0.tgz", - "integrity": "sha512-V/K2rctCUgC0PCXpN7AqT4hoazXKgIYugFGu/myk2+pfe6jTW2guz/TBwq4cZ7ESqusR/IzkcQaBkcjquuBWsw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz", + "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==", "cpu": [ "arm64" ], @@ -330,9 +343,9 @@ } }, "node_modules/@esbuild/linux-ia32": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.22.0.tgz", - "integrity": "sha512-r2ZZqkOMOrpUhzNwxI7uLAHIDwkfeqmTnrv1cjpL/rjllPWszgqmprd/om9oviKXUBpMqHbXmppvjAYgISb26Q==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz", + "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==", "cpu": [ "ia32" ], @@ -346,9 +359,9 @@ } }, "node_modules/@esbuild/linux-loong64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.22.0.tgz", - "integrity": "sha512-qaowLrV/YOMAL2RfKQ4C/VaDzAuLDuylM2sd/LH+4OFirMl6CuDpRlCq4u49ZBaVV8pkI/Y+hTdiibvQRhojCA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz", + "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==", "cpu": [ "loong64" ], @@ -362,9 +375,9 @@ } }, "node_modules/@esbuild/linux-mips64el": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.22.0.tgz", - "integrity": "sha512-hgrezzjQTRxjkQ5k08J6rtZN5PNnkWx/Rz6Kmj9gnsdCAX1I4Dn4ZPqvFRkXo55Q3pnVQJBwbdtrTO7tMGtyVA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz", + "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==", "cpu": [ "mips64el" ], @@ -378,9 +391,9 @@ } }, "node_modules/@esbuild/linux-ppc64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.22.0.tgz", - "integrity": "sha512-ewxg6FLLUio883XgSjfULEmDl3VPv/TYNnRprVAS3QeGFLdCYdx1tIudBcd7n9jIdk82v1Ajov4jx87qW7h9+g==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz", + "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==", "cpu": [ "ppc64" ], @@ -394,9 +407,9 @@ } }, "node_modules/@esbuild/linux-riscv64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.22.0.tgz", - "integrity": "sha512-Az5XbgSJC2lE8XK8pdcutsf9RgdafWdTpUK/+6uaDdfkviw/B4JCwAfh1qVeRWwOohwdsl4ywZrWBNWxwrPLFg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz", + "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==", "cpu": [ "riscv64" ], @@ -410,9 +423,9 @@ } }, "node_modules/@esbuild/linux-s390x": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.22.0.tgz", - "integrity": "sha512-8j4a2ChT9+V34NNNY9c/gMldutaJFmfMacTPq4KfNKwv2fitBCLYjee7c+Vxaha2nUhPK7cXcZpJtJ3+Y7ZdVQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz", + "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==", "cpu": [ "s390x" ], @@ -426,9 +439,9 @@ } }, "node_modules/@esbuild/linux-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.22.0.tgz", - "integrity": "sha512-JUQyOnpbAkkRFOk/AhsEemz5TfWN4FJZxVObUlnlNCbe7QBl61ZNfM4cwBXayQA6laMJMUcqLHaYQHAB6YQ95Q==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz", + "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==", "cpu": [ "x64" ], @@ -442,9 +455,9 @@ } }, "node_modules/@esbuild/netbsd-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.22.0.tgz", - "integrity": "sha512-11PoCoHXo4HFNbLsXuMB6bpMPWGDiw7xETji6COdJss4SQZLvcgNoeSqWtATRm10Jj1uEHiaIk4N0PiN6x4Fcg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz", + "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==", "cpu": [ "x64" ], @@ -458,9 +471,9 @@ } }, "node_modules/@esbuild/openbsd-arm64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.22.0.tgz", - "integrity": "sha512-Ezlhu/YyITmXwKSB+Zu/QqD7cxrjrpiw85cc0Rbd3AWr2wsgp+dWbWOE8MqHaLW9NKMZvuL0DhbJbvzR7F6Zvg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz", + "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==", "cpu": [ "arm64" ], @@ -474,9 +487,9 @@ } }, "node_modules/@esbuild/openbsd-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.22.0.tgz", - "integrity": "sha512-ufjdW5tFJGUjlH9j/5cCE9lrwRffyZh+T4vYvoDKoYsC6IXbwaFeV/ENxeNXcxotF0P8CDzoICXVSbJaGBhkrw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz", + "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==", "cpu": [ "x64" ], @@ -490,9 +503,9 @@ } }, "node_modules/@esbuild/sunos-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.22.0.tgz", - "integrity": "sha512-zY6ly/AoSmKnmNTowDJsK5ehra153/5ZhqxNLfq9NRsTTltetr+yHHcQ4RW7QDqw4JC8A1uC1YmeSfK9NRcK1w==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz", + "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==", "cpu": [ "x64" ], @@ -506,9 +519,9 @@ } }, "node_modules/@esbuild/win32-arm64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.22.0.tgz", - "integrity": "sha512-Kml5F7tv/1Maam0pbbCrvkk9vj046dPej30kFzlhXnhuCtYYBP6FGy/cLbc5yUT1lkZznGLf2OvuvmLjscO5rw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz", + "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==", "cpu": [ "arm64" ], @@ -522,9 +535,9 @@ } }, "node_modules/@esbuild/win32-ia32": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.22.0.tgz", - "integrity": "sha512-IOgwn+mYTM3RrcydP4Og5IpXh+ftN8oF+HELTXSmbWBlujuci4Qa3DTeO+LEErceisI7KUSfEIiX+WOUlpELkw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz", + "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==", "cpu": [ "ia32" ], @@ -538,9 +551,9 @@ } }, "node_modules/@esbuild/win32-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.22.0.tgz", - "integrity": "sha512-4bDHJrk2WHBXJPhy1y80X7/5b5iZTZP3LGcKIlAP1J+KqZ4zQAPMLEzftGyjjfcKbA4JDlPt/+2R/F1ZTeRgrw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz", + "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==", "cpu": [ "x64" ], @@ -595,9 +608,9 @@ } }, "node_modules/@eslint-community/regexpp": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", - "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true, "engines": { "node": "^12.0.0 || ^14.0.0 || >=16.0.0" @@ -888,9 +901,9 @@ "dev": true }, "node_modules/@octokit/plugin-paginate-rest": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.0.tgz", - "integrity": "sha512-n4znWfRinnUQF6TPyxs7EctSAA3yVSP4qlJP2YgI3g9d4Ae2n5F3XDOjbUluKRxPU3rfsgpOboI4O4VtPc6Ilg==", + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.3.tgz", + "integrity": "sha512-o4WRoOJZlKqEEgj+i9CpcmnByvtzoUYC6I8PD2SA95M+BJ2x8h7oLcVOg9qcowWXBOdcTRsMZiwvM3EyLm9AfA==", "dev": true, "dependencies": { "@octokit/types": "^13.5.0" @@ -903,9 +916,9 @@ } }, "node_modules/@octokit/plugin-request-log": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-5.3.0.tgz", - "integrity": "sha512-FiGcyjdtYPlr03ExBk/0ysIlEFIFGJQAVoPPMxL19B24bVSEiZQnVGBunNtaAF1YnvE/EFoDpXmITtRnyCiypQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-5.3.1.tgz", + "integrity": "sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==", "dev": true, "engines": { "node": ">= 18" @@ -915,9 +928,9 @@ } }, "node_modules/@octokit/plugin-rest-endpoint-methods": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.1.tgz", - "integrity": "sha512-YMWBw6Exh1ZBs5cCE0AnzYxSQDIJS00VlBqISTgNYmu5MBdeM07K/MAJjy/VkNaH5jpJmD/5HFUvIZ+LDB5jSQ==", + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.4.tgz", + "integrity": "sha512-gusyAVgTrPiuXOdfqOySMDztQHv6928PQ3E4dqVGEtOvRXAKRbJR4b1zQyniIT9waqaWk/UDaoJ2dyPr7Bk7Iw==", "dev": true, "dependencies": { "@octokit/types": "^13.5.0" @@ -930,9 +943,9 @@ } }, "node_modules/@octokit/request": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.1.tgz", - "integrity": "sha512-pyAguc0p+f+GbQho0uNetNQMmLG1e80WjkIaqqgUkihqUp0boRU6nKItXO4VWnr+nbZiLGEyy4TeKRwqaLvYgw==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz", + "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==", "dev": true, "dependencies": { "@octokit/endpoint": "^10.0.0", @@ -945,9 +958,9 @@ } }, "node_modules/@octokit/request-error": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.1.tgz", - "integrity": "sha512-1mw1gqT3fR/WFvnoVpY/zUM2o/XkMs/2AszUUG9I69xn0JFLv6PGkPhNk5lbfvROs79wiS0bqiJNxfCZcRJJdg==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.4.tgz", + "integrity": "sha512-VpAhIUxwhWZQImo/dWAN/NpPqqojR6PSLgLYAituLM6U+ddx9hCioFGwBr5Mi+oi5CLeJkcAs3gJ0PYYzU6wUg==", "dev": true, "dependencies": { "@octokit/types": "^13.0.0" @@ -957,14 +970,14 @@ } }, "node_modules/@octokit/rest": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-21.0.0.tgz", - "integrity": "sha512-XudXXOmiIjivdjNZ+fN71NLrnDM00sxSZlhqmPR3v0dVoJwyP628tSlc12xqn8nX3N0965583RBw5GPo6r8u4Q==", + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-21.0.1.tgz", + "integrity": "sha512-RWA6YU4CqK0h0J6tfYlUFnH3+YgBADlxaHXaKSG+BVr2y4PTfbU2tlKuaQoQZ83qaTbi4CUxLNAmbAqR93A6mQ==", "dev": true, "dependencies": { "@octokit/core": "^6.1.2", "@octokit/plugin-paginate-rest": "^11.0.0", - "@octokit/plugin-request-log": "^5.1.0", + "@octokit/plugin-request-log": "^5.3.1", "@octokit/plugin-rest-endpoint-methods": "^13.0.0" }, "engines": { @@ -1044,9 +1057,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.14.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz", - "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==", + "version": "20.14.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", + "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==", "dev": true, "dependencies": { "undici-types": "~5.26.4" @@ -1068,16 +1081,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.14.1.tgz", - "integrity": "sha512-aAJd6bIf2vvQRjUG3ZkNXkmBpN+J7Wd0mfQiiVCJMu9Z5GcZZdcc0j8XwN/BM97Fl7e3SkTXODSk4VehUv7CGw==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.1.tgz", + "integrity": "sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.14.1", - "@typescript-eslint/type-utils": "7.14.1", - "@typescript-eslint/utils": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1", + "@typescript-eslint/scope-manager": "7.16.1", + "@typescript-eslint/type-utils": "7.16.1", + "@typescript-eslint/utils": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1101,15 +1114,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.14.1.tgz", - "integrity": "sha512-8lKUOebNLcR0D7RvlcloOacTOWzOqemWEWkKSVpMZVF/XVcwjPR+3MD08QzbW9TCGJ+DwIc6zUSGZ9vd8cO1IA==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.16.1.tgz", + "integrity": "sha512-u+1Qx86jfGQ5i4JjK33/FnawZRpsLxRnKzGE6EABZ40KxVT/vWsiZFEBBHjFOljmmV3MBYOHEKi0Jm9hbAOClA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.14.1", - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/typescript-estree": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1", + "@typescript-eslint/scope-manager": "7.16.1", + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/typescript-estree": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", "debug": "^4.3.4" }, "engines": { @@ -1129,13 +1142,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.14.1.tgz", - "integrity": "sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz", + "integrity": "sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1" + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1146,13 +1159,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.14.1.tgz", - "integrity": "sha512-/MzmgNd3nnbDbOi3LfasXWWe292+iuo+umJ0bCCMCPc1jLO/z2BQmWUUUXvXLbrQey/JgzdF/OV+I5bzEGwJkQ==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.1.tgz", + "integrity": "sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.14.1", - "@typescript-eslint/utils": "7.14.1", + "@typescript-eslint/typescript-estree": "7.16.1", + "@typescript-eslint/utils": "7.16.1", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -1173,9 +1186,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.14.1.tgz", - "integrity": "sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz", + "integrity": "sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==", "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1186,13 +1199,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.14.1.tgz", - "integrity": "sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz", + "integrity": "sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1", + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1214,15 +1227,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.14.1.tgz", - "integrity": "sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.1.tgz", + "integrity": "sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.14.1", - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/typescript-estree": "7.14.1" + "@typescript-eslint/scope-manager": "7.16.1", + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/typescript-estree": "7.16.1" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1236,12 +1249,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.14.1.tgz", - "integrity": "sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz", + "integrity": "sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.14.1", + "@typescript-eslint/types": "7.16.1", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -1333,9 +1346,9 @@ } }, "node_modules/ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true, "engines": { "node": ">=6" @@ -2008,22 +2021,23 @@ } }, "node_modules/dprint": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.46.3.tgz", - "integrity": "sha512-ACEd7B7sO/uvPvV/nsHbtkIeMqeD2a8XGO1DokROtKDUmI5WbuflGZOwyjFCYwy4rkX6FXoYBzGdEQ6um7BjCA==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.47.2.tgz", + "integrity": "sha512-geUcVIIrmLaY+YtuOl4gD7J/QCjsXZa5gUqre9sO6cgH0X/Fa9heBN3l/AWVII6rKPw45ATuCSDWz1pyO+HkPQ==", "dev": true, "hasInstallScript": true, "bin": { "dprint": "bin.js" }, "optionalDependencies": { - "@dprint/darwin-arm64": "0.46.3", - "@dprint/darwin-x64": "0.46.3", - "@dprint/linux-arm64-glibc": "0.46.3", - "@dprint/linux-arm64-musl": "0.46.3", - "@dprint/linux-x64-glibc": "0.46.3", - "@dprint/linux-x64-musl": "0.46.3", - "@dprint/win32-x64": "0.46.3" + "@dprint/darwin-arm64": "0.47.2", + "@dprint/darwin-x64": "0.47.2", + "@dprint/linux-arm64-glibc": "0.47.2", + "@dprint/linux-arm64-musl": "0.47.2", + "@dprint/linux-x64-glibc": "0.47.2", + "@dprint/linux-x64-musl": "0.47.2", + "@dprint/win32-arm64": "0.47.2", + "@dprint/win32-x64": "0.47.2" } }, "node_modules/eastasianwidth": { @@ -2078,9 +2092,9 @@ } }, "node_modules/esbuild": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.22.0.tgz", - "integrity": "sha512-zNYA6bFZsVnsU481FnGAQjLDW0Pl/8BGG7EvAp15RzUvGC+ME7hf1q7LvIfStEQBz/iEHuBJCYcOwPmNCf1Tlw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz", + "integrity": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==", "dev": true, "hasInstallScript": true, "bin": { @@ -2090,30 +2104,30 @@ "node": ">=18" }, "optionalDependencies": { - "@esbuild/aix-ppc64": "0.22.0", - "@esbuild/android-arm": "0.22.0", - "@esbuild/android-arm64": "0.22.0", - "@esbuild/android-x64": "0.22.0", - "@esbuild/darwin-arm64": "0.22.0", - "@esbuild/darwin-x64": "0.22.0", - "@esbuild/freebsd-arm64": "0.22.0", - "@esbuild/freebsd-x64": "0.22.0", - "@esbuild/linux-arm": "0.22.0", - "@esbuild/linux-arm64": "0.22.0", - "@esbuild/linux-ia32": "0.22.0", - "@esbuild/linux-loong64": "0.22.0", - "@esbuild/linux-mips64el": "0.22.0", - "@esbuild/linux-ppc64": "0.22.0", - "@esbuild/linux-riscv64": "0.22.0", - "@esbuild/linux-s390x": "0.22.0", - "@esbuild/linux-x64": "0.22.0", - "@esbuild/netbsd-x64": "0.22.0", - "@esbuild/openbsd-arm64": "0.22.0", - "@esbuild/openbsd-x64": "0.22.0", - "@esbuild/sunos-x64": "0.22.0", - "@esbuild/win32-arm64": "0.22.0", - "@esbuild/win32-ia32": "0.22.0", - "@esbuild/win32-x64": "0.22.0" + "@esbuild/aix-ppc64": "0.23.0", + "@esbuild/android-arm": "0.23.0", + "@esbuild/android-arm64": "0.23.0", + "@esbuild/android-x64": "0.23.0", + "@esbuild/darwin-arm64": "0.23.0", + "@esbuild/darwin-x64": "0.23.0", + "@esbuild/freebsd-arm64": "0.23.0", + "@esbuild/freebsd-x64": "0.23.0", + "@esbuild/linux-arm": "0.23.0", + "@esbuild/linux-arm64": "0.23.0", + "@esbuild/linux-ia32": "0.23.0", + "@esbuild/linux-loong64": "0.23.0", + "@esbuild/linux-mips64el": "0.23.0", + "@esbuild/linux-ppc64": "0.23.0", + "@esbuild/linux-riscv64": "0.23.0", + "@esbuild/linux-s390x": "0.23.0", + "@esbuild/linux-x64": "0.23.0", + "@esbuild/netbsd-x64": "0.23.0", + "@esbuild/openbsd-arm64": "0.23.0", + "@esbuild/openbsd-x64": "0.23.0", + "@esbuild/sunos-x64": "0.23.0", + "@esbuild/win32-arm64": "0.23.0", + "@esbuild/win32-ia32": "0.23.0", + "@esbuild/win32-x64": "0.23.0" } }, "node_modules/escalade": { @@ -2288,9 +2302,9 @@ } }, "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "dependencies": { "estraverse": "^5.1.0" @@ -2590,9 +2604,9 @@ } }, "node_modules/glob": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", - "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "dependencies": { "foreground-child": "^3.1.0", @@ -2605,9 +2619,6 @@ "bin": { "glob": "dist/esm/bin.mjs" }, - "engines": { - "node": ">=16 || 14 >=14.18" - }, "funding": { "url": "https://github.com/sponsors/isaacs" } @@ -2744,16 +2755,15 @@ } }, "node_modules/hereby": { - "version": "1.8.9", - "resolved": "https://registry.npmjs.org/hereby/-/hereby-1.8.9.tgz", - "integrity": "sha512-BM/Btsy77GGhuHujCdr2e0jBh3ubrjJcq8M2E/BGQ0O8M9K2uB1PfVSh/LtItAuf9TFe0l8XStaKugMjbYgs4Q==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/hereby/-/hereby-1.9.0.tgz", + "integrity": "sha512-ss4aXIae838H1M4N27EhlxZrA3nMP/77DF1sNRFP1pvBo+ITXlrEtkvdea5FIgKY0hWd+XoNQOhr3Jpc5ycLeA==", "dev": true, "dependencies": { "command-line-usage": "^6.1.3", "fastest-levenshtein": "^1.0.16", - "import-meta-resolve": "^2.2.2", "minimist": "^1.2.8", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "pretty-ms": "^8.0.0" }, "bin": { @@ -2794,16 +2804,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/import-meta-resolve": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-2.2.2.tgz", - "integrity": "sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==", - "dev": true, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/wooorm" - } - }, "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -2861,12 +2861,15 @@ } }, "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dev": true, "dependencies": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" }, "funding": { "url": "https://github.com/sponsors/ljharb" @@ -2984,16 +2987,13 @@ } }, "node_modules/jackspeak": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", - "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "dependencies": { "@isaacs/cliui": "^8.0.2" }, - "engines": { - "node": ">=14" - }, "funding": { "url": "https://github.com/sponsors/isaacs" }, @@ -3046,18 +3046,6 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/jsonc-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", @@ -3074,9 +3062,9 @@ } }, "node_modules/knip": { - "version": "5.25.1", - "resolved": "https://registry.npmjs.org/knip/-/knip-5.25.1.tgz", - "integrity": "sha512-vUopqkh/gOovZ05qYgTghZpmkM3b2eKYdLTsu11ZTYnYEcsdfQeZs6l4U7Rap4b+1KEDd/yydJsuWl+4NyEA9g==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/knip/-/knip-5.26.0.tgz", + "integrity": "sha512-vOp+Wk86aqlPwElrUpxXyg6Q8w+j0j6wuzyu5p6k/mBWUI8iP91PCAz1Jzz9PGq5JYdptV7rFBYB9vHr7AFgqg==", "dev": true, "funding": [ { @@ -3107,7 +3095,6 @@ "smol-toml": "^1.1.4", "strip-json-comments": "5.0.1", "summary": "2.1.0", - "tsconfig-paths": "^4.2.0", "zod": "^3.22.4", "zod-validation-error": "^3.0.3" }, @@ -3234,13 +3221,10 @@ } }, "node_modules/lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true }, "node_modules/lz-utils": { "version": "2.0.2", @@ -3325,31 +3309,31 @@ } }, "node_modules/mocha": { - "version": "10.5.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.5.2.tgz", - "integrity": "sha512-9btlN3JKCefPf+vKd/kcKz2SXxi12z6JswkGfaAF0saQvnsqLJk504ZmbxhSoENge08E9dsymozKgFMTl5PQsA==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.6.0.tgz", + "integrity": "sha512-hxjt4+EEB0SA0ZDygSS015t65lJw/I2yRCS3Ae+SJ5FrbzrXgfYwJr96f0OvIXdj7h4lv/vLCrH3rkiuizFSvw==", "dev": true, "dependencies": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", "chokidar": "^3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "8.1.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "bin": { "_mocha": "bin/_mocha", @@ -3376,38 +3360,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/mocha/node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/mocha/node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/mocha/node_modules/diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, "node_modules/mocha/node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -3435,9 +3387,9 @@ } }, "node_modules/mocha/node_modules/minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "dependencies": { "brace-expansion": "^2.0.1" @@ -3511,9 +3463,9 @@ } }, "node_modules/mocha/node_modules/yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, "engines": { "node": ">=10" @@ -3526,9 +3478,9 @@ "dev": true }, "node_modules/monocart-coverage-reports": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/monocart-coverage-reports/-/monocart-coverage-reports-2.9.2.tgz", - "integrity": "sha512-kczj6csD/OYJN4/qsRq5E8bMytHHw+Mi8InOnGH/zwszwsI92X4rbH9SJgmKm10wqzbOPwfxcHezLelK3CFWrA==", + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/monocart-coverage-reports/-/monocart-coverage-reports-2.9.3.tgz", + "integrity": "sha512-guRHe/+FGwUc1x1XT4eKW4za5j9MQcq5Vp7CIZfzoGY1mwVp8LKZpDJUjoBkYAb5Xb+7CFAY3lSyNaQ8FKS6oQ==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", @@ -3545,7 +3497,7 @@ "istanbul-lib-report": "^3.0.1", "istanbul-reports": "^3.1.7", "lz-utils": "^2.0.2", - "minimatch": "^10.0.1", + "minimatch": "9.0.5", "monocart-code-viewer": "^1.1.4", "monocart-formatter": "^3.0.0", "monocart-locator": "^1.0.2", @@ -3564,21 +3516,6 @@ "node": ">=18" } }, - "node_modules/monocart-coverage-reports/node_modules/minimatch": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", - "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": "20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, "node_modules/monocart-formatter": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/monocart-formatter/-/monocart-formatter-3.0.0.tgz", @@ -3848,12 +3785,12 @@ } }, "node_modules/playwright": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.45.0.tgz", - "integrity": "sha512-4z3ac3plDfYzGB6r0Q3LF8POPR20Z8D0aXcxbJvmfMgSSq1hkcgvFRXJk9rUq5H/MJ0Ktal869hhOdI/zUTeLA==", + "version": "1.45.2", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.45.2.tgz", + "integrity": "sha512-ReywF2t/0teRvNBpfIgh5e4wnrI/8Su8ssdo5XsQKpjxJj+jspm00jSoz9BTg91TT0c9HRjXO7LBNVrgYj9X0g==", "dev": true, "dependencies": { - "playwright-core": "1.45.0" + "playwright-core": "1.45.2" }, "bin": { "playwright": "cli.js" @@ -3866,9 +3803,9 @@ } }, "node_modules/playwright-core": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.0.tgz", - "integrity": "sha512-lZmHlFQ0VYSpAs43dRq1/nJ9G/6SiTI7VPqidld9TDefL9tX87bTKExWZZUF5PeRyqtXqd8fQi2qmfIedkwsNQ==", + "version": "1.45.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.2.tgz", + "integrity": "sha512-ha175tAWb0dTK0X4orvBIqi3jGEt701SMxMhyujxNrgd8K0Uy5wMSwwcQHtyB4om7INUkfndx02XnQ2p6dvLDw==", "dev": true, "bin": { "playwright-core": "cli.js" @@ -3940,9 +3877,9 @@ } }, "node_modules/qs": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", - "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", + "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", "dev": true, "dependencies": { "side-channel": "^1.0.6" @@ -4152,9 +4089,9 @@ ] }, "node_modules/semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true, "bin": { "semver": "bin/semver.js" @@ -4164,9 +4101,9 @@ } }, "node_modules/serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "dependencies": { "randombytes": "^2.1.0" @@ -4250,13 +4187,15 @@ } }, "node_modules/smol-toml": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.1.4.tgz", - "integrity": "sha512-Y0OT8HezWsTNeEOSVxDnKOW/AyNXHQ4BwJNbAXlLTF5wWsBvrcHhIkE5Rf8kQMLmgf7nDX3PVOlgC6/Aiggu3Q==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.3.0.tgz", + "integrity": "sha512-tWpi2TsODPScmi48b/OQZGi2lgUmBCHy6SZrhi/FdnnHiU1GwebbCfuQuxsC3nHaLwtYeJGPrDZDIeodDOc4pA==", "dev": true, "engines": { - "node": ">= 18", - "pnpm": ">= 8" + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" } }, "node_modules/source-map": { @@ -4368,15 +4307,6 @@ "node": ">=8" } }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, "node_modules/strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -4484,20 +4414,6 @@ "typescript": ">=4.2.0" } }, - "node_modules/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", - "dev": true, - "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, "node_modules/tslib": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", @@ -4553,9 +4469,9 @@ } }, "node_modules/typed-rest-client": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-2.0.1.tgz", - "integrity": "sha512-LSfgVu+jKUbkceVBGJ6bdIMzzpvjhw6A+aKsVnGa2S7bT82QCALh/RAtq/fdV3aLXxHqsChuClrQ93fXMrIckA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-2.0.2.tgz", + "integrity": "sha512-rmAQM2gZw/PQpK5+5aSs+I6ZBv4PFC2BT1o+0ADS1SgSejA+14EmbI2Lt8uXwkX7oeOMkwFmg0pHKwe8D9IT5A==", "dev": true, "dependencies": { "des.js": "^1.1.0", @@ -4569,9 +4485,9 @@ } }, "node_modules/typescript": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.2.tgz", - "integrity": "sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", + "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -4582,14 +4498,14 @@ } }, "node_modules/typescript-eslint": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.14.1.tgz", - "integrity": "sha512-Eo1X+Y0JgGPspcANKjeR6nIqXl4VL5ldXLc15k4m9upq+eY5fhU2IueiEZL6jmHrKH8aCfbIvM/v3IrX5Hg99w==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.16.1.tgz", + "integrity": "sha512-889oE5qELj65q/tGeOSvlreNKhimitFwZqQ0o7PcWC7/lgRkAMknznsCsV8J8mZGTP/Z+cIbX8accf2DE33hrA==", "dev": true, "dependencies": { - "@typescript-eslint/eslint-plugin": "7.14.1", - "@typescript-eslint/parser": "7.14.1", - "@typescript-eslint/utils": "7.14.1" + "@typescript-eslint/eslint-plugin": "7.16.1", + "@typescript-eslint/parser": "7.16.1", + "@typescript-eslint/utils": "7.16.1" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -4714,9 +4630,9 @@ } }, "node_modules/workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true }, "node_modules/wrap-ansi": { @@ -4903,18 +4819,18 @@ } }, "node_modules/zod": { - "version": "3.22.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", - "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", + "version": "3.23.8", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", + "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", "dev": true, "funding": { "url": "https://github.com/sponsors/colinhacks" } }, "node_modules/zod-validation-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-3.1.0.tgz", - "integrity": "sha512-zujS6HqJjMZCsvjfbnRs7WI3PXN39ovTcY1n8a+KTm4kOH0ZXYsNiJkH1odZf4xZKMkBDL7M2rmQ913FCS1p9w==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-3.3.0.tgz", + "integrity": "sha512-Syib9oumw1NTqEv4LT0e6U83Td9aVRk9iTXPUQr1otyV1PuXQKOvOwhMNqZIq5hluzHP2pMgnOmHEo7kPdI2mw==", "dev": true, "engines": { "node": ">=18.0.0" @@ -4932,231 +4848,238 @@ "dev": true }, "@dprint/darwin-arm64": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.46.3.tgz", - "integrity": "sha512-1ycDpGvclGHF3UG5V6peymPDg6ouNTqM6BjhVELQ6zwr+X98AMhq/1slgO8hwHtPcaS5qhTAS+PkzOmBJRegow==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/darwin-arm64/-/darwin-arm64-0.47.2.tgz", + "integrity": "sha512-mVPFBJsXxGDKHHCAY8wbqOyS4028g1bN15H9tivCnPAjwaZhkUimZHXWejXADjhGn+Xm2SlakugY9PY/68pH3Q==", "dev": true, "optional": true }, "@dprint/darwin-x64": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.46.3.tgz", - "integrity": "sha512-v5IpLmrY836Q5hJAxZuX097ZNQvoZgO6JKO4bK4l6XDhhHAw2XTIUr41+FM5r36ENxyASMk0NpHjhcHtih3o0g==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/darwin-x64/-/darwin-x64-0.47.2.tgz", + "integrity": "sha512-T7wzlc+rBV+6BRRiBjoqoy5Hj4TR2Nv2p2s9+ycyPGs10Kj/JXOWD8dnEHeBgUr2r4qe/ZdcxmsFQ5Hf2n0WuA==", "dev": true, "optional": true }, "@dprint/formatter": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@dprint/formatter/-/formatter-0.3.0.tgz", - "integrity": "sha512-N9fxCxbaBOrDkteSOzaCqwWjso5iAe+WJPsHC021JfHNj2ThInPNEF13ORDKta3llq5D1TlclODCvOvipH7bWQ==", + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@dprint/formatter/-/formatter-0.4.1.tgz", + "integrity": "sha512-IB/GXdlMOvi0UhQQ9mcY15Fxcrc2JPadmo6tqefCNV0bptFq7YBpggzpqYXldBXDa04CbKJ+rDwO2eNRPE2+/g==", "dev": true }, "@dprint/linux-arm64-glibc": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.46.3.tgz", - "integrity": "sha512-9P13g1vgV8RfQH2qBGa8YAfaOeWA42RIhj7lmWRpkDFtwau96reMKwnBBn8bHUnc5e6bSsbPUOMb/X1KMUKz/g==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-glibc/-/linux-arm64-glibc-0.47.2.tgz", + "integrity": "sha512-B0m1vT5LdVtrNOVdkqpLPrSxuCD+l5bTIgRzPaDoIB1ChWQkler9IlX8C+RStpujjPj6SYvwo5vTzjQSvRdQkA==", "dev": true, "optional": true }, "@dprint/linux-arm64-musl": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.46.3.tgz", - "integrity": "sha512-AAcdcMSZ6DEIoY9E0xQHjkZP+THP7EWsQge4TWzglSIjzn31YltglHAGYFcLB4CTJYpF0NsFDNFktzgkO+s0og==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/linux-arm64-musl/-/linux-arm64-musl-0.47.2.tgz", + "integrity": "sha512-zID6wZZqpg2/Q2Us+ERQkbhLwlW3p3xaeEr00MPf49bpydmEjMiPuSjWPkNv+slQSIyIsVovOxF4lbNZjsdtvw==", "dev": true, "optional": true }, "@dprint/linux-x64-glibc": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.46.3.tgz", - "integrity": "sha512-c5cQ3G1rC64nBZ8Pd2LGWwzkEk4D7Ax9NrBbwYmNPvs6mFbGlJPC1+RD95x2WwIrIlMIciLG+Kxmt25PzBphmg==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/linux-x64-glibc/-/linux-x64-glibc-0.47.2.tgz", + "integrity": "sha512-rB3WXMdINnRd33DItIp7mObS7dzHW90ZzeJSsoKJLPp+Z7wXjjb27UUowfqVI4baa/1pd7sdbX54DPohMtfu/A==", "dev": true, "optional": true }, "@dprint/linux-x64-musl": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.46.3.tgz", - "integrity": "sha512-ONtk2QtLcV0TqWOCOqzUFQixgk3JC+vnJLB5L6tQwT7BX5LzeircfE/1f4dg459iqejNC9MBXZkHnXqabvWSow==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/linux-x64-musl/-/linux-x64-musl-0.47.2.tgz", + "integrity": "sha512-E0+TNbzYdTXJ/jCVjUctVxkda/faw++aDQLfyWGcmdMJnbM7NZz+W4fUpDXzMPsjy+zTWxXcPK7/q2DZz2gnbg==", "dev": true, "optional": true }, "@dprint/typescript": { - "version": "0.91.1", - "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.1.tgz", - "integrity": "sha512-BX3TneRLf3OuO/3tsxbseHqWbpCPOOb2vOm9OlKgSYIKqOsCHpz5kWx5iDuGrNwxWWMKife/1ccz87I5tBLaNA==", + "version": "0.91.3", + "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.3.tgz", + "integrity": "sha512-y/SAgNq4qAr6ZjpuOnIR3JSnOidLPWKtbIXaKzfR+YZGBICf9ant6PDGDpZdFh0szyZEXS3BNwTTAtsCK4s5uw==", "dev": true }, + "@dprint/win32-arm64": { + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/win32-arm64/-/win32-arm64-0.47.2.tgz", + "integrity": "sha512-K1EieTCFjfOCmyIhw9zFSduE6qVCNHEveupqZEfbSkVGw5T9MJQ1I9+n7MDb3RIDYEUk0enJ58/w82q8oDKCyA==", + "dev": true, + "optional": true + }, "@dprint/win32-x64": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.46.3.tgz", - "integrity": "sha512-xvj4DSEilf0gGdT7CqnwNEgfWNuWqT6eIBxHDEUbmcn1vZ7IwirtqRq/nm3lmYtQaJ4EbtMQZvACHZwxC7G96w==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/@dprint/win32-x64/-/win32-x64-0.47.2.tgz", + "integrity": "sha512-LhizWr8VrhHvq4ump8HwOERyFmdLiE8C6A42QSntGXzKdaa2nEOq20x/o56ZIiDcesiV+1TmosMKimPcOZHa+Q==", "dev": true, "optional": true }, "@esbuild/aix-ppc64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.22.0.tgz", - "integrity": "sha512-uvQR2crZ/zgzSHDvdygHyNI+ze9zwS8mqz0YtGXotSqvEE0UkYE9s+FZKQNTt1VtT719mfP3vHrUdCpxBNQZhQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.23.0.tgz", + "integrity": "sha512-3sG8Zwa5fMcA9bgqB8AfWPQ+HFke6uD3h1s3RIwUNK8EG7a4buxvuFTs3j1IMs2NXAk9F30C/FF4vxRgQCcmoQ==", "dev": true, "optional": true }, "@esbuild/android-arm": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.22.0.tgz", - "integrity": "sha512-PBnyP+r8vJE4ifxsWys9l+Mc2UY/yYZOpX82eoyGISXXb3dRr0M21v+s4fgRKWMFPMSf/iyowqPW/u7ScSUkjQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.23.0.tgz", + "integrity": "sha512-+KuOHTKKyIKgEEqKbGTK8W7mPp+hKinbMBeEnNzjJGyFcWsfrXjSTNluJHCY1RqhxFurdD8uNXQDei7qDlR6+g==", "dev": true, "optional": true }, "@esbuild/android-arm64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.22.0.tgz", - "integrity": "sha512-UKhPb3o2gAB/bfXcl58ZXTn1q2oVu1rEu/bKrCtmm+Nj5MKUbrOwR5WAixE2v+lk0amWuwPvhnPpBRLIGiq7ig==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.23.0.tgz", + "integrity": "sha512-EuHFUYkAVfU4qBdyivULuu03FhJO4IJN9PGuABGrFy4vUuzk91P2d+npxHcFdpUnfYKy0PuV+n6bKIpHOB3prQ==", "dev": true, "optional": true }, "@esbuild/android-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.22.0.tgz", - "integrity": "sha512-IjTYtvIrjhR41Ijy2dDPgYjQHWG/x/A4KXYbs1fiU3efpRdoxMChK3oEZV6GPzVEzJqxFgcuBaiX1kwEvWUxSw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.23.0.tgz", + "integrity": "sha512-WRrmKidLoKDl56LsbBMhzTTBxrsVwTKdNbKDalbEZr0tcsBgCLbEtoNthOW6PX942YiYq8HzEnb4yWQMLQuipQ==", "dev": true, "optional": true }, "@esbuild/darwin-arm64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.22.0.tgz", - "integrity": "sha512-mqt+Go4y9wRvEz81bhKd9RpHsQR1LwU8Xm6jZRUV/xpM7cIQFbFH6wBCLPTNsdELBvfoHeumud7X78jQQJv2TA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.23.0.tgz", + "integrity": "sha512-YLntie/IdS31H54Ogdn+v50NuoWF5BDkEUFpiOChVa9UnKpftgwzZRrI4J132ETIi+D8n6xh9IviFV3eXdxfow==", "dev": true, "optional": true }, "@esbuild/darwin-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.22.0.tgz", - "integrity": "sha512-vTaTQ9OgYc3VTaWtOE5pSuDT6H3d/qSRFRfSBbnxFfzAvYoB3pqKXA0LEbi/oT8GUOEAutspfRMqPj2ezdFaMw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.23.0.tgz", + "integrity": "sha512-IMQ6eme4AfznElesHUPDZ+teuGwoRmVuuixu7sv92ZkdQcPbsNHzutd+rAfaBKo8YK3IrBEi9SLLKWJdEvJniQ==", "dev": true, "optional": true }, "@esbuild/freebsd-arm64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.22.0.tgz", - "integrity": "sha512-0e1ZgoobJzaGnR4reD7I9rYZ7ttqdh1KPvJWnquUoDJhL0rYwdneeLailBzd2/4g/U5p4e5TIHEWa68NF2hFpQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.23.0.tgz", + "integrity": "sha512-0muYWCng5vqaxobq6LB3YNtevDFSAZGlgtLoAc81PjUfiFz36n4KMpwhtAd4he8ToSI3TGyuhyx5xmiWNYZFyw==", "dev": true, "optional": true }, "@esbuild/freebsd-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.22.0.tgz", - "integrity": "sha512-BFgyYwlCwRWyPQJtkzqq2p6pJbiiWgp0P9PNf7a5FQ1itKY4czPuOMAlFVItirSmEpRPCeImuwePNScZS0pL5Q==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.23.0.tgz", + "integrity": "sha512-XKDVu8IsD0/q3foBzsXGt/KjD/yTKBCIwOHE1XwiXmrRwrX6Hbnd5Eqn/WvDekddK21tfszBSrE/WMaZh+1buQ==", "dev": true, "optional": true }, "@esbuild/linux-arm": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.22.0.tgz", - "integrity": "sha512-KEMWiA9aGuPUD4BH5yjlhElLgaRXe+Eri6gKBoDazoPBTo1BXc/e6IW5FcJO9DoL19FBeCxgONyh95hLDNepIg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.23.0.tgz", + "integrity": "sha512-SEELSTEtOFu5LPykzA395Mc+54RMg1EUgXP+iw2SJ72+ooMwVsgfuwXo5Fn0wXNgWZsTVHwY2cg4Vi/bOD88qw==", "dev": true, "optional": true }, "@esbuild/linux-arm64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.22.0.tgz", - "integrity": "sha512-V/K2rctCUgC0PCXpN7AqT4hoazXKgIYugFGu/myk2+pfe6jTW2guz/TBwq4cZ7ESqusR/IzkcQaBkcjquuBWsw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.23.0.tgz", + "integrity": "sha512-j1t5iG8jE7BhonbsEg5d9qOYcVZv/Rv6tghaXM/Ug9xahM0nX/H2gfu6X6z11QRTMT6+aywOMA8TDkhPo8aCGw==", "dev": true, "optional": true }, "@esbuild/linux-ia32": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.22.0.tgz", - "integrity": "sha512-r2ZZqkOMOrpUhzNwxI7uLAHIDwkfeqmTnrv1cjpL/rjllPWszgqmprd/om9oviKXUBpMqHbXmppvjAYgISb26Q==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.23.0.tgz", + "integrity": "sha512-P7O5Tkh2NbgIm2R6x1zGJJsnacDzTFcRWZyTTMgFdVit6E98LTxO+v8LCCLWRvPrjdzXHx9FEOA8oAZPyApWUA==", "dev": true, "optional": true }, "@esbuild/linux-loong64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.22.0.tgz", - "integrity": "sha512-qaowLrV/YOMAL2RfKQ4C/VaDzAuLDuylM2sd/LH+4OFirMl6CuDpRlCq4u49ZBaVV8pkI/Y+hTdiibvQRhojCA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.23.0.tgz", + "integrity": "sha512-InQwepswq6urikQiIC/kkx412fqUZudBO4SYKu0N+tGhXRWUqAx+Q+341tFV6QdBifpjYgUndV1hhMq3WeJi7A==", "dev": true, "optional": true }, "@esbuild/linux-mips64el": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.22.0.tgz", - "integrity": "sha512-hgrezzjQTRxjkQ5k08J6rtZN5PNnkWx/Rz6Kmj9gnsdCAX1I4Dn4ZPqvFRkXo55Q3pnVQJBwbdtrTO7tMGtyVA==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.23.0.tgz", + "integrity": "sha512-J9rflLtqdYrxHv2FqXE2i1ELgNjT+JFURt/uDMoPQLcjWQA5wDKgQA4t/dTqGa88ZVECKaD0TctwsUfHbVoi4w==", "dev": true, "optional": true }, "@esbuild/linux-ppc64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.22.0.tgz", - "integrity": "sha512-ewxg6FLLUio883XgSjfULEmDl3VPv/TYNnRprVAS3QeGFLdCYdx1tIudBcd7n9jIdk82v1Ajov4jx87qW7h9+g==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.23.0.tgz", + "integrity": "sha512-cShCXtEOVc5GxU0fM+dsFD10qZ5UpcQ8AM22bYj0u/yaAykWnqXJDpd77ublcX6vdDsWLuweeuSNZk4yUxZwtw==", "dev": true, "optional": true }, "@esbuild/linux-riscv64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.22.0.tgz", - "integrity": "sha512-Az5XbgSJC2lE8XK8pdcutsf9RgdafWdTpUK/+6uaDdfkviw/B4JCwAfh1qVeRWwOohwdsl4ywZrWBNWxwrPLFg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.23.0.tgz", + "integrity": "sha512-HEtaN7Y5UB4tZPeQmgz/UhzoEyYftbMXrBCUjINGjh3uil+rB/QzzpMshz3cNUxqXN7Vr93zzVtpIDL99t9aRw==", "dev": true, "optional": true }, "@esbuild/linux-s390x": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.22.0.tgz", - "integrity": "sha512-8j4a2ChT9+V34NNNY9c/gMldutaJFmfMacTPq4KfNKwv2fitBCLYjee7c+Vxaha2nUhPK7cXcZpJtJ3+Y7ZdVQ==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.23.0.tgz", + "integrity": "sha512-WDi3+NVAuyjg/Wxi+o5KPqRbZY0QhI9TjrEEm+8dmpY9Xir8+HE/HNx2JoLckhKbFopW0RdO2D72w8trZOV+Wg==", "dev": true, "optional": true }, "@esbuild/linux-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.22.0.tgz", - "integrity": "sha512-JUQyOnpbAkkRFOk/AhsEemz5TfWN4FJZxVObUlnlNCbe7QBl61ZNfM4cwBXayQA6laMJMUcqLHaYQHAB6YQ95Q==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.23.0.tgz", + "integrity": "sha512-a3pMQhUEJkITgAw6e0bWA+F+vFtCciMjW/LPtoj99MhVt+Mfb6bbL9hu2wmTZgNd994qTAEw+U/r6k3qHWWaOQ==", "dev": true, "optional": true }, "@esbuild/netbsd-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.22.0.tgz", - "integrity": "sha512-11PoCoHXo4HFNbLsXuMB6bpMPWGDiw7xETji6COdJss4SQZLvcgNoeSqWtATRm10Jj1uEHiaIk4N0PiN6x4Fcg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.23.0.tgz", + "integrity": "sha512-cRK+YDem7lFTs2Q5nEv/HHc4LnrfBCbH5+JHu6wm2eP+d8OZNoSMYgPZJq78vqQ9g+9+nMuIsAO7skzphRXHyw==", "dev": true, "optional": true }, "@esbuild/openbsd-arm64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.22.0.tgz", - "integrity": "sha512-Ezlhu/YyITmXwKSB+Zu/QqD7cxrjrpiw85cc0Rbd3AWr2wsgp+dWbWOE8MqHaLW9NKMZvuL0DhbJbvzR7F6Zvg==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.23.0.tgz", + "integrity": "sha512-suXjq53gERueVWu0OKxzWqk7NxiUWSUlrxoZK7usiF50C6ipColGR5qie2496iKGYNLhDZkPxBI3erbnYkU0rQ==", "dev": true, "optional": true }, "@esbuild/openbsd-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.22.0.tgz", - "integrity": "sha512-ufjdW5tFJGUjlH9j/5cCE9lrwRffyZh+T4vYvoDKoYsC6IXbwaFeV/ENxeNXcxotF0P8CDzoICXVSbJaGBhkrw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.23.0.tgz", + "integrity": "sha512-6p3nHpby0DM/v15IFKMjAaayFhqnXV52aEmv1whZHX56pdkK+MEaLoQWj+H42ssFarP1PcomVhbsR4pkz09qBg==", "dev": true, "optional": true }, "@esbuild/sunos-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.22.0.tgz", - "integrity": "sha512-zY6ly/AoSmKnmNTowDJsK5ehra153/5ZhqxNLfq9NRsTTltetr+yHHcQ4RW7QDqw4JC8A1uC1YmeSfK9NRcK1w==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.23.0.tgz", + "integrity": "sha512-BFelBGfrBwk6LVrmFzCq1u1dZbG4zy/Kp93w2+y83Q5UGYF1d8sCzeLI9NXjKyujjBBniQa8R8PzLFAUrSM9OA==", "dev": true, "optional": true }, "@esbuild/win32-arm64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.22.0.tgz", - "integrity": "sha512-Kml5F7tv/1Maam0pbbCrvkk9vj046dPej30kFzlhXnhuCtYYBP6FGy/cLbc5yUT1lkZznGLf2OvuvmLjscO5rw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.23.0.tgz", + "integrity": "sha512-lY6AC8p4Cnb7xYHuIxQ6iYPe6MfO2CC43XXKo9nBXDb35krYt7KGhQnOkRGar5psxYkircpCqfbNDB4uJbS2jQ==", "dev": true, "optional": true }, "@esbuild/win32-ia32": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.22.0.tgz", - "integrity": "sha512-IOgwn+mYTM3RrcydP4Og5IpXh+ftN8oF+HELTXSmbWBlujuci4Qa3DTeO+LEErceisI7KUSfEIiX+WOUlpELkw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.23.0.tgz", + "integrity": "sha512-7L1bHlOTcO4ByvI7OXVI5pNN6HSu6pUQq9yodga8izeuB1KcT2UkHaH6118QJwopExPn0rMHIseCTx1CRo/uNA==", "dev": true, "optional": true }, "@esbuild/win32-x64": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.22.0.tgz", - "integrity": "sha512-4bDHJrk2WHBXJPhy1y80X7/5b5iZTZP3LGcKIlAP1J+KqZ4zQAPMLEzftGyjjfcKbA4JDlPt/+2R/F1ZTeRgrw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.23.0.tgz", + "integrity": "sha512-Arm+WgUFLUATuoxCJcahGuk6Yj9Pzxd6l11Zb/2aAuv5kWWvvfhLFo2fni4uSK5vzlUdCGZ/BdV5tH8klj8p8g==", "dev": true, "optional": true }, @@ -5196,9 +5119,9 @@ } }, "@eslint-community/regexpp": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.10.1.tgz", - "integrity": "sha512-Zm2NGpWELsQAD1xsJzGQpYfvICSsFkEpU0jxBjfdC6uNEWXcHnfs9hScFWtXVDVl+rBQJGrl4g1vcKIejpH9dA==", + "version": "4.11.0", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz", + "integrity": "sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A==", "dev": true }, "@eslint/eslintrc": { @@ -5423,34 +5346,34 @@ "dev": true }, "@octokit/plugin-paginate-rest": { - "version": "11.3.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.0.tgz", - "integrity": "sha512-n4znWfRinnUQF6TPyxs7EctSAA3yVSP4qlJP2YgI3g9d4Ae2n5F3XDOjbUluKRxPU3rfsgpOboI4O4VtPc6Ilg==", + "version": "11.3.3", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.3.3.tgz", + "integrity": "sha512-o4WRoOJZlKqEEgj+i9CpcmnByvtzoUYC6I8PD2SA95M+BJ2x8h7oLcVOg9qcowWXBOdcTRsMZiwvM3EyLm9AfA==", "dev": true, "requires": { "@octokit/types": "^13.5.0" } }, "@octokit/plugin-request-log": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-5.3.0.tgz", - "integrity": "sha512-FiGcyjdtYPlr03ExBk/0ysIlEFIFGJQAVoPPMxL19B24bVSEiZQnVGBunNtaAF1YnvE/EFoDpXmITtRnyCiypQ==", + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-5.3.1.tgz", + "integrity": "sha512-n/lNeCtq+9ofhC15xzmJCNKP2BWTv8Ih2TTy+jatNCCq/gQP/V7rK3fjIfuz0pDWDALO/o/4QY4hyOF6TQQFUw==", "dev": true, "requires": {} }, "@octokit/plugin-rest-endpoint-methods": { - "version": "13.2.1", - "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.1.tgz", - "integrity": "sha512-YMWBw6Exh1ZBs5cCE0AnzYxSQDIJS00VlBqISTgNYmu5MBdeM07K/MAJjy/VkNaH5jpJmD/5HFUvIZ+LDB5jSQ==", + "version": "13.2.4", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.2.4.tgz", + "integrity": "sha512-gusyAVgTrPiuXOdfqOySMDztQHv6928PQ3E4dqVGEtOvRXAKRbJR4b1zQyniIT9waqaWk/UDaoJ2dyPr7Bk7Iw==", "dev": true, "requires": { "@octokit/types": "^13.5.0" } }, "@octokit/request": { - "version": "9.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.1.tgz", - "integrity": "sha512-pyAguc0p+f+GbQho0uNetNQMmLG1e80WjkIaqqgUkihqUp0boRU6nKItXO4VWnr+nbZiLGEyy4TeKRwqaLvYgw==", + "version": "9.1.3", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-9.1.3.tgz", + "integrity": "sha512-V+TFhu5fdF3K58rs1pGUJIDH5RZLbZm5BI+MNF+6o/ssFNT4vWlCh/tVpF3NxGtP15HUxTTMUbsG5llAuU2CZA==", "dev": true, "requires": { "@octokit/endpoint": "^10.0.0", @@ -5460,23 +5383,23 @@ } }, "@octokit/request-error": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.1.tgz", - "integrity": "sha512-1mw1gqT3fR/WFvnoVpY/zUM2o/XkMs/2AszUUG9I69xn0JFLv6PGkPhNk5lbfvROs79wiS0bqiJNxfCZcRJJdg==", + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-6.1.4.tgz", + "integrity": "sha512-VpAhIUxwhWZQImo/dWAN/NpPqqojR6PSLgLYAituLM6U+ddx9hCioFGwBr5Mi+oi5CLeJkcAs3gJ0PYYzU6wUg==", "dev": true, "requires": { "@octokit/types": "^13.0.0" } }, "@octokit/rest": { - "version": "21.0.0", - "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-21.0.0.tgz", - "integrity": "sha512-XudXXOmiIjivdjNZ+fN71NLrnDM00sxSZlhqmPR3v0dVoJwyP628tSlc12xqn8nX3N0965583RBw5GPo6r8u4Q==", + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-21.0.1.tgz", + "integrity": "sha512-RWA6YU4CqK0h0J6tfYlUFnH3+YgBADlxaHXaKSG+BVr2y4PTfbU2tlKuaQoQZ83qaTbi4CUxLNAmbAqR93A6mQ==", "dev": true, "requires": { "@octokit/core": "^6.1.2", "@octokit/plugin-paginate-rest": "^11.0.0", - "@octokit/plugin-request-log": "^5.1.0", + "@octokit/plugin-request-log": "^5.3.1", "@octokit/plugin-rest-endpoint-methods": "^13.0.0" } }, @@ -5544,9 +5467,9 @@ "dev": true }, "@types/node": { - "version": "20.14.9", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.9.tgz", - "integrity": "sha512-06OCtnTXtWOZBJlRApleWndH4JsRVs1pDCc8dLSQp+7PpUpX3ePdHyeNSFTeSe7FtKyQkrlPvHwJOW3SLd8Oyg==", + "version": "20.14.11", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", + "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==", "dev": true, "requires": { "undici-types": "~5.26.4" @@ -5568,16 +5491,16 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.14.1.tgz", - "integrity": "sha512-aAJd6bIf2vvQRjUG3ZkNXkmBpN+J7Wd0mfQiiVCJMu9Z5GcZZdcc0j8XwN/BM97Fl7e3SkTXODSk4VehUv7CGw==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.1.tgz", + "integrity": "sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.14.1", - "@typescript-eslint/type-utils": "7.14.1", - "@typescript-eslint/utils": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1", + "@typescript-eslint/scope-manager": "7.16.1", + "@typescript-eslint/type-utils": "7.16.1", + "@typescript-eslint/utils": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -5585,54 +5508,54 @@ } }, "@typescript-eslint/parser": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.14.1.tgz", - "integrity": "sha512-8lKUOebNLcR0D7RvlcloOacTOWzOqemWEWkKSVpMZVF/XVcwjPR+3MD08QzbW9TCGJ+DwIc6zUSGZ9vd8cO1IA==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.16.1.tgz", + "integrity": "sha512-u+1Qx86jfGQ5i4JjK33/FnawZRpsLxRnKzGE6EABZ40KxVT/vWsiZFEBBHjFOljmmV3MBYOHEKi0Jm9hbAOClA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "7.14.1", - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/typescript-estree": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1", + "@typescript-eslint/scope-manager": "7.16.1", + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/typescript-estree": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.14.1.tgz", - "integrity": "sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz", + "integrity": "sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==", "dev": true, "requires": { - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1" + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1" } }, "@typescript-eslint/type-utils": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.14.1.tgz", - "integrity": "sha512-/MzmgNd3nnbDbOi3LfasXWWe292+iuo+umJ0bCCMCPc1jLO/z2BQmWUUUXvXLbrQey/JgzdF/OV+I5bzEGwJkQ==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.1.tgz", + "integrity": "sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "7.14.1", - "@typescript-eslint/utils": "7.14.1", + "@typescript-eslint/typescript-estree": "7.16.1", + "@typescript-eslint/utils": "7.16.1", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" } }, "@typescript-eslint/types": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.14.1.tgz", - "integrity": "sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz", + "integrity": "sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.14.1.tgz", - "integrity": "sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz", + "integrity": "sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==", "dev": true, "requires": { - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/visitor-keys": "7.14.1", + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/visitor-keys": "7.16.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -5642,24 +5565,24 @@ } }, "@typescript-eslint/utils": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.14.1.tgz", - "integrity": "sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.1.tgz", + "integrity": "sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.14.1", - "@typescript-eslint/types": "7.14.1", - "@typescript-eslint/typescript-estree": "7.14.1" + "@typescript-eslint/scope-manager": "7.16.1", + "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/typescript-estree": "7.16.1" } }, "@typescript-eslint/visitor-keys": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.14.1.tgz", - "integrity": "sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz", + "integrity": "sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==", "dev": true, "requires": { - "@typescript-eslint/types": "7.14.1", + "@typescript-eslint/types": "7.16.1", "eslint-visitor-keys": "^3.4.3" } }, @@ -5723,9 +5646,9 @@ } }, "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", "dev": true }, "ansi-regex": { @@ -6226,18 +6149,19 @@ } }, "dprint": { - "version": "0.46.3", - "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.46.3.tgz", - "integrity": "sha512-ACEd7B7sO/uvPvV/nsHbtkIeMqeD2a8XGO1DokROtKDUmI5WbuflGZOwyjFCYwy4rkX6FXoYBzGdEQ6um7BjCA==", + "version": "0.47.2", + "resolved": "https://registry.npmjs.org/dprint/-/dprint-0.47.2.tgz", + "integrity": "sha512-geUcVIIrmLaY+YtuOl4gD7J/QCjsXZa5gUqre9sO6cgH0X/Fa9heBN3l/AWVII6rKPw45ATuCSDWz1pyO+HkPQ==", "dev": true, "requires": { - "@dprint/darwin-arm64": "0.46.3", - "@dprint/darwin-x64": "0.46.3", - "@dprint/linux-arm64-glibc": "0.46.3", - "@dprint/linux-arm64-musl": "0.46.3", - "@dprint/linux-x64-glibc": "0.46.3", - "@dprint/linux-x64-musl": "0.46.3", - "@dprint/win32-x64": "0.46.3" + "@dprint/darwin-arm64": "0.47.2", + "@dprint/darwin-x64": "0.47.2", + "@dprint/linux-arm64-glibc": "0.47.2", + "@dprint/linux-arm64-musl": "0.47.2", + "@dprint/linux-x64-glibc": "0.47.2", + "@dprint/linux-x64-musl": "0.47.2", + "@dprint/win32-arm64": "0.47.2", + "@dprint/win32-x64": "0.47.2" } }, "eastasianwidth": { @@ -6284,35 +6208,35 @@ "dev": true }, "esbuild": { - "version": "0.22.0", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.22.0.tgz", - "integrity": "sha512-zNYA6bFZsVnsU481FnGAQjLDW0Pl/8BGG7EvAp15RzUvGC+ME7hf1q7LvIfStEQBz/iEHuBJCYcOwPmNCf1Tlw==", + "version": "0.23.0", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.23.0.tgz", + "integrity": "sha512-1lvV17H2bMYda/WaFb2jLPeHU3zml2k4/yagNMG8Q/YtfMjCwEUZa2eXXMgZTVSL5q1n4H7sQ0X6CdJDqqeCFA==", "dev": true, "requires": { - "@esbuild/aix-ppc64": "0.22.0", - "@esbuild/android-arm": "0.22.0", - "@esbuild/android-arm64": "0.22.0", - "@esbuild/android-x64": "0.22.0", - "@esbuild/darwin-arm64": "0.22.0", - "@esbuild/darwin-x64": "0.22.0", - "@esbuild/freebsd-arm64": "0.22.0", - "@esbuild/freebsd-x64": "0.22.0", - "@esbuild/linux-arm": "0.22.0", - "@esbuild/linux-arm64": "0.22.0", - "@esbuild/linux-ia32": "0.22.0", - "@esbuild/linux-loong64": "0.22.0", - "@esbuild/linux-mips64el": "0.22.0", - "@esbuild/linux-ppc64": "0.22.0", - "@esbuild/linux-riscv64": "0.22.0", - "@esbuild/linux-s390x": "0.22.0", - "@esbuild/linux-x64": "0.22.0", - "@esbuild/netbsd-x64": "0.22.0", - "@esbuild/openbsd-arm64": "0.22.0", - "@esbuild/openbsd-x64": "0.22.0", - "@esbuild/sunos-x64": "0.22.0", - "@esbuild/win32-arm64": "0.22.0", - "@esbuild/win32-ia32": "0.22.0", - "@esbuild/win32-x64": "0.22.0" + "@esbuild/aix-ppc64": "0.23.0", + "@esbuild/android-arm": "0.23.0", + "@esbuild/android-arm64": "0.23.0", + "@esbuild/android-x64": "0.23.0", + "@esbuild/darwin-arm64": "0.23.0", + "@esbuild/darwin-x64": "0.23.0", + "@esbuild/freebsd-arm64": "0.23.0", + "@esbuild/freebsd-x64": "0.23.0", + "@esbuild/linux-arm": "0.23.0", + "@esbuild/linux-arm64": "0.23.0", + "@esbuild/linux-ia32": "0.23.0", + "@esbuild/linux-loong64": "0.23.0", + "@esbuild/linux-mips64el": "0.23.0", + "@esbuild/linux-ppc64": "0.23.0", + "@esbuild/linux-riscv64": "0.23.0", + "@esbuild/linux-s390x": "0.23.0", + "@esbuild/linux-x64": "0.23.0", + "@esbuild/netbsd-x64": "0.23.0", + "@esbuild/openbsd-arm64": "0.23.0", + "@esbuild/openbsd-x64": "0.23.0", + "@esbuild/sunos-x64": "0.23.0", + "@esbuild/win32-arm64": "0.23.0", + "@esbuild/win32-ia32": "0.23.0", + "@esbuild/win32-x64": "0.23.0" } }, "escalade": { @@ -6441,9 +6365,9 @@ } }, "esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", + "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", "dev": true, "requires": { "estraverse": "^5.1.0" @@ -6650,9 +6574,9 @@ } }, "glob": { - "version": "10.4.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.2.tgz", - "integrity": "sha512-GwMlUF6PkPo3Gk21UxkCohOv0PLcIXVtKyLlpEI28R/cO/4eNOdmLk3CMW1wROV/WR/EsZOWAfBbBOqYvs88/w==", + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, "requires": { "foreground-child": "^3.1.0", @@ -6753,16 +6677,15 @@ "dev": true }, "hereby": { - "version": "1.8.9", - "resolved": "https://registry.npmjs.org/hereby/-/hereby-1.8.9.tgz", - "integrity": "sha512-BM/Btsy77GGhuHujCdr2e0jBh3ubrjJcq8M2E/BGQ0O8M9K2uB1PfVSh/LtItAuf9TFe0l8XStaKugMjbYgs4Q==", + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/hereby/-/hereby-1.9.0.tgz", + "integrity": "sha512-ss4aXIae838H1M4N27EhlxZrA3nMP/77DF1sNRFP1pvBo+ITXlrEtkvdea5FIgKY0hWd+XoNQOhr3Jpc5ycLeA==", "dev": true, "requires": { "command-line-usage": "^6.1.3", "fastest-levenshtein": "^1.0.16", - "import-meta-resolve": "^2.2.2", "minimist": "^1.2.8", - "picocolors": "^1.0.0", + "picocolors": "^1.0.1", "pretty-ms": "^8.0.0" } }, @@ -6788,12 +6711,6 @@ "resolve-from": "^4.0.0" } }, - "import-meta-resolve": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-2.2.2.tgz", - "integrity": "sha512-f8KcQ1D80V7RnqVm+/lirO9zkOxjGxhaTC1IPrBGd3MEfNgmNG67tSUO9gTi2F3Blr2Az6g1vocaxzkVnWl9MA==", - "dev": true - }, "imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", @@ -6838,12 +6755,12 @@ } }, "is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", + "version": "2.15.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz", + "integrity": "sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA==", "dev": true, "requires": { - "hasown": "^2.0.0" + "hasown": "^2.0.2" } }, "is-extglob": { @@ -6925,9 +6842,9 @@ } }, "jackspeak": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.0.tgz", - "integrity": "sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==", + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, "requires": { "@isaacs/cliui": "^8.0.2", @@ -6973,12 +6890,6 @@ "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", "dev": true }, - "json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true - }, "jsonc-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", @@ -6995,9 +6906,9 @@ } }, "knip": { - "version": "5.25.1", - "resolved": "https://registry.npmjs.org/knip/-/knip-5.25.1.tgz", - "integrity": "sha512-vUopqkh/gOovZ05qYgTghZpmkM3b2eKYdLTsu11ZTYnYEcsdfQeZs6l4U7Rap4b+1KEDd/yydJsuWl+4NyEA9g==", + "version": "5.26.0", + "resolved": "https://registry.npmjs.org/knip/-/knip-5.26.0.tgz", + "integrity": "sha512-vOp+Wk86aqlPwElrUpxXyg6Q8w+j0j6wuzyu5p6k/mBWUI8iP91PCAz1Jzz9PGq5JYdptV7rFBYB9vHr7AFgqg==", "dev": true, "requires": { "@nodelib/fs.walk": "1.2.8", @@ -7014,7 +6925,6 @@ "smol-toml": "^1.1.4", "strip-json-comments": "5.0.1", "summary": "2.1.0", - "tsconfig-paths": "^4.2.0", "zod": "^3.22.4", "zod-validation-error": "^3.0.3" }, @@ -7093,9 +7003,9 @@ } }, "lru-cache": { - "version": "10.2.2", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.2.tgz", - "integrity": "sha512-9hp3Vp2/hFQUiIwKo8XCeFVnrg8Pk3TYNPIR7tJADKi5YfcF7vEaK7avFHTlSy3kOKYaJQaalfEo6YuXdceBOQ==", + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true }, "lz-utils": { @@ -7157,31 +7067,31 @@ "dev": true }, "mocha": { - "version": "10.5.2", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.5.2.tgz", - "integrity": "sha512-9btlN3JKCefPf+vKd/kcKz2SXxi12z6JswkGfaAF0saQvnsqLJk504ZmbxhSoENge08E9dsymozKgFMTl5PQsA==", + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.6.0.tgz", + "integrity": "sha512-hxjt4+EEB0SA0ZDygSS015t65lJw/I2yRCS3Ae+SJ5FrbzrXgfYwJr96f0OvIXdj7h4lv/vLCrH3rkiuizFSvw==", "dev": true, "requires": { - "ansi-colors": "4.1.1", - "browser-stdout": "1.3.1", + "ansi-colors": "^4.1.3", + "browser-stdout": "^1.3.1", "chokidar": "^3.5.3", - "debug": "4.3.4", - "diff": "5.0.0", - "escape-string-regexp": "4.0.0", - "find-up": "5.0.0", - "glob": "8.1.0", - "he": "1.2.0", - "js-yaml": "4.1.0", - "log-symbols": "4.1.0", - "minimatch": "5.0.1", - "ms": "2.1.3", - "serialize-javascript": "6.0.0", - "strip-json-comments": "3.1.1", - "supports-color": "8.1.1", - "workerpool": "6.2.1", - "yargs": "16.2.0", - "yargs-parser": "20.2.4", - "yargs-unparser": "2.0.0" + "debug": "^4.3.5", + "diff": "^5.2.0", + "escape-string-regexp": "^4.0.0", + "find-up": "^5.0.0", + "glob": "^8.1.0", + "he": "^1.2.0", + "js-yaml": "^4.1.0", + "log-symbols": "^4.1.0", + "minimatch": "^5.1.6", + "ms": "^2.1.3", + "serialize-javascript": "^6.0.2", + "strip-json-comments": "^3.1.1", + "supports-color": "^8.1.1", + "workerpool": "^6.5.1", + "yargs": "^16.2.0", + "yargs-parser": "^20.2.9", + "yargs-unparser": "^2.0.0" }, "dependencies": { "cliui": { @@ -7195,29 +7105,6 @@ "wrap-ansi": "^7.0.0" } }, - "debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "requires": { - "ms": "2.1.2" - }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } - } - }, - "diff": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/diff/-/diff-5.0.0.tgz", - "integrity": "sha512-/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==", - "dev": true - }, "emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", @@ -7238,9 +7125,9 @@ } }, "minimatch": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.0.1.tgz", - "integrity": "sha512-nLDxIFRyhDblz3qMuq+SoRZED4+miJ/G+tdDrjkkkRnjAsBexeGpgjLEQ0blJy7rHhR2b93rhQY4SvyWu9v03g==", + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, "requires": { "brace-expansion": "^2.0.1" @@ -7293,9 +7180,9 @@ } }, "yargs-parser": { - "version": "20.2.4", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.4.tgz", - "integrity": "sha512-WOkpgNhPTlE73h4VFAFsOnomJVaovO8VqLDzy5saChRBFQFBoMYirowyW+Q9HB4HFF4Z7VZTiG3iSzJJA29yRA==", + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true } } @@ -7313,9 +7200,9 @@ "dev": true }, "monocart-coverage-reports": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/monocart-coverage-reports/-/monocart-coverage-reports-2.9.2.tgz", - "integrity": "sha512-kczj6csD/OYJN4/qsRq5E8bMytHHw+Mi8InOnGH/zwszwsI92X4rbH9SJgmKm10wqzbOPwfxcHezLelK3CFWrA==", + "version": "2.9.3", + "resolved": "https://registry.npmjs.org/monocart-coverage-reports/-/monocart-coverage-reports-2.9.3.tgz", + "integrity": "sha512-guRHe/+FGwUc1x1XT4eKW4za5j9MQcq5Vp7CIZfzoGY1mwVp8LKZpDJUjoBkYAb5Xb+7CFAY3lSyNaQ8FKS6oQ==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", @@ -7332,7 +7219,7 @@ "istanbul-lib-report": "^3.0.1", "istanbul-reports": "^3.1.7", "lz-utils": "^2.0.2", - "minimatch": "^10.0.1", + "minimatch": "9.0.5", "monocart-code-viewer": "^1.1.4", "monocart-formatter": "^3.0.0", "monocart-locator": "^1.0.2", @@ -7344,15 +7231,6 @@ "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", "dev": true - }, - "minimatch": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.1.tgz", - "integrity": "sha512-ethXTt3SGGR+95gudmqJ1eNhRO7eGEGIgYA9vnPatK4/etz2MEVDno5GMCibdMTuBMyElzIlgxMna3K94XDIDQ==", - "dev": true, - "requires": { - "brace-expansion": "^2.0.1" - } } } }, @@ -7539,13 +7417,13 @@ "dev": true }, "playwright": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.45.0.tgz", - "integrity": "sha512-4z3ac3plDfYzGB6r0Q3LF8POPR20Z8D0aXcxbJvmfMgSSq1hkcgvFRXJk9rUq5H/MJ0Ktal869hhOdI/zUTeLA==", + "version": "1.45.2", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.45.2.tgz", + "integrity": "sha512-ReywF2t/0teRvNBpfIgh5e4wnrI/8Su8ssdo5XsQKpjxJj+jspm00jSoz9BTg91TT0c9HRjXO7LBNVrgYj9X0g==", "dev": true, "requires": { "fsevents": "2.3.2", - "playwright-core": "1.45.0" + "playwright-core": "1.45.2" }, "dependencies": { "fsevents": { @@ -7558,9 +7436,9 @@ } }, "playwright-core": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.0.tgz", - "integrity": "sha512-lZmHlFQ0VYSpAs43dRq1/nJ9G/6SiTI7VPqidld9TDefL9tX87bTKExWZZUF5PeRyqtXqd8fQi2qmfIedkwsNQ==", + "version": "1.45.2", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.2.tgz", + "integrity": "sha512-ha175tAWb0dTK0X4orvBIqi3jGEt701SMxMhyujxNrgd8K0Uy5wMSwwcQHtyB4om7INUkfndx02XnQ2p6dvLDw==", "dev": true }, "plur": { @@ -7594,9 +7472,9 @@ "dev": true }, "qs": { - "version": "6.12.1", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.1.tgz", - "integrity": "sha512-zWmv4RSuB9r2mYQw3zxQuHWeU+42aKi1wWig/j4ele4ygELZ7PEO6MM7rim9oAQH2A5MWfsAVf/jPvTPgCbvUQ==", + "version": "6.12.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", + "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", "dev": true, "requires": { "side-channel": "^1.0.6" @@ -7721,15 +7599,15 @@ "dev": true }, "semver": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz", - "integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==", + "version": "7.6.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz", + "integrity": "sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==", "dev": true }, "serialize-javascript": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", - "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", + "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", "dev": true, "requires": { "randombytes": "^2.1.0" @@ -7789,9 +7667,9 @@ "dev": true }, "smol-toml": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.1.4.tgz", - "integrity": "sha512-Y0OT8HezWsTNeEOSVxDnKOW/AyNXHQ4BwJNbAXlLTF5wWsBvrcHhIkE5Rf8kQMLmgf7nDX3PVOlgC6/Aiggu3Q==", + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.3.0.tgz", + "integrity": "sha512-tWpi2TsODPScmi48b/OQZGi2lgUmBCHy6SZrhi/FdnnHiU1GwebbCfuQuxsC3nHaLwtYeJGPrDZDIeodDOc4pA==", "dev": true }, "source-map": { @@ -7875,12 +7753,6 @@ "ansi-regex": "^5.0.1" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true - }, "strip-json-comments": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", @@ -7959,17 +7831,6 @@ "dev": true, "requires": {} }, - "tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", - "dev": true, - "requires": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, "tslib": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz", @@ -8010,9 +7871,9 @@ "dev": true }, "typed-rest-client": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-2.0.1.tgz", - "integrity": "sha512-LSfgVu+jKUbkceVBGJ6bdIMzzpvjhw6A+aKsVnGa2S7bT82QCALh/RAtq/fdV3aLXxHqsChuClrQ93fXMrIckA==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/typed-rest-client/-/typed-rest-client-2.0.2.tgz", + "integrity": "sha512-rmAQM2gZw/PQpK5+5aSs+I6ZBv4PFC2BT1o+0ADS1SgSejA+14EmbI2Lt8uXwkX7oeOMkwFmg0pHKwe8D9IT5A==", "dev": true, "requires": { "des.js": "^1.1.0", @@ -8023,20 +7884,20 @@ } }, "typescript": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.2.tgz", - "integrity": "sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==", + "version": "5.5.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", + "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", "dev": true }, "typescript-eslint": { - "version": "7.14.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.14.1.tgz", - "integrity": "sha512-Eo1X+Y0JgGPspcANKjeR6nIqXl4VL5ldXLc15k4m9upq+eY5fhU2IueiEZL6jmHrKH8aCfbIvM/v3IrX5Hg99w==", + "version": "7.16.1", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.16.1.tgz", + "integrity": "sha512-889oE5qELj65q/tGeOSvlreNKhimitFwZqQ0o7PcWC7/lgRkAMknznsCsV8J8mZGTP/Z+cIbX8accf2DE33hrA==", "dev": true, "requires": { - "@typescript-eslint/eslint-plugin": "7.14.1", - "@typescript-eslint/parser": "7.14.1", - "@typescript-eslint/utils": "7.14.1" + "@typescript-eslint/eslint-plugin": "7.16.1", + "@typescript-eslint/parser": "7.16.1", + "@typescript-eslint/utils": "7.16.1" } }, "typical": { @@ -8125,9 +7986,9 @@ } }, "workerpool": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.2.1.tgz", - "integrity": "sha512-ILEIE97kDZvF9Wb9f6h5aXK4swSlKGUcOEGiIYb2OOu/IrDU9iwj0fD//SsA6E5ibwJxpEvhullJY4Sl4GcpAw==", + "version": "6.5.1", + "resolved": "https://registry.npmjs.org/workerpool/-/workerpool-6.5.1.tgz", + "integrity": "sha512-Fs4dNYcsdpYSAfVxhnl1L5zTksjvOJxtC5hzMNl+1t9B8hTJTdKDyZ5ju7ztgPy+ft9tBFXoOlDNiOT9WUXZlA==", "dev": true }, "wrap-ansi": { @@ -8265,15 +8126,15 @@ "dev": true }, "zod": { - "version": "3.22.4", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.22.4.tgz", - "integrity": "sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==", + "version": "3.23.8", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.23.8.tgz", + "integrity": "sha512-XBx9AXhXktjUqnepgTiE5flcKIYWi/rme0Eaj+5Y0lftuGBq+jyRu/md4WnuxqgP1ubdpNCsYEYPxrzVHD8d6g==", "dev": true }, "zod-validation-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-3.1.0.tgz", - "integrity": "sha512-zujS6HqJjMZCsvjfbnRs7WI3PXN39ovTcY1n8a+KTm4kOH0ZXYsNiJkH1odZf4xZKMkBDL7M2rmQ913FCS1p9w==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-3.3.0.tgz", + "integrity": "sha512-Syib9oumw1NTqEv4LT0e6U83Td9aVRk9iTXPUQr1otyV1PuXQKOvOwhMNqZIq5hluzHP2pMgnOmHEo7kPdI2mw==", "dev": true, "requires": {} } diff --git a/package.json b/package.json index da8fac5d774..2917f5b4241 100644 --- a/package.json +++ b/package.json @@ -39,11 +39,11 @@ "!**/.gitattributes" ], "devDependencies": { - "@dprint/formatter": "^0.3.0", - "@dprint/typescript": "0.91.1", + "@dprint/formatter": "^0.4.1", + "@dprint/typescript": "0.91.3", "@esfx/canceltoken": "^1.0.0", "@eslint/js": "^8.57.0", - "@octokit/rest": "^21.0.0", + "@octokit/rest": "^21.0.1", "@types/chai": "^4.3.16", "@types/diff": "^5.2.1", "@types/minimist": "^1.2.5", @@ -52,34 +52,34 @@ "@types/node": "latest", "@types/source-map-support": "^0.5.10", "@types/which": "^3.0.4", - "@typescript-eslint/utils": "^7.14.1", + "@typescript-eslint/utils": "^7.16.1", "azure-devops-node-api": "^14.0.1", "c8": "^10.1.2", "chai": "^4.4.1", "chalk": "^4.1.2", "chokidar": "^3.6.0", "diff": "^5.2.0", - "dprint": "^0.46.3", - "esbuild": "^0.22.0", + "dprint": "^0.47.2", + "esbuild": "^0.23.0", "eslint": "^8.57.0", "eslint-formatter-autolinkable-stylish": "^1.3.0", "fast-xml-parser": "^4.4.0", - "glob": "^10.4.2", + "glob": "^10.4.5", "globals": "^13.24.0", - "hereby": "^1.8.9", + "hereby": "^1.9.0", "jsonc-parser": "^3.3.1", - "knip": "^5.25.1", + "knip": "^5.26.0", "minimist": "^1.2.8", - "mocha": "^10.5.2", + "mocha": "^10.6.0", "mocha-fivemat-progress-reporter": "^0.1.0", - "monocart-coverage-reports": "^2.9.2", + "monocart-coverage-reports": "^2.9.3", "ms": "^2.1.3", "node-fetch": "^3.3.2", - "playwright": "^1.45.0", + "playwright": "^1.45.2", "source-map-support": "^0.5.21", "tslib": "^2.6.3", - "typescript": "^5.5.2", - "typescript-eslint": "^7.14.1", + "typescript": "^5.5.3", + "typescript-eslint": "^7.16.1", "which": "^3.0.1" }, "overrides": { diff --git a/scripts/dtsBundler.mjs b/scripts/dtsBundler.mjs index 6ad37bd2b48..ade134287fe 100644 --- a/scripts/dtsBundler.mjs +++ b/scripts/dtsBundler.mjs @@ -508,7 +508,7 @@ formatter.setConfig({ * @returns {string} */ function dprint(contents) { - const result = formatter.formatText("dummy.d.ts", contents); + const result = formatter.formatText({ filePath: "dummy.d.ts", fileText: contents }); return result.replace(/\r\n/g, "\n"); } From b8af31459657c70d6ff8ef9f8d3c748cef85c35b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 18 Jul 2024 08:48:47 -0700 Subject: [PATCH 33/89] Bump the github-actions group across 1 directory with 4 updates (#59333) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .../workflows/accept-baselines-fix-lints.yaml | 2 +- .github/workflows/ci.yml | 28 +++++++++---------- .github/workflows/codeql.yml | 6 ++-- .github/workflows/insiders.yaml | 4 +-- .github/workflows/lkg.yml | 2 +- .github/workflows/new-release-branch.yaml | 2 +- .github/workflows/nightly.yaml | 4 +-- .../workflows/release-branch-artifact.yaml | 2 +- .github/workflows/scorecard.yml | 2 +- .github/workflows/set-version.yaml | 2 +- .github/workflows/sync-branch.yaml | 2 +- .github/workflows/twoslash-repros.yaml | 2 +- .github/workflows/update-package-lock.yaml | 2 +- 13 files changed, 30 insertions(+), 30 deletions(-) diff --git a/.github/workflows/accept-baselines-fix-lints.yaml b/.github/workflows/accept-baselines-fix-lints.yaml index 1ae2a8e85a5..8a8d62df182 100644 --- a/.github/workflows/accept-baselines-fix-lints.yaml +++ b/.github/workflows/accept-baselines-fix-lints.yaml @@ -20,7 +20,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: token: ${{ secrets.TS_BOT_GITHUB_TOKEN }} - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: 'lts/*' diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 727c7df30b1..01348aa5b65 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,7 +51,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - name: Use node version ${{ matrix.node-version }} - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: ${{ matrix.node-version }} check-latest: true @@ -80,8 +80,8 @@ jobs: contents: read steps: - - uses: actions/checkout@a5ac7e51b41094c92402da3b24376905380afc29 # v4.1.6 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: '*' check-latest: true @@ -91,7 +91,7 @@ jobs: run: npm test -- --no-lint --coverage - name: Upload coverage artifact - uses: actions/upload-artifact@65462800fd760344b1a7b4382951275a0abb4808 # v4.3.3 + uses: actions/upload-artifact@0b2256b8c012f0828dc542b3febcab082c67f72b # v4.3.4 with: name: coverage path: coverage @@ -107,7 +107,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: '*' check-latest: true @@ -121,7 +121,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: '*' check-latest: true @@ -135,7 +135,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: '*' check-latest: true @@ -156,7 +156,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: '*' check-latest: true @@ -173,7 +173,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: '*' check-latest: true @@ -188,7 +188,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: '*' check-latest: true @@ -237,7 +237,7 @@ jobs: path: base ref: ${{ github.base_ref }} - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: '*' check-latest: true @@ -271,7 +271,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: '*' check-latest: true @@ -288,7 +288,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: '*' check-latest: true @@ -308,7 +308,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: '*' check-latest: true diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index b7bf14b8c9c..afdfb68c24f 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -46,7 +46,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 + uses: github/codeql-action/init@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 with: config-file: ./.github/codeql/codeql-configuration.yml # Override language selection by uncommenting this and choosing your languages @@ -56,7 +56,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below). - name: Autobuild - uses: github/codeql-action/autobuild@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 + uses: github/codeql-action/autobuild@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 # ℹ️ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun @@ -70,4 +70,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 + uses: github/codeql-action/analyze@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 diff --git a/.github/workflows/insiders.yaml b/.github/workflows/insiders.yaml index 3892094e9da..5f557dcee59 100644 --- a/.github/workflows/insiders.yaml +++ b/.github/workflows/insiders.yaml @@ -21,7 +21,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: 'lts/*' - run: | @@ -43,7 +43,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: 'lts/*' # Use NODE_AUTH_TOKEN environment variable to authenticate to this registry. diff --git a/.github/workflows/lkg.yml b/.github/workflows/lkg.yml index dc89070b049..ef32ceadb19 100644 --- a/.github/workflows/lkg.yml +++ b/.github/workflows/lkg.yml @@ -31,7 +31,7 @@ jobs: with: ref: ${{ inputs.branch_name }} token: ${{ secrets.TS_BOT_GITHUB_TOKEN }} - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: 'lts/*' - run: | diff --git a/.github/workflows/new-release-branch.yaml b/.github/workflows/new-release-branch.yaml index 8ccdd3bea10..55f5004b870 100644 --- a/.github/workflows/new-release-branch.yaml +++ b/.github/workflows/new-release-branch.yaml @@ -55,7 +55,7 @@ jobs: filter: blob:none # https://github.blog/2020-12-21-get-up-to-speed-with-partial-clone-and-shallow-clone/ fetch-depth: 0 # Default is 1; need to set to 0 to get the benefits of blob:none. token: ${{ secrets.TS_BOT_GITHUB_TOKEN }} - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: 'lts/*' - run: | diff --git a/.github/workflows/nightly.yaml b/.github/workflows/nightly.yaml index c2f4662226f..94a0eb482db 100644 --- a/.github/workflows/nightly.yaml +++ b/.github/workflows/nightly.yaml @@ -22,7 +22,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: 'lts/*' - run: | @@ -43,7 +43,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: 'lts/*' # Use NODE_AUTH_TOKEN environment variable to authenticate to this registry. diff --git a/.github/workflows/release-branch-artifact.yaml b/.github/workflows/release-branch-artifact.yaml index 99ca4f39cdf..bf2ab33cbaf 100644 --- a/.github/workflows/release-branch-artifact.yaml +++ b/.github/workflows/release-branch-artifact.yaml @@ -20,7 +20,7 @@ jobs: steps: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: 'lts/*' - run: | diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 2996a66cef6..d6fd5f83642 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -55,6 +55,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 + uses: github/codeql-action/upload-sarif@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 with: sarif_file: results.sarif diff --git a/.github/workflows/set-version.yaml b/.github/workflows/set-version.yaml index 585182042c1..92e7bb7f8e3 100644 --- a/.github/workflows/set-version.yaml +++ b/.github/workflows/set-version.yaml @@ -53,7 +53,7 @@ jobs: with: ref: ${{ inputs.branch_name }} token: ${{ secrets.TS_BOT_GITHUB_TOKEN }} - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: 'lts/*' - run: | diff --git a/.github/workflows/sync-branch.yaml b/.github/workflows/sync-branch.yaml index cd1e7dd68c0..8fb2d90a3b9 100644 --- a/.github/workflows/sync-branch.yaml +++ b/.github/workflows/sync-branch.yaml @@ -42,7 +42,7 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: 'lts/*' - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 diff --git a/.github/workflows/twoslash-repros.yaml b/.github/workflows/twoslash-repros.yaml index 07420646864..51a9634411a 100644 --- a/.github/workflows/twoslash-repros.yaml +++ b/.github/workflows/twoslash-repros.yaml @@ -55,7 +55,7 @@ jobs: fetch-depth: 0 # Default is 1; need to set to 0 to get the benefits of blob:none. - if: ${{ !github.event.inputs.bisect }} uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: 'lts/*' - uses: microsoft/TypeScript-Twoslash-Repro-Action@8680b5b290d48a7badbc7ba65971d526c61b86b8 # master diff --git a/.github/workflows/update-package-lock.yaml b/.github/workflows/update-package-lock.yaml index 09db9d6bae9..85df21ed623 100644 --- a/.github/workflows/update-package-lock.yaml +++ b/.github/workflows/update-package-lock.yaml @@ -25,7 +25,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 with: token: ${{ secrets.TS_BOT_GITHUB_TOKEN }} - - uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4.0.2 + - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: node-version: '*' check-latest: true From 1fd2c1f22108fe412184453e5c0f26d9b82ba048 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Thu, 18 Jul 2024 09:40:36 -0700 Subject: [PATCH 34/89] Stop using latest Node in CI (#59347) --- .github/workflows/ci.yml | 37 ++++++++-------------- .github/workflows/update-package-lock.yaml | 3 +- 2 files changed, 14 insertions(+), 26 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 01348aa5b65..068979c4898 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: - windows-latest - macos-14 node-version: - - '22' + - '22.4.x' - '20' - '18' - '16' @@ -37,7 +37,7 @@ jobs: bundle: - 'true' include: - - node-version: '*' + - node-version: 'lts/*' bundle: false os: ubuntu-latest exclude: @@ -83,8 +83,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: - node-version: '*' - check-latest: true + node-version: 'lts/*' - run: npm ci - name: Run tests with coverage @@ -109,8 +108,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: - node-version: '*' - check-latest: true + node-version: 'lts/*' - run: npm ci - name: Linter @@ -123,8 +121,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: - node-version: '*' - check-latest: true + node-version: 'lts/*' - run: npm ci - name: Unused exports @@ -137,8 +134,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: - node-version: '*' - check-latest: true + node-version: 'lts/*' - run: npm ci - uses: actions/cache@0c45773b623bea8c8e75f6c82b208c3cf94ea4f9 # v4.0.2 @@ -158,8 +154,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: - node-version: '*' - check-latest: true + node-version: 'lts/*' - run: npm ci - name: Installing browsers @@ -175,8 +170,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: - node-version: '*' - check-latest: true + node-version: 'lts/*' - run: npm ci - name: Build src @@ -190,8 +184,7 @@ jobs: - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: - node-version: '*' - check-latest: true + node-version: 'lts/*' - run: | npm --version # corepack enable npm @@ -239,8 +232,7 @@ jobs: - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: - node-version: '*' - check-latest: true + node-version: 'lts/*' - run: | npm --version # corepack enable npm @@ -273,8 +265,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: - node-version: '*' - check-latest: true + node-version: 'lts/*' - run: npm ci - name: Build scripts @@ -290,8 +281,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: - node-version: '*' - check-latest: true + node-version: 'lts/*' - run: npm ci - name: Build tsc @@ -310,8 +300,7 @@ jobs: - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: - node-version: '*' - check-latest: true + node-version: 'lts/*' - run: npm ci - name: Remove all baselines diff --git a/.github/workflows/update-package-lock.yaml b/.github/workflows/update-package-lock.yaml index 85df21ed623..b0d6bf86d76 100644 --- a/.github/workflows/update-package-lock.yaml +++ b/.github/workflows/update-package-lock.yaml @@ -27,8 +27,7 @@ jobs: token: ${{ secrets.TS_BOT_GITHUB_TOKEN }} - uses: actions/setup-node@1e60f620b9541d16bece96c5465dc8ee9832be0b # v4.0.3 with: - node-version: '*' - check-latest: true + node-version: 'lts/*' - run: | npm --version # corepack enable npm From 121c5dd36bd87e47a065ff7d6b220ce6d079075c Mon Sep 17 00:00:00 2001 From: Nathan Shively-Sanders <293473+sandersn@users.noreply.github.com> Date: Thu, 18 Jul 2024 13:02:34 -0700 Subject: [PATCH 35/89] DOM update 2024-07-12 (#59259) --- src/lib/dom.generated.d.ts | 1207 +++++------------ src/lib/dom.iterable.generated.d.ts | 8 +- src/lib/webworker.generated.d.ts | 179 ++- src/lib/webworker.iterable.generated.d.ts | 6 +- ...lyTypedParametersWithInitializers1.symbols | 4 +- .../globalThisBlockscopedProperties.types | 4 +- ...portMeta(module=commonjs,target=es5).types | 8 +- ...tMeta(module=commonjs,target=esnext).types | 8 +- ...importMeta(module=es2020,target=es5).types | 8 +- ...ortMeta(module=es2020,target=esnext).types | 8 +- ...importMeta(module=esnext,target=es5).types | 8 +- ...ortMeta(module=esnext,target=esnext).types | 8 +- ...importMeta(module=system,target=es5).types | 8 +- ...ortMeta(module=system,target=esnext).types | 8 +- .../mappedTypeRecursiveInference.errors.txt | 24 +- .../mappedTypeRecursiveInference.types | 40 +- 16 files changed, 499 insertions(+), 1037 deletions(-) diff --git a/src/lib/dom.generated.d.ts b/src/lib/dom.generated.d.ts index 1c516924b5c..ce55651bd08 100644 --- a/src/lib/dom.generated.d.ts +++ b/src/lib/dom.generated.d.ts @@ -578,6 +578,11 @@ interface GetAnimationsOptions { subtree?: boolean; } +interface GetHTMLOptions { + serializableShadowRoots?: boolean; + shadowRoots?: ShadowRoot[]; +} + interface GetNotificationOptions { tag?: string; } @@ -667,10 +672,6 @@ interface ImageEncodeOptions { type?: string; } -interface ImportMeta { - url: string; -} - interface InputEventInit extends UIEventInit { data?: string | null; dataTransfer?: DataTransfer | null; @@ -844,6 +845,10 @@ interface MediaKeySystemMediaCapability { robustness?: string; } +interface MediaKeysPolicy { + minHdcpVersion?: string; +} + interface MediaMetadataInit { album?: string; artist?: string; @@ -1183,6 +1188,10 @@ interface PointerEventInit extends MouseEventInit { width?: number; } +interface PointerLockOptions { + unadjustedMovement?: boolean; +} + interface PopStateEventInit extends EventInit { state?: any; } @@ -1366,11 +1375,6 @@ interface RTCIceCandidateInit { usernameFragment?: string | null; } -interface RTCIceCandidatePair { - local: RTCIceCandidate; - remote: RTCIceCandidate; -} - interface RTCIceCandidatePairStats extends RTCStats { availableIncomingBitrate?: number; availableOutgoingBitrate?: number; @@ -1502,7 +1506,7 @@ interface RTCRtcpParameters { } interface RTCRtpCapabilities { - codecs: RTCRtpCodecCapability[]; + codecs: RTCRtpCodec[]; headerExtensions: RTCRtpHeaderExtensionCapability[]; } @@ -1513,9 +1517,6 @@ interface RTCRtpCodec { sdpFmtpLine?: string; } -interface RTCRtpCodecCapability extends RTCRtpCodec { -} - interface RTCRtpCodecParameters extends RTCRtpCodec { payloadType: number; } @@ -2210,7 +2211,9 @@ interface ARIAMixin { ariaAtomic: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaAutoComplete) */ ariaAutoComplete: string | null; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBrailleLabel) */ ariaBrailleLabel: string | null; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBrailleRoleDescription) */ ariaBrailleRoleDescription: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/ariaBusy) */ ariaBusy: string | null; @@ -2793,7 +2796,6 @@ declare var AudioNode: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam) */ interface AudioParam { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/automationRate) */ automationRate: AutomationRate; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/AudioParam/defaultValue) */ readonly defaultValue: number; @@ -3081,7 +3083,11 @@ declare var BaseAudioContext: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/BeforeUnloadEvent) */ interface BeforeUnloadEvent extends Event { - /** @deprecated */ + /** + * @deprecated + * + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/BeforeUnloadEvent/returnValue) + */ returnValue: any; } @@ -3389,7 +3395,7 @@ interface CSSImportRule extends CSSRule { readonly layerName: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSImportRule/media) */ readonly media: MediaList; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSImportRule/styleSheet) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSImportRule/stylesheet) */ readonly styleSheet: CSSStyleSheet | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSImportRule/supportsText) */ readonly supportsText: string | null; @@ -3682,7 +3688,7 @@ declare var CSSPerspective: { interface CSSPropertyRule extends CSSRule { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPropertyRule/inherits) */ readonly inherits: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPropertyRule/initialValue) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPropertyRule/initialvalue) */ readonly initialValue: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSPropertyRule/name) */ readonly name: string; @@ -3795,8 +3801,11 @@ declare var CSSScale: { new(x: CSSNumberish, y: CSSNumberish, z?: CSSNumberish): CSSScale; }; +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSScopeRule) */ interface CSSScopeRule extends CSSGroupingRule { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSScopeRule/end) */ readonly end: string | null; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CSSScopeRule/start) */ readonly start: string | null; } @@ -3919,7 +3928,6 @@ interface CSSStyleDeclaration { /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/background-size) */ backgroundSize: string; baselineShift: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/baseline-source) */ baselineSource: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/block-size) */ blockSize: string; @@ -4101,11 +4109,9 @@ interface CSSStyleDeclaration { columns: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain) */ contain: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-contain-intrinsic-block-size) */ containIntrinsicBlockSize: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-height) */ containIntrinsicHeight: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-contain-intrinsic-inline-size) */ containIntrinsicInlineSize: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/contain-intrinsic-size) */ containIntrinsicSize: string; @@ -4622,7 +4628,9 @@ interface CSSStyleDeclaration { textUnderlinePosition: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-wrap) */ textWrap: string; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-wrap-mode) */ textWrapMode: string; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/text-wrap-style) */ textWrapStyle: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/top) */ top: string; @@ -4657,6 +4665,8 @@ interface CSSStyleDeclaration { vectorEffect: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/vertical-align) */ verticalAlign: string; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/view-transition-name) */ + viewTransitionName: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/visibility) */ visibility: string; /** @@ -4887,7 +4897,11 @@ interface CSSStyleDeclaration { * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/justify-content) */ webkitJustifyContent: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp) */ + /** + * @deprecated This is a legacy alias of `lineClamp`. + * + * [MDN Reference](https://developer.mozilla.org/docs/Web/CSS/-webkit-line-clamp) + */ webkitLineClamp: string; /** * @deprecated This is a legacy alias of `mask`. @@ -5549,6 +5563,8 @@ interface CanvasShadowStyles { } interface CanvasState { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/isContextLost) */ + isContextLost(): boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/reset) */ reset(): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/restore) */ @@ -5746,6 +5762,8 @@ declare var ClipboardEvent: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ClipboardItem) */ interface ClipboardItem { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ClipboardItem/presentationStyle) */ + readonly presentationStyle: PresentationStyle; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ClipboardItem/types) */ readonly types: ReadonlyArray; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ClipboardItem/getType) */ @@ -5755,6 +5773,8 @@ interface ClipboardItem { declare var ClipboardItem: { prototype: ClipboardItem; new(items: Record>, options?: ClipboardItemOptions): ClipboardItem; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ClipboardItem/supports_static) */ + supports(type: string): boolean; }; /** @@ -6156,9 +6176,7 @@ interface DOMMatrix extends DOMMatrixReadOnly { rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; rotateFromVectorSelf(x?: number, y?: number): DOMMatrix; rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix/scale3dSelf) */ scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix/scaleSelf) */ scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; setMatrixValue(transformList: string): DOMMatrix; skewXSelf(sx?: number): DOMMatrix; @@ -6182,88 +6200,48 @@ declare var WebKitCSSMatrix: typeof DOMMatrix; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly) */ interface DOMMatrixReadOnly { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/a) */ readonly a: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/b) */ readonly b: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/c) */ readonly c: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/d) */ readonly d: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/e) */ readonly e: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/f) */ readonly f: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/is2D) */ readonly is2D: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/isIdentity) */ readonly isIdentity: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m11) */ readonly m11: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m12) */ readonly m12: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m13) */ readonly m13: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m14) */ readonly m14: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m21) */ readonly m21: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m22) */ readonly m22: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m23) */ readonly m23: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m24) */ readonly m24: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m31) */ readonly m31: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m32) */ readonly m32: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m33) */ readonly m33: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m34) */ readonly m34: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m41) */ readonly m41: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m42) */ readonly m42: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m43) */ readonly m43: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m44) */ readonly m44: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/flipX) */ flipX(): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/flipY) */ flipY(): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/inverse) */ inverse(): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/multiply) */ multiply(other?: DOMMatrixInit): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/rotate) */ rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/rotateAxisAngle) */ rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/rotateFromVector) */ rotateFromVector(x?: number, y?: number): DOMMatrix; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/scale) */ scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/scale3d) */ scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/scaleNonUniform) - */ + /** @deprecated */ scaleNonUniform(scaleX?: number, scaleY?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/skewX) */ skewX(sx?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/skewY) */ skewY(sy?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/toFloat32Array) */ toFloat32Array(): Float32Array; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/toFloat64Array) */ toFloat64Array(): Float64Array; toJSON(): any; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/transformPoint) */ transformPoint(point?: DOMPointInit): DOMPoint; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/translate) */ translate(tx?: number, ty?: number, tz?: number): DOMMatrix; @@ -6335,7 +6313,6 @@ interface DOMPointReadOnly { readonly y: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/z) */ readonly z: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/matrixTransform) */ matrixTransform(matrix?: DOMMatrixInit): DOMPoint; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/toJSON) */ toJSON(): any; @@ -6350,15 +6327,10 @@ declare var DOMPointReadOnly: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad) */ interface DOMQuad { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p1) */ readonly p1: DOMPoint; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p2) */ readonly p2: DOMPoint; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p3) */ readonly p3: DOMPoint; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p4) */ readonly p4: DOMPoint; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/getBounds) */ getBounds(): DOMRect; toJSON(): any; } @@ -6381,6 +6353,7 @@ interface DOMRect extends DOMRectReadOnly { declare var DOMRect: { prototype: DOMRect; new(x?: number, y?: number, width?: number, height?: number): DOMRect; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRect/fromRect_static) */ fromRect(other?: DOMRectInit): DOMRect; }; @@ -7125,11 +7098,7 @@ interface Document extends Node, DocumentOrShadowRoot, FontFaceSource, GlobalEve * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/adoptNode) */ adoptNode(node: T): T; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/captureEvents) - */ + /** @deprecated */ captureEvents(): void; /** @deprecated */ caretRangeFromPoint(x: number, y: number): Range | null; @@ -7263,6 +7232,7 @@ interface Document extends Node, DocumentOrShadowRoot, FontFaceSource, GlobalEve createEvent(eventInterface: "SpeechSynthesisEvent"): SpeechSynthesisEvent; createEvent(eventInterface: "StorageEvent"): StorageEvent; createEvent(eventInterface: "SubmitEvent"): SubmitEvent; + createEvent(eventInterface: "TextEvent"): TextEvent; createEvent(eventInterface: "ToggleEvent"): ToggleEvent; createEvent(eventInterface: "TouchEvent"): TouchEvent; createEvent(eventInterface: "TrackEvent"): TrackEvent; @@ -7419,8 +7389,6 @@ interface Document extends Node, DocumentOrShadowRoot, FontFaceSource, GlobalEve * Returns a Boolean value that indicates whether the specified command is in the indeterminate state. * @param commandId String that specifies a command identifier. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/queryCommandIndeterm) */ queryCommandIndeterm(commandId: string): boolean; /** @@ -7443,18 +7411,14 @@ interface Document extends Node, DocumentOrShadowRoot, FontFaceSource, GlobalEve * Returns the current value of the document, range, or current selection for the given command. * @param commandId String that specifies a command identifier. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/queryCommandValue) */ queryCommandValue(commandId: string): string; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/releaseEvents) - */ + /** @deprecated */ releaseEvents(): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/requestStorageAccess) */ requestStorageAccess(): Promise; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/startViewTransition) */ + startViewTransition(callbackOptions?: UpdateCallback): ViewTransition; /** * Writes one or more HTML expressions to a document in the specified window. * @param content Specifies the text and HTML tags to write. @@ -7478,6 +7442,7 @@ interface Document extends Node, DocumentOrShadowRoot, FontFaceSource, GlobalEve declare var Document: { prototype: Document; new(): Document; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Document/parseHTMLUnsafe_static) */ parseHTMLUnsafe(html: string): Document; }; @@ -7699,7 +7664,7 @@ interface ElementEventMap { * * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element) */ -interface Element extends Node, ARIAMixin, Animatable, ChildNode, InnerHTML, NonDocumentTypeChildNode, ParentNode, Slottable { +interface Element extends Node, ARIAMixin, Animatable, ChildNode, NonDocumentTypeChildNode, ParentNode, Slottable { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/attributes) */ readonly attributes: NamedNodeMap; /** @@ -7728,6 +7693,8 @@ interface Element extends Node, ARIAMixin, Animatable, ChildNode, InnerHTML, Non * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/id) */ id: string; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/innerHTML) */ + innerHTML: string; /** * Returns the local name. * @@ -7844,6 +7811,8 @@ interface Element extends Node, ARIAMixin, Animatable, ChildNode, InnerHTML, Non getElementsByTagNameNS(namespaceURI: "http://www.w3.org/2000/svg", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespaceURI: "http://www.w3.org/1998/Math/MathML", localName: string): HTMLCollectionOf; getElementsByTagNameNS(namespace: string | null, localName: string): HTMLCollectionOf; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/getHTML) */ + getHTML(options?: GetHTMLOptions): string; /** * Returns true if element has an attribute whose qualified name is qualifiedName, and false otherwise. * @@ -7867,7 +7836,7 @@ interface Element extends Node, ARIAMixin, Animatable, ChildNode, InnerHTML, Non /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/insertAdjacentElement) */ insertAdjacentElement(where: InsertPosition, element: Element): Element | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/insertAdjacentHTML) */ - insertAdjacentHTML(position: InsertPosition, text: string): void; + insertAdjacentHTML(position: InsertPosition, string: string): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/insertAdjacentText) */ insertAdjacentText(where: InsertPosition, data: string): void; /** @@ -7901,7 +7870,7 @@ interface Element extends Node, ARIAMixin, Animatable, ChildNode, InnerHTML, Non */ requestFullscreen(options?: FullscreenOptions): Promise; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/requestPointerLock) */ - requestPointerLock(): void; + requestPointerLock(options?: PointerLockOptions): Promise; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/scroll) */ scroll(options?: ScrollToOptions): void; scroll(x: number, y: number): void; @@ -7929,6 +7898,7 @@ interface Element extends Node, ARIAMixin, Animatable, ChildNode, InnerHTML, Non setAttributeNode(attr: Attr): Attr | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/setAttributeNodeNS) */ setAttributeNodeNS(attr: Attr): Attr | null; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/setHTMLUnsafe) */ setHTMLUnsafe(html: string): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/setPointerCapture) */ setPointerCapture(pointerId: number): void; @@ -7958,6 +7928,7 @@ declare var Element: { }; interface ElementCSSInlineStyle { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/attributeStyleMap) */ readonly attributeStyleMap: StylePropertyMap; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/style) */ readonly style: CSSStyleDeclaration; @@ -8072,15 +8043,10 @@ declare var EncodedVideoChunk: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent) */ interface ErrorEvent extends Event { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/colno) */ readonly colno: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/error) */ readonly error: any; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/filename) */ readonly filename: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/lineno) */ readonly lineno: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/message) */ readonly message: string; } @@ -8336,23 +8302,11 @@ declare var EventTarget: { new(): EventTarget; }; -/** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/External) - */ +/** @deprecated */ interface External { - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/External/AddSearchProvider) - */ + /** @deprecated */ AddSearchProvider(): void; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/External/IsSearchProviderInstalled) - */ + /** @deprecated */ IsSearchProviderInstalled(): void; } @@ -8792,6 +8746,7 @@ interface Gamepad { readonly mapping: GamepadMappingType; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Gamepad/timestamp) */ readonly timestamp: DOMHighResTimeStamp; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Gamepad/vibrationActuator) */ readonly vibrationActuator: GamepadHapticActuator; } @@ -8840,6 +8795,7 @@ declare var GamepadEvent: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/GamepadHapticActuator) */ interface GamepadHapticActuator { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GamepadHapticActuator/playEffect) */ playEffect(type: GamepadHapticEffectType, params?: GamepadEffectParameters): Promise; reset(): Promise; } @@ -8895,6 +8851,8 @@ interface GeolocationCoordinates { readonly longitude: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/speed) */ readonly speed: number | null; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationCoordinates/toJSON) */ + toJSON(): any; } declare var GeolocationCoordinates: { @@ -8912,6 +8870,8 @@ interface GeolocationPosition { readonly coords: GeolocationCoordinates; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationPosition/timestamp) */ readonly timestamp: EpochTimeStamp; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/GeolocationPosition/toJSON) */ + toJSON(): any; } declare var GeolocationPosition: { @@ -8957,7 +8917,9 @@ interface GlobalEventHandlersEventMap { "compositionend": CompositionEvent; "compositionstart": CompositionEvent; "compositionupdate": CompositionEvent; + "contextlost": Event; "contextmenu": MouseEvent; + "contextrestored": Event; "copy": ClipboardEvent; "cuechange": Event; "cut": ClipboardEvent; @@ -9071,7 +9033,7 @@ interface GlobalEventHandlers { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/blur_event) */ onblur: ((this: GlobalEventHandlers, ev: FocusEvent) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/cancel_event) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/cancel_event) */ oncancel: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Occurs when playback is possible, but would require further buffering. @@ -9098,6 +9060,8 @@ interface GlobalEventHandlers { onclick: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/close_event) */ onclose: ((this: GlobalEventHandlers, ev: Event) => any) | null; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/webglcontextlost_event) */ + oncontextlost: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** * Fires when the user clicks the right mouse button in the client area, opening the context menu. * @param ev The mouse event. @@ -9105,6 +9069,8 @@ interface GlobalEventHandlers { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/contextmenu_event) */ oncontextmenu: ((this: GlobalEventHandlers, ev: MouseEvent) => any) | null; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/contextrestored_event) */ + oncontextrestored: ((this: GlobalEventHandlers, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/copy_event) */ oncopy: ((this: GlobalEventHandlers, ev: ClipboardEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/cuechange_event) */ @@ -9255,7 +9221,7 @@ interface GlobalEventHandlers { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/loadstart_event) */ onloadstart: ((this: GlobalEventHandlers, ev: Event) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/lostpointercapture_event) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/lostpointercapture_event) */ onlostpointercapture: ((this: GlobalEventHandlers, ev: PointerEvent) => any) | null; /** * Fires when the user clicks the object with either mouse button. @@ -9524,15 +9490,11 @@ interface HTMLAnchorElement extends HTMLElement, HTMLHyperlinkElementUtils { /** * Sets or retrieves the character set used to encode the object. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/charset) */ charset: string; /** * Sets or retrieves the coordinates of the object. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/coords) */ coords: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/download) */ @@ -9546,8 +9508,6 @@ interface HTMLAnchorElement extends HTMLElement, HTMLHyperlinkElementUtils { /** * Sets or retrieves the shape of the object. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/name) */ name: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/ping) */ @@ -9565,15 +9525,11 @@ interface HTMLAnchorElement extends HTMLElement, HTMLHyperlinkElementUtils { /** * Sets or retrieves the relationship between the object and the destination of the link. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/rev) */ rev: string; /** * Sets or retrieves the shape of the object. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAnchorElement/shape) */ shape: string; /** @@ -9607,25 +9563,14 @@ declare var HTMLAnchorElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement) */ interface HTMLAreaElement extends HTMLElement, HTMLHyperlinkElementUtils { - /** - * Sets or retrieves a text alternative to the graphic. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/alt) - */ + /** Sets or retrieves a text alternative to the graphic. */ alt: string; - /** - * Sets or retrieves the coordinates of the object. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/coords) - */ + /** Sets or retrieves the coordinates of the object. */ coords: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/download) */ download: string; /** * Sets or gets whether clicks in this region cause action. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/noHref) */ noHref: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/ping) */ @@ -9636,11 +9581,7 @@ interface HTMLAreaElement extends HTMLElement, HTMLHyperlinkElementUtils { rel: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/relList) */ readonly relList: DOMTokenList; - /** - * Sets or retrieves the shape of the object. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLAreaElement/shape) - */ + /** Sets or retrieves the shape of the object. */ shape: string; /** * Sets or retrieves the window or frame at which to target content. @@ -9685,8 +9626,6 @@ interface HTMLBRElement extends HTMLElement { /** * Sets or retrieves the side on which floating objects are not to be positioned when any IHTMLBlockElement is inserted into the document. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBRElement/clear) */ clear: string; addEventListener(type: K, listener: (this: HTMLBRElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -9706,11 +9645,7 @@ declare var HTMLBRElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBaseElement) */ interface HTMLBaseElement extends HTMLElement { - /** - * Gets or sets the baseline URL on which relative links are based. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBaseElement/href) - */ + /** Gets or sets the baseline URL on which relative links are based. */ href: string; /** * Sets or retrieves the window or frame at which to target content. @@ -9738,41 +9673,17 @@ interface HTMLBodyElementEventMap extends HTMLElementEventMap, WindowEventHandle * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement) */ interface HTMLBodyElement extends HTMLElement, WindowEventHandlers { - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement/aLink) - */ + /** @deprecated */ aLink: string; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement/background) - */ + /** @deprecated */ background: string; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement/bgColor) - */ + /** @deprecated */ bgColor: string; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement/link) - */ + /** @deprecated */ link: string; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement/text) - */ + /** @deprecated */ text: string; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLBodyElement/vLink) - */ + /** @deprecated */ vLink: string; addEventListener(type: K, listener: (this: HTMLBodyElement, ev: HTMLBodyElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -9793,49 +9704,21 @@ declare var HTMLBodyElement: { interface HTMLButtonElement extends HTMLElement, PopoverInvokerElement { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/disabled) */ disabled: boolean; - /** - * Retrieves a reference to the form that the object is embedded in. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/form) - */ + /** Retrieves a reference to the form that the object is embedded in. */ readonly form: HTMLFormElement | null; - /** - * Overrides the action attribute (where the data on a form is sent) on the parent form element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/formAction) - */ + /** Overrides the action attribute (where the data on a form is sent) on the parent form element. */ formAction: string; - /** - * Used to override the encoding (formEnctype attribute) specified on the form element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/formEnctype) - */ + /** Used to override the encoding (formEnctype attribute) specified on the form element. */ formEnctype: string; - /** - * Overrides the submit method attribute previously specified on a form element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/formMethod) - */ + /** Overrides the submit method attribute previously specified on a form element. */ formMethod: string; - /** - * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/formNoValidate) - */ + /** Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. */ formNoValidate: boolean; - /** - * Overrides the target attribute on a form element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/formTarget) - */ + /** Overrides the target attribute on a form element. */ formTarget: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/labels) */ readonly labels: NodeListOf; - /** - * Sets or retrieves the name of the object. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/name) - */ + /** Sets or retrieves the name of the object. */ name: string; /** * Gets the classification and default behavior of the button. @@ -9843,33 +9726,16 @@ interface HTMLButtonElement extends HTMLElement, PopoverInvokerElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/type) */ type: "submit" | "reset" | "button"; - /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/validationMessage) - */ + /** Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ readonly validationMessage: string; - /** - * Returns a ValidityState object that represents the validity states of an element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/validity) - */ + /** Returns a ValidityState object that represents the validity states of an element. */ readonly validity: ValidityState; - /** - * Sets or retrieves the default or selected value of the control. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/value) - */ + /** Sets or retrieves the default or selected value of the control. */ value: string; - /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/willValidate) - */ + /** Returns whether an element will successfully validate based on forms validation rules and constraints. */ readonly willValidate: boolean; /** Returns whether a form will validate when it is submitted, without having to submit it. */ checkValidity(): boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLButtonElement/reportValidity) */ reportValidity(): boolean; /** * Sets a custom error message that is displayed when a form is submitted. @@ -9987,11 +9853,7 @@ interface HTMLCollectionOf extends HTMLCollectionBase { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDListElement) */ interface HTMLDListElement extends HTMLElement { - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDListElement/compact) - */ + /** @deprecated */ compact: boolean; addEventListener(type: K, listener: (this: HTMLDListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -10029,11 +9891,7 @@ declare var HTMLDataElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDataListElement) */ interface HTMLDataListElement extends HTMLElement { - /** - * Returns an HTMLCollection of the option elements of the datalist element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDataListElement/options) - */ + /** Returns an HTMLCollection of the option elements of the datalist element. */ readonly options: HTMLCollectionOf; addEventListener(type: K, listener: (this: HTMLDataListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -10120,8 +9978,6 @@ interface HTMLDivElement extends HTMLElement { /** * Sets or retrieves how the object is aligned with adjacent text. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDivElement/align) */ align: string; addEventListener(type: K, listener: (this: HTMLDivElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -10162,6 +10018,7 @@ interface HTMLElement extends Element, ElementCSSInlineStyle, ElementContentEdit accessKey: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/accessKeyLabel) */ readonly accessKeyLabel: string; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/autocapitalize) */ autocapitalize: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/dir) */ dir: string; @@ -10235,7 +10092,11 @@ interface HTMLEmbedElement extends HTMLElement { * @deprecated */ name: string; - /** Sets or retrieves a URL to be loaded by the object. */ + /** + * Sets or retrieves a URL to be loaded by the object. + * + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLEmbedElement/src) + */ src: string; type: string; /** @@ -10262,49 +10123,22 @@ declare var HTMLEmbedElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement) */ interface HTMLFieldSetElement extends HTMLElement { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/disabled) */ disabled: boolean; - /** - * Returns an HTMLCollection of the form controls in the element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/elements) - */ + /** Returns an HTMLCollection of the form controls in the element. */ readonly elements: HTMLCollection; - /** - * Retrieves a reference to the form that the object is embedded in. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/form) - */ + /** Retrieves a reference to the form that the object is embedded in. */ readonly form: HTMLFormElement | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/name) */ name: string; - /** - * Returns the string "fieldset". - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/type) - */ + /** Returns the string "fieldset". */ readonly type: string; - /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/validationMessage) - */ + /** Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ readonly validationMessage: string; - /** - * Returns a ValidityState object that represents the validity states of an element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/validity) - */ + /** Returns a ValidityState object that represents the validity states of an element. */ readonly validity: ValidityState; - /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/willValidate) - */ + /** Returns whether an element will successfully validate based on forms validation rules and constraints. */ readonly willValidate: boolean; /** Returns whether a form will validate when it is submitted, without having to submit it. */ checkValidity(): boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFieldSetElement/reportValidity) */ reportValidity(): boolean; /** * Sets a custom error message that is displayed when a form is submitted. @@ -10399,11 +10233,7 @@ interface HTMLFormElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/action) */ action: string; - /** - * Specifies whether autocomplete is applied to an editable text field. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/autocomplete) - */ + /** Specifies whether autocomplete is applied to an editable text field. */ autocomplete: AutoFillBase; /** * Retrieves a collection, in source order, of all controls in a given form. @@ -10441,11 +10271,7 @@ interface HTMLFormElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/name) */ name: string; - /** - * Designates a form that is not validated when submitted. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/noValidate) - */ + /** Designates a form that is not validated when submitted. */ noValidate: boolean; rel: string; readonly relList: DOMTokenList; @@ -10455,11 +10281,7 @@ interface HTMLFormElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/target) */ target: string; - /** - * Returns whether a form will validate when it is submitted, without having to submit it. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/checkValidity) - */ + /** Returns whether a form will validate when it is submitted, without having to submit it. */ checkValidity(): boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFormElement/reportValidity) */ reportValidity(): boolean; @@ -10490,80 +10312,56 @@ declare var HTMLFormElement: { new(): HTMLFormElement; }; -/** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement) - */ +/** @deprecated */ interface HTMLFrameElement extends HTMLElement { /** * Retrieves the document object of the page or frame. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/contentDocument) */ readonly contentDocument: Document | null; /** * Retrieves the object of the specified. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/contentWindow) */ readonly contentWindow: WindowProxy | null; /** * Sets or retrieves whether to display a border for the frame. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/frameBorder) */ frameBorder: string; /** * Sets or retrieves a URI to a long description of the object. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/longDesc) */ longDesc: string; /** * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/marginHeight) */ marginHeight: string; /** * Sets or retrieves the left and right margin widths before displaying the text in a frame. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/marginWidth) */ marginWidth: string; /** * Sets or retrieves the frame name. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/name) */ name: string; /** * Sets or retrieves whether the user can resize the frame. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/noResize) */ noResize: boolean; /** * Sets or retrieves whether the frame can be scrolled. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/scrolling) */ scrolling: string; /** * Sets or retrieves a URL to be loaded by the object. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLFrameElement/src) */ src: string; addEventListener(type: K, listener: (this: HTMLFrameElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -10672,8 +10470,6 @@ interface HTMLHeadingElement extends HTMLElement { /** * Sets or retrieves a value that indicates the table alignment. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLHeadingElement/align) */ align: string; addEventListener(type: K, listener: (this: HTMLHeadingElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -10810,10 +10606,9 @@ interface HTMLIFrameElement extends HTMLElement { /** * Sets or retrieves how the object is aligned with adjacent text. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/align) */ align: string; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/allow) */ allow: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/allowFullscreen) */ allowFullscreen: boolean; @@ -10832,8 +10627,6 @@ interface HTMLIFrameElement extends HTMLElement { /** * Sets or retrieves whether to display a border for the frame. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/frameBorder) */ frameBorder: string; /** @@ -10847,22 +10640,16 @@ interface HTMLIFrameElement extends HTMLElement { /** * Sets or retrieves a URI to a long description of the object. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/longDesc) */ longDesc: string; /** * Sets or retrieves the top and bottom margin heights before displaying the text in a frame. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/marginHeight) */ marginHeight: string; /** * Sets or retrieves the left and right margin widths before displaying the text in a frame. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/marginWidth) */ marginWidth: string; /** @@ -10873,12 +10660,11 @@ interface HTMLIFrameElement extends HTMLElement { name: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/referrerPolicy) */ referrerPolicy: ReferrerPolicy; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/sandbox) */ readonly sandbox: DOMTokenList; /** * Sets or retrieves whether the frame can be scrolled. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLIFrameElement/scrolling) */ scrolling: string; /** @@ -10983,11 +10769,7 @@ interface HTMLImageElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/longDesc) */ longDesc: string; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLImageElement/lowsrc) - */ + /** @deprecated */ lowsrc: string; /** * Sets or retrieves the name of the object. @@ -11071,22 +10853,14 @@ interface HTMLInputElement extends HTMLElement, PopoverInvokerElement { align: string; /** Sets or retrieves a text alternative to the graphic. */ alt: string; - /** - * Specifies whether autocomplete is applied to an editable text field. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/autocomplete) - */ + /** Specifies whether autocomplete is applied to an editable text field. */ autocomplete: AutoFill; capture: string; /** Sets or retrieves the state of the check box or radio button. */ checked: boolean; /** Sets or retrieves the state of the check box or radio button. */ defaultChecked: boolean; - /** - * Sets or retrieves the initial contents of the object. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/defaultValue) - */ + /** Sets or retrieves the initial contents of the object. */ defaultValue: string; dirName: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/disabled) */ @@ -11099,71 +10873,30 @@ interface HTMLInputElement extends HTMLElement, PopoverInvokerElement { files: FileList | null; /** Retrieves a reference to the form that the object is embedded in. */ readonly form: HTMLFormElement | null; - /** - * Overrides the action attribute (where the data on a form is sent) on the parent form element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/formAction) - */ + /** Overrides the action attribute (where the data on a form is sent) on the parent form element. */ formAction: string; - /** - * Used to override the encoding (formEnctype attribute) specified on the form element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/formEnctype) - */ + /** Used to override the encoding (formEnctype attribute) specified on the form element. */ formEnctype: string; - /** - * Overrides the submit method attribute previously specified on a form element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/formMethod) - */ + /** Overrides the submit method attribute previously specified on a form element. */ formMethod: string; - /** - * Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/formNoValidate) - */ + /** Overrides any validation or required attributes on a form or form elements to allow it to be submitted without validation. This can be used to create a "save draft"-type submit option. */ formNoValidate: boolean; - /** - * Overrides the target attribute on a form element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/formTarget) - */ + /** Overrides the target attribute on a form element. */ formTarget: string; - /** - * Sets or retrieves the height of the object. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/height) - */ + /** Sets or retrieves the height of the object. */ height: number; /** When set, overrides the rendering of checkbox controls so that the current value is not visible. */ indeterminate: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/labels) */ readonly labels: NodeListOf | null; - /** - * Specifies the ID of a pre-defined datalist of options for an input element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/list) - */ + /** Specifies the ID of a pre-defined datalist of options for an input element. */ readonly list: HTMLDataListElement | null; - /** - * Defines the maximum acceptable value for an input element with type="number".When used with the min and step attributes, lets you control the range and increment (such as only even numbers) that the user can enter into an input field. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/max) - */ + /** Defines the maximum acceptable value for an input element with type="number".When used with the min and step attributes, lets you control the range and increment (such as only even numbers) that the user can enter into an input field. */ max: string; - /** - * Sets or retrieves the maximum number of characters that the user can enter in a text control. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/maxLength) - */ + /** Sets or retrieves the maximum number of characters that the user can enter in a text control. */ maxLength: number; - /** - * Defines the minimum acceptable value for an input element with type="number". When used with the max and step attributes, lets you control the range and increment (such as even numbers only) that the user can enter into an input field. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/min) - */ + /** Defines the minimum acceptable value for an input element with type="number". When used with the max and step attributes, lets you control the range and increment (such as even numbers only) that the user can enter into an input field. */ min: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/minLength) */ minLength: number; /** * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. @@ -11173,24 +10906,12 @@ interface HTMLInputElement extends HTMLElement, PopoverInvokerElement { multiple: boolean; /** Sets or retrieves the name of the object. */ name: string; - /** - * Gets or sets a string containing a regular expression that the user's input must match. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/pattern) - */ + /** Gets or sets a string containing a regular expression that the user's input must match. */ pattern: string; - /** - * Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/placeholder) - */ + /** Gets or sets a text string that is displayed in an input field as a hint or prompt to users as the format or type of information they need to enter.The text appears in an input field until the user puts focus on the field. */ placeholder: string; readOnly: boolean; - /** - * When present, marks an element that can't be submitted without a value. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/required) - */ + /** When present, marks an element that can't be submitted without a value. */ required: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/selectionDirection) */ selectionDirection: "forward" | "backward" | "none" | null; @@ -11222,23 +10943,11 @@ interface HTMLInputElement extends HTMLElement, PopoverInvokerElement { * @deprecated */ useMap: string; - /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/validationMessage) - */ + /** Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ readonly validationMessage: string; - /** - * Returns a ValidityState object that represents the validity states of an element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/validity) - */ + /** Returns a ValidityState object that represents the validity states of an element. */ readonly validity: ValidityState; - /** - * Returns the value of the data at the cursor's current position. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/value) - */ + /** Returns the value of the data at the cursor's current position. */ value: string; /** Returns a Date object representing the form control's value, if applicable; otherwise, returns null. Can be set, to change the value. Throws an "InvalidStateError" DOMException if the control isn't date- or time-based. */ valueAsDate: Date | null; @@ -11248,17 +10957,9 @@ interface HTMLInputElement extends HTMLElement, PopoverInvokerElement { readonly webkitEntries: ReadonlyArray; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/webkitdirectory) */ webkitdirectory: boolean; - /** - * Sets or retrieves the width of the object. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/width) - */ + /** Sets or retrieves the width of the object. */ width: number; - /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLInputElement/willValidate) - */ + /** Returns whether an element will successfully validate based on forms validation rules and constraints. */ readonly willValidate: boolean; /** * Returns whether a form will validate when it is submitted, without having to submit it. @@ -11412,14 +11113,11 @@ interface HTMLLinkElement extends HTMLElement, LinkStyle { charset: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/crossOrigin) */ crossOrigin: string | null; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/disabled) */ disabled: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/fetchPriority) */ fetchPriority: string; - /** - * Sets or retrieves a destination URL or an anchor point. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/href) - */ + /** Sets or retrieves a destination URL or an anchor point. */ href: string; /** * Sets or retrieves the language code of the object. @@ -11429,6 +11127,7 @@ interface HTMLLinkElement extends HTMLElement, LinkStyle { hreflang: string; imageSizes: string; imageSrcset: string; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/integrity) */ integrity: string; /** Sets or retrieves the media type. */ media: string; @@ -11447,14 +11146,17 @@ interface HTMLLinkElement extends HTMLElement, LinkStyle { * @deprecated */ rev: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/sizes) */ readonly sizes: DOMTokenList; /** * Sets or retrieves the window or frame at which to target content. * @deprecated */ target: string; - /** Sets or retrieves the MIME type of the object. */ + /** + * Sets or retrieves the MIME type of the object. + * + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLLinkElement/type) + */ type: string; addEventListener(type: K, listener: (this: HTMLLinkElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -11473,11 +11175,7 @@ declare var HTMLLinkElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMapElement) */ interface HTMLMapElement extends HTMLElement { - /** - * Retrieves a collection of the area objects defined for the given map object. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMapElement/areas) - */ + /** Retrieves a collection of the area objects defined for the given map object. */ readonly areas: HTMLCollection; /** * Sets or retrieves the name of the object. @@ -11638,7 +11336,6 @@ interface HTMLMediaElement extends HTMLElement { readonly networkState: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/encrypted_event) */ onencrypted: ((this: HTMLMediaElement, ev: MediaEncryptedEvent) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/waitingforkey_event) */ onwaitingforkey: ((this: HTMLMediaElement, ev: Event) => any) | null; /** * Gets a flag that specifies whether playback is paused. @@ -11652,11 +11349,7 @@ interface HTMLMediaElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/playbackRate) */ playbackRate: number; - /** - * Gets TimeRanges for the current media resource that has been played. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/played) - */ + /** Gets TimeRanges for the current media resource that has been played. */ readonly played: TimeRanges; /** * Gets or sets a value indicating what data should be preloaded, if any. @@ -11676,11 +11369,7 @@ interface HTMLMediaElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/seekable) */ readonly seekable: TimeRanges; - /** - * Gets a flag that indicates whether the client is currently moving to a new playback position in the media resource. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/seeking) - */ + /** Gets a flag that indicates whether the client is currently moving to a new playback position in the media resource. */ readonly seeking: boolean; /** * Available only in secure contexts. @@ -11704,7 +11393,6 @@ interface HTMLMediaElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/volume) */ volume: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/addTextTrack) */ addTextTrack(kind: TextTrackKind, label?: string, language?: string): TextTrack; /** * Returns a string that specifies whether the client can play a given media resource type. @@ -11775,11 +11463,7 @@ declare var HTMLMediaElement: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMenuElement) */ interface HTMLMenuElement extends HTMLElement { - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMenuElement/compact) - */ + /** @deprecated */ compact: boolean; addEventListener(type: K, listener: (this: HTMLMenuElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -11842,19 +11526,13 @@ declare var HTMLMetaElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement) */ interface HTMLMeterElement extends HTMLElement { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement/high) */ high: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement/labels) */ readonly labels: NodeListOf; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement/low) */ low: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement/max) */ max: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement/min) */ min: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement/optimum) */ optimum: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMeterElement/value) */ value: number; addEventListener(type: K, listener: (this: HTMLMeterElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -11873,17 +11551,9 @@ declare var HTMLMeterElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLModElement) */ interface HTMLModElement extends HTMLElement { - /** - * Sets or retrieves reference information about the object. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLModElement/cite) - */ + /** Sets or retrieves reference information about the object. */ cite: string; - /** - * Sets or retrieves the date and time of a modification to the object. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLModElement/dateTime) - */ + /** Sets or retrieves the date and time of a modification to the object. */ dateTime: string; addEventListener(type: K, listener: (this: HTMLModElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -11902,11 +11572,7 @@ declare var HTMLModElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOListElement) */ interface HTMLOListElement extends HTMLElement { - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOListElement/compact) - */ + /** @deprecated */ compact: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOListElement/reversed) */ reversed: boolean; @@ -11935,44 +11601,28 @@ declare var HTMLOListElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement) */ interface HTMLObjectElement extends HTMLElement { - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/align) - */ + /** @deprecated */ align: string; /** * Sets or retrieves a character string that can be used to implement your own archive functionality for the object. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/archive) */ archive: string; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/border) - */ + /** @deprecated */ border: string; /** * Sets or retrieves the URL of the file containing the compiled Java class. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/code) */ code: string; /** * Sets or retrieves the URL of the component. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/codeBase) */ codeBase: string; /** * Sets or retrieves the Internet media type for the code associated with the object. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/codeType) */ codeType: string; /** @@ -11989,11 +11639,7 @@ interface HTMLObjectElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/data) */ data: string; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/declare) - */ + /** @deprecated */ declare: boolean; /** * Retrieves a reference to the form that the object is embedded in. @@ -12007,11 +11653,7 @@ interface HTMLObjectElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/height) */ height: string; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/hspace) - */ + /** @deprecated */ hspace: number; /** * Sets or retrieves the name of the object. @@ -12022,8 +11664,6 @@ interface HTMLObjectElement extends HTMLElement { /** * Sets or retrieves a message to be displayed while an object is loading. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/standby) */ standby: string; /** @@ -12051,11 +11691,7 @@ interface HTMLObjectElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/validity) */ readonly validity: ValidityState; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/vspace) - */ + /** @deprecated */ vspace: number; /** * Sets or retrieves the width of the object. @@ -12075,9 +11711,7 @@ interface HTMLObjectElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/checkValidity) */ checkValidity(): boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/getSVGDocument) */ getSVGDocument(): Document | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLObjectElement/reportValidity) */ reportValidity(): boolean; /** * Sets a custom error message that is displayed when a form is submitted. @@ -12103,13 +11737,8 @@ declare var HTMLObjectElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptGroupElement) */ interface HTMLOptGroupElement extends HTMLElement { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptGroupElement/disabled) */ disabled: boolean; - /** - * Sets or retrieves a value that you can use to implement your own label functionality for the object. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptGroupElement/label) - */ + /** Sets or retrieves a value that you can use to implement your own label functionality for the object. */ label: string; addEventListener(type: K, listener: (this: HTMLOptGroupElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -12128,49 +11757,20 @@ declare var HTMLOptGroupElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement) */ interface HTMLOptionElement extends HTMLElement { - /** - * Sets or retrieves the status of an option. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/defaultSelected) - */ + /** Sets or retrieves the status of an option. */ defaultSelected: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/disabled) */ disabled: boolean; - /** - * Retrieves a reference to the form that the object is embedded in. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/form) - */ + /** Retrieves a reference to the form that the object is embedded in. */ readonly form: HTMLFormElement | null; - /** - * Sets or retrieves the ordinal position of an option in a list box. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/index) - */ + /** Sets or retrieves the ordinal position of an option in a list box. */ readonly index: number; - /** - * Sets or retrieves a value that you can use to implement your own label functionality for the object. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/label) - */ + /** Sets or retrieves a value that you can use to implement your own label functionality for the object. */ label: string; - /** - * Sets or retrieves whether the option in the list box is the default item. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/selected) - */ + /** Sets or retrieves whether the option in the list box is the default item. */ selected: boolean; - /** - * Sets or retrieves the text string specified by the option tag. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/text) - */ + /** Sets or retrieves the text string specified by the option tag. */ text: string; - /** - * Sets or retrieves the value which is returned to the server when the form control is submitted. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionElement/value) - */ + /** Sets or retrieves the value which is returned to the server when the form control is submitted. */ value: string; addEventListener(type: K, listener: (this: HTMLOptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -12195,16 +11795,12 @@ interface HTMLOptionsCollection extends HTMLCollectionOf { * When set to a smaller number, truncates the number of option elements in the corresponding container. * * When set to a greater number, adds new blank option elements to that container. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionsCollection/length) */ length: number; /** * Returns the index of the first selected item, if any, or −1 if there is no selected item. * * Can be set, to change the selection. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionsCollection/selectedIndex) */ selectedIndex: number; /** @@ -12215,15 +11811,9 @@ interface HTMLOptionsCollection extends HTMLCollectionOf { * If before is omitted, null, or a number out of range, then element will be added at the end of the list. * * This method will throw a "HierarchyRequestError" DOMException if element is an ancestor of the element into which it is to be inserted. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionsCollection/add) */ add(element: HTMLOptionElement | HTMLOptGroupElement, before?: HTMLElement | number | null): void; - /** - * Removes the item with index index from the collection. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOptionsCollection/remove) - */ + /** Removes the item with index index from the collection. */ remove(index: number): void; } @@ -12253,41 +11843,25 @@ interface HTMLOrSVGElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement) */ interface HTMLOutputElement extends HTMLElement { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/defaultValue) */ defaultValue: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/form) */ readonly form: HTMLFormElement | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/htmlFor) */ readonly htmlFor: DOMTokenList; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/labels) */ readonly labels: NodeListOf; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/name) */ name: string; - /** - * Returns the string "output". - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/type) - */ + /** Returns the string "output". */ readonly type: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/validationMessage) */ readonly validationMessage: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/validity) */ readonly validity: ValidityState; /** * Returns the element's current value. * * Can be set, to change the value. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/value) */ value: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/willValidate) */ readonly willValidate: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/checkValidity) */ checkValidity(): boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/reportValidity) */ reportValidity(): boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLOutputElement/setCustomValidity) */ setCustomValidity(error: string): void; addEventListener(type: K, listener: (this: HTMLOutputElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -12309,8 +11883,6 @@ interface HTMLParagraphElement extends HTMLElement { /** * Sets or retrieves how the object is aligned with adjacent text. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLParagraphElement/align) */ align: string; addEventListener(type: K, listener: (this: HTMLParagraphElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -12334,29 +11906,21 @@ interface HTMLParamElement extends HTMLElement { /** * Sets or retrieves the name of an input parameter for an element. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLParamElement/name) */ name: string; /** * Sets or retrieves the content type of the resource designated by the value attribute. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLParamElement/type) */ type: string; /** * Sets or retrieves the value of an input parameter for an element. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLParamElement/value) */ value: string; /** * Sets or retrieves the data type of the value attribute. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLParamElement/valueType) */ valueType: string; addEventListener(type: K, listener: (this: HTMLParamElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -12397,8 +11961,6 @@ interface HTMLPreElement extends HTMLElement { /** * Sets or gets a value that you can use to implement your own width functionality for the object. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLPreElement/width) */ width: number; addEventListener(type: K, listener: (this: HTMLPreElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -12455,11 +12017,7 @@ declare var HTMLProgressElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLQuoteElement) */ interface HTMLQuoteElement extends HTMLElement { - /** - * Sets or retrieves reference information about the object. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLQuoteElement/cite) - */ + /** Sets or retrieves reference information about the object. */ cite: string; addEventListener(type: K, listener: (this: HTMLQuoteElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -12478,6 +12036,7 @@ declare var HTMLQuoteElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLScriptElement) */ interface HTMLScriptElement extends HTMLElement { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLScriptElement/async) */ async: boolean; /** * Sets or retrieves the character set used to encode the object. @@ -12486,28 +12045,47 @@ interface HTMLScriptElement extends HTMLElement { charset: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLScriptElement/crossOrigin) */ crossOrigin: string | null; - /** Sets or retrieves the status of the script. */ + /** + * Sets or retrieves the status of the script. + * + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLScriptElement/defer) + */ defer: boolean; /** * Sets or retrieves the event for which the script is written. * @deprecated */ event: string; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLScriptElement/fetchPriority) */ fetchPriority: string; /** * Sets or retrieves the object that is bound to the event script. * @deprecated */ htmlFor: string; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLScriptElement/integrity) */ integrity: string; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLScriptElement/noModule) */ noModule: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLScriptElement/referrerPolicy) */ referrerPolicy: string; - /** Retrieves the URL to an external file that contains the source code or data. */ + /** + * Retrieves the URL to an external file that contains the source code or data. + * + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLScriptElement/src) + */ src: string; - /** Retrieves or sets the text of the object as a string. */ + /** + * Retrieves or sets the text of the object as a string. + * + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLScriptElement/text) + */ text: string; - /** Sets or retrieves the MIME type for the associated scripting engine. */ + /** + * Sets or retrieves the MIME type for the associated scripting engine. + * + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLScriptElement/type) + */ type: string; addEventListener(type: K, listener: (this: HTMLScriptElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -12528,7 +12106,6 @@ declare var HTMLScriptElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement) */ interface HTMLSelectElement extends HTMLElement { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/autocomplete) */ autocomplete: AutoFill; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/disabled) */ disabled: boolean; @@ -12540,23 +12117,11 @@ interface HTMLSelectElement extends HTMLElement { readonly form: HTMLFormElement | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/labels) */ readonly labels: NodeListOf; - /** - * Sets or retrieves the number of objects in a collection. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/length) - */ + /** Sets or retrieves the number of objects in a collection. */ length: number; - /** - * Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/multiple) - */ + /** Sets or retrieves the Boolean value indicating whether multiple items can be selected from a list. */ multiple: boolean; - /** - * Sets or retrieves the name of the object. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/name) - */ + /** Sets or retrieves the name of the object. */ name: string; /** * Returns an HTMLOptionsCollection of the list of options. @@ -12564,11 +12129,7 @@ interface HTMLSelectElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/options) */ readonly options: HTMLOptionsCollection; - /** - * When present, marks an element that can't be submitted without a value. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/required) - */ + /** When present, marks an element that can't be submitted without a value. */ required: boolean; /** * Sets or retrieves the index of the selected option in a select object. @@ -12578,11 +12139,7 @@ interface HTMLSelectElement extends HTMLElement { selectedIndex: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/selectedOptions) */ readonly selectedOptions: HTMLCollectionOf; - /** - * Sets or retrieves the number of rows in the list box. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/size) - */ + /** Sets or retrieves the number of rows in the list box. */ size: number; /** * Retrieves the type of select control based on the value of the MULTIPLE attribute. @@ -12590,17 +12147,9 @@ interface HTMLSelectElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/type) */ readonly type: "select-one" | "select-multiple"; - /** - * Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/validationMessage) - */ + /** Returns the error message that would be displayed if the user submits the form, or an empty string if no error message. It also triggers the standard error message, such as "this is a required field". The result is that the user sees validation messages without actually submitting. */ readonly validationMessage: string; - /** - * Returns a ValidityState object that represents the validity states of an element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/validity) - */ + /** Returns a ValidityState object that represents the validity states of an element. */ readonly validity: ValidityState; /** * Sets or retrieves the value which is returned to the server when the form control is submitted. @@ -12608,11 +12157,7 @@ interface HTMLSelectElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/value) */ value: string; - /** - * Returns whether an element will successfully validate based on forms validation rules and constraints. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/willValidate) - */ + /** Returns whether an element will successfully validate based on forms validation rules and constraints. */ readonly willValidate: boolean; /** * Adds an element to the areas, controlRange, or options collection. @@ -12651,7 +12196,6 @@ interface HTMLSelectElement extends HTMLElement { */ remove(): void; remove(index: number): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSelectElement/reportValidity) */ reportValidity(): boolean; /** * Sets a custom error message that is displayed when a form is submitted. @@ -12703,27 +12247,13 @@ declare var HTMLSlotElement: { interface HTMLSourceElement extends HTMLElement { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSourceElement/height) */ height: number; - /** - * Gets or sets the intended media type of the media source. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSourceElement/media) - */ + /** Gets or sets the intended media type of the media source. */ media: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSourceElement/sizes) */ sizes: string; - /** - * The address or URL of the a media resource that is to be considered. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSourceElement/src) - */ + /** The address or URL of the a media resource that is to be considered. */ src: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSourceElement/srcset) */ srcset: string; - /** - * Gets or sets the MIME type of a media resource. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSourceElement/type) - */ + /** Gets or sets the MIME type of a media resource. */ type: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLSourceElement/width) */ width: number; @@ -12800,8 +12330,6 @@ interface HTMLTableCaptionElement extends HTMLElement { /** * Sets or retrieves the alignment of the caption or legend. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCaptionElement/align) */ align: string; addEventListener(type: K, listener: (this: HTMLTableCaptionElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -12837,8 +12365,6 @@ interface HTMLTableCellElement extends HTMLElement { /** * Sets or retrieves a comma-delimited list of conceptual categories associated with the object. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/axis) */ axis: string; /** @@ -12880,8 +12406,6 @@ interface HTMLTableCellElement extends HTMLElement { /** * Sets or retrieves the height of the object. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/height) */ height: string; /** @@ -12912,8 +12436,6 @@ interface HTMLTableCellElement extends HTMLElement { /** * Sets or retrieves the width of the object. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableCellElement/width) */ width: string; addEventListener(type: K, listener: (this: HTMLTableCellElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -12967,8 +12489,6 @@ interface HTMLTableColElement extends HTMLElement { /** * Sets or retrieves the width of the object. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableColElement/width) */ width: string; addEventListener(type: K, listener: (this: HTMLTableColElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -13172,8 +12692,6 @@ interface HTMLTableRowElement extends HTMLElement { /** * Sets or retrieves how the object is aligned with adjacent text. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableRowElement/align) */ align: string; /** @@ -13212,11 +12730,7 @@ interface HTMLTableRowElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableRowElement/sectionRowIndex) */ readonly sectionRowIndex: number; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableRowElement/vAlign) - */ + /** @deprecated */ vAlign: string; /** * Removes the specified cell from the table row, as well as from the cells collection. @@ -13252,8 +12766,6 @@ interface HTMLTableSectionElement extends HTMLElement { /** * Sets or retrieves a value that indicates the table alignment. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableSectionElement/align) */ align: string; /** @@ -13274,11 +12786,7 @@ interface HTMLTableSectionElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableSectionElement/rows) */ readonly rows: HTMLCollectionOf; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTableSectionElement/vAlign) - */ + /** @deprecated */ vAlign: string; /** * Removes the specified row (tr) from the element and from the rows collection. @@ -13317,7 +12825,14 @@ interface HTMLTemplateElement extends HTMLElement { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTemplateElement/content) */ readonly content: DocumentFragment; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTemplateElement/shadowRootClonable) */ + shadowRootClonable: boolean; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTemplateElement/shadowRootDelegatesFocus) */ + shadowRootDelegatesFocus: boolean; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTemplateElement/shadowRootMode) */ shadowRootMode: string; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTemplateElement/shadowRootSerializable) */ + shadowRootSerializable: boolean; addEventListener(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; removeEventListener(type: K, listener: (this: HTMLTemplateElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | EventListenerOptions): void; @@ -13335,7 +12850,6 @@ declare var HTMLTemplateElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTextAreaElement) */ interface HTMLTextAreaElement extends HTMLElement { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTextAreaElement/autocomplete) */ autocomplete: AutoFill; /** Sets or retrieves the width of the object. */ cols: number; @@ -13365,7 +12879,6 @@ interface HTMLTextAreaElement extends HTMLElement { selectionEnd: number; /** Gets or sets the starting position or offset of a text selection. */ selectionStart: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTextAreaElement/textLength) */ readonly textLength: number; /** * Retrieves the type of control. @@ -13385,7 +12898,6 @@ interface HTMLTextAreaElement extends HTMLElement { wrap: string; /** Returns whether a form will validate when it is submitted, without having to submit it. */ checkValidity(): boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTextAreaElement/reportValidity) */ reportValidity(): boolean; /** Highlights the input area of a form element. */ select(): void; @@ -13462,23 +12974,14 @@ declare var HTMLTitleElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement) */ interface HTMLTrackElement extends HTMLElement { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/default) */ default: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/kind) */ kind: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/label) */ label: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/readyState) */ readonly readyState: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/src) */ src: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/srclang) */ srclang: string; - /** - * Returns the TextTrack object corresponding to the text track of the track element. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/track) - */ + /** Returns the TextTrack object corresponding to the text track of the track element. */ readonly track: TextTrack; readonly NONE: 0; readonly LOADING: 1; @@ -13505,17 +13008,9 @@ declare var HTMLTrackElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLUListElement) */ interface HTMLUListElement extends HTMLElement { - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLUListElement/compact) - */ + /** @deprecated */ compact: boolean; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLUListElement/type) - */ + /** @deprecated */ type: string; addEventListener(type: K, listener: (this: HTMLUListElement, ev: HTMLElementEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -14346,7 +13841,7 @@ interface IDBTransaction extends EventTarget { /** * Returns a list of the names of object stores in the transaction's scope. For an upgrade transaction this is all object stores in the database. * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/objectStoreNames) + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/ObjectStoreNames) */ readonly objectStoreNames: DOMStringList; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/abort_event) */ @@ -14503,9 +13998,9 @@ declare var ImageData: { new(data: Uint8ClampedArray, sw: number, sh?: number, settings?: ImageDataSettings): ImageData; }; -interface InnerHTML { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/innerHTML) */ - innerHTML: string; +interface ImportMeta { + url: string; + resolve(specifier: string): string; } /** @@ -15274,6 +14769,7 @@ declare var MediaKeySystemAccess: { interface MediaKeys { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeys/createSession) */ createSession(sessionType?: MediaKeySessionType): MediaKeySession; + getStatusForPolicy(policy?: MediaKeysPolicy): Promise; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaKeys/setServerCertificate) */ setServerCertificate(serverCertificate: BufferSource): Promise; } @@ -15462,11 +14958,8 @@ interface MediaSource extends EventTarget { readonly activeSourceBuffers: SourceBufferList; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/duration) */ duration: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/sourceclose_event) */ onsourceclose: ((this: MediaSource, ev: Event) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/sourceended_event) */ onsourceended: ((this: MediaSource, ev: Event) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/sourceopen_event) */ onsourceopen: ((this: MediaSource, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/readyState) */ readonly readyState: ReadyState; @@ -15491,10 +14984,21 @@ interface MediaSource extends EventTarget { declare var MediaSource: { prototype: MediaSource; new(): MediaSource; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/canConstructInDedicatedWorker_static) */ + readonly canConstructInDedicatedWorker: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSource/isTypeSupported_static) */ isTypeSupported(type: string): boolean; }; +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSourceHandle) */ +interface MediaSourceHandle { +} + +declare var MediaSourceHandle: { + prototype: MediaSourceHandle; + new(): MediaSourceHandle; +}; + interface MediaStreamEventMap { "addtrack": MediaStreamTrackEvent; "removetrack": MediaStreamTrackEvent; @@ -15698,11 +15202,7 @@ interface MessageEvent extends Event { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/source) */ readonly source: MessageEventSource | null; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/initMessageEvent) - */ + /** @deprecated */ initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: MessagePort[]): void; } @@ -15768,29 +15268,21 @@ interface MimeType { /** * Returns the MIME type's description. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeType/description) */ readonly description: string; /** * Returns the Plugin object that implements this MIME type. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeType/enabledPlugin) */ readonly enabledPlugin: Plugin; /** * Returns the MIME type's typical file extensions, in a comma-separated list. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeType/suffixes) */ readonly suffixes: string; /** * Returns the MIME type. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeType/type) */ readonly type: string; } @@ -15808,23 +15300,11 @@ declare var MimeType: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeTypeArray) */ interface MimeTypeArray { - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeTypeArray/length) - */ + /** @deprecated */ readonly length: number; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeTypeArray/item) - */ + /** @deprecated */ item(index: number): MimeType | null; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MimeTypeArray/namedItem) - */ + /** @deprecated */ namedItem(name: string): MimeType | null; [index: number]: MimeType; } @@ -16295,7 +15775,7 @@ interface NavigatorPlugins { /** * @deprecated * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/NavigatorPlugins/mimeTypes) + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/mimeTypes) */ readonly mimeTypes: MimeTypeArray; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Navigator/pdfViewerEnabled) */ @@ -16844,7 +16324,9 @@ interface OffscreenCanvas extends EventTarget { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/height) */ height: number; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/contextlost_event) */ oncontextlost: ((this: OffscreenCanvas, ev: Event) => any) | null; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/contextrestored_event) */ oncontextrestored: ((this: OffscreenCanvas, ev: Event) => any) | null; /** * These attributes return the dimensions of the OffscreenCanvas object's bitmap. @@ -16896,8 +16378,6 @@ declare var OffscreenCanvas: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvasRenderingContext2D) */ interface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform { readonly canvas: OffscreenCanvas; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvasRenderingContext2D/commit) */ - commit(): void; } declare var OffscreenCanvasRenderingContext2D: { @@ -17757,15 +17237,11 @@ interface Plugin { /** * Returns the plugin's description. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Plugin/description) */ readonly description: string; /** * Returns the plugin library's filename, if applicable on the current platform. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Plugin/filename) */ readonly filename: string; /** @@ -17776,22 +17252,14 @@ interface Plugin { /** * Returns the plugin's name. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Plugin/name) */ readonly name: string; /** * Returns the specified MimeType object. * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Plugin/item) */ item(index: number): MimeType | null; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Plugin/namedItem) - */ + /** @deprecated */ namedItem(name: string): MimeType | null; [index: number]: MimeType; } @@ -17809,29 +17277,13 @@ declare var Plugin: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PluginArray) */ interface PluginArray { - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PluginArray/length) - */ + /** @deprecated */ readonly length: number; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PluginArray/item) - */ + /** @deprecated */ item(index: number): Plugin | null; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PluginArray/namedItem) - */ + /** @deprecated */ namedItem(name: string): Plugin | null; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PluginArray/refresh) - */ + /** @deprecated */ refresh(): void; [index: number]: Plugin; } @@ -17889,6 +17341,7 @@ declare var PointerEvent: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PopStateEvent) */ interface PopStateEvent extends Event { + readonly hasUAVisualTransition: boolean; /** * Returns a copy of the information that was provided to pushState() or replaceState(). * @@ -17964,6 +17417,7 @@ declare var PromiseRejectionEvent: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential) */ interface PublicKeyCredential extends Credential { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/authenticatorAttachment) */ readonly authenticatorAttachment: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/PublicKeyCredential/rawId) */ readonly rawId: ArrayBuffer; @@ -18183,12 +17637,11 @@ interface RTCDtlsTransportEventMap { interface RTCDtlsTransport extends EventTarget { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDtlsTransport/iceTransport) */ readonly iceTransport: RTCIceTransport; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDtlsTransport/error_event) */ onerror: ((this: RTCDtlsTransport, ev: Event) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDtlsTransport/statechange_event) */ onstatechange: ((this: RTCDtlsTransport, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDtlsTransport/state) */ readonly state: RTCDtlsTransportState; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCDtlsTransport/getRemoteCertificates) */ getRemoteCertificates(): ArrayBuffer[]; addEventListener(type: K, listener: (this: RTCDtlsTransport, ev: RTCDtlsTransportEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -18306,6 +17759,11 @@ declare var RTCIceCandidate: { new(candidateInitDict?: RTCIceCandidateInit): RTCIceCandidate; }; +interface RTCIceCandidatePair { + local: RTCIceCandidate; + remote: RTCIceCandidate; +} + interface RTCIceTransportEventMap { "gatheringstatechange": Event; "selectedcandidatepairchange": Event; @@ -18462,12 +17920,9 @@ declare var RTCPeerConnection: { interface RTCPeerConnectionIceErrorEvent extends Event { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnectionIceErrorEvent/address) */ readonly address: string | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnectionIceErrorEvent/errorCode) */ readonly errorCode: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnectionIceErrorEvent/errorText) */ readonly errorText: string; readonly port: number | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCPeerConnectionIceErrorEvent/url) */ readonly url: string; } @@ -18497,6 +17952,8 @@ declare var RTCPeerConnectionIceEvent: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpReceiver) */ interface RTCRtpReceiver { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpReceiver/jitterBufferTarget) */ + jitterBufferTarget: DOMHighResTimeStamp | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpReceiver/track) */ readonly track: MediaStreamTrack; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpReceiver/transform) */ @@ -18575,7 +18032,7 @@ interface RTCRtpTransceiver { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpTransceiver/sender) */ readonly sender: RTCRtpSender; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpTransceiver/setCodecPreferences) */ - setCodecPreferences(codecs: RTCRtpCodecCapability[]): void; + setCodecPreferences(codecs: RTCRtpCodec[]): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpTransceiver/stop) */ stop(): void; } @@ -18595,6 +18052,7 @@ interface RTCSctpTransport extends EventTarget { readonly maxChannels: number | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCSctpTransport/maxMessageSize) */ readonly maxMessageSize: number; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCSctpTransport/statechange_event) */ onstatechange: ((this: RTCSctpTransport, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCSctpTransport/state) */ readonly state: RTCSctpTransportState; @@ -18622,7 +18080,7 @@ interface RTCSessionDescription { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCSessionDescription/type) */ readonly type: RTCSdpType; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCSessionDescription/toJSON) */ - toJSON(): any; + toJSON(): RTCSessionDescriptionInit; } declare var RTCSessionDescription: { @@ -18695,7 +18153,7 @@ interface Range extends AbstractRange { */ comparePoint(node: Node, offset: number): number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/createContextualFragment) */ - createContextualFragment(fragment: string): DocumentFragment; + createContextualFragment(string: string): DocumentFragment; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/deleteContents) */ deleteContents(): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Range/detach) */ @@ -18914,6 +18372,7 @@ declare var Report: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReportBody) */ interface ReportBody { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReportBody/toJSON) */ toJSON(): any; } @@ -18973,11 +18432,7 @@ interface Request extends Body { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/integrity) */ readonly integrity: string; - /** - * Returns a boolean indicating whether or not request can outlive the global in which it was created. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/keepalive) - */ + /** Returns a boolean indicating whether or not request can outlive the global in which it was created. */ readonly keepalive: boolean; /** * Returns request's HTTP method, which is "GET" by default. @@ -19053,6 +18508,7 @@ interface ResizeObserverEntry { readonly contentBoxSize: ReadonlyArray; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ResizeObserverEntry/contentRect) */ readonly contentRect: DOMRectReadOnly; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ResizeObserverEntry/devicePixelContentBoxSize) */ readonly devicePixelContentBoxSize: ReadonlyArray; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ResizeObserverEntry/target) */ readonly target: Element; @@ -19236,7 +18692,9 @@ declare var SVGAnimatedBoolean: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedEnumeration) */ interface SVGAnimatedEnumeration { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedEnumeration/animVal) */ readonly animVal: number; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedEnumeration/baseVal) */ baseVal: number; } @@ -19266,7 +18724,9 @@ declare var SVGAnimatedInteger: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedLength) */ interface SVGAnimatedLength { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedLength/animVal) */ readonly animVal: SVGLength; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGAnimatedLength/baseVal) */ readonly baseVal: SVGLength; } @@ -19628,11 +19088,8 @@ declare var SVGFEBlendElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEColorMatrixElement) */ interface SVGFEColorMatrixElement extends SVGElement, SVGFilterPrimitiveStandardAttributes { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEColorMatrixElement/in1) */ readonly in1: SVGAnimatedString; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEColorMatrixElement/type) */ readonly type: SVGAnimatedEnumeration; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGFEColorMatrixElement/values) */ readonly values: SVGAnimatedNumberList; readonly SVG_FECOLORMATRIX_TYPE_UNKNOWN: 0; readonly SVG_FECOLORMATRIX_TYPE_MATRIX: 1; @@ -20322,7 +19779,6 @@ declare var SVGGraphicsElement: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGImageElement) */ interface SVGImageElement extends SVGGraphicsElement, SVGURIReference { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGImageElement/crossorigin) */ crossOrigin: string | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SVGImageElement/height) */ readonly height: SVGAnimatedLength; @@ -21271,6 +20727,7 @@ interface ScreenOrientationEventMap { interface ScreenOrientation extends EventTarget { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ScreenOrientation/angle) */ readonly angle: number; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ScreenOrientation/change_event) */ onchange: ((this: ScreenOrientation, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ScreenOrientation/type) */ readonly type: OrientationType; @@ -21369,6 +20826,8 @@ interface Selection { readonly anchorNode: Node | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/anchorOffset) */ readonly anchorOffset: number; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/direction) */ + readonly direction: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/focusNode) */ readonly focusNode: Node | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Selection/focusOffset) */ @@ -21541,18 +21000,25 @@ interface ShadowRootEventMap { } /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ShadowRoot) */ -interface ShadowRoot extends DocumentFragment, DocumentOrShadowRoot, InnerHTML { +interface ShadowRoot extends DocumentFragment, DocumentOrShadowRoot { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ShadowRoot/clonable) */ readonly clonable: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ShadowRoot/delegatesFocus) */ readonly delegatesFocus: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ShadowRoot/host) */ readonly host: Element; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ShadowRoot/innerHTML) */ + innerHTML: string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ShadowRoot/mode) */ readonly mode: ShadowRootMode; onslotchange: ((this: ShadowRoot, ev: Event) => any) | null; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ShadowRoot/serializable) */ + readonly serializable: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ShadowRoot/slotAssignment) */ readonly slotAssignment: SlotAssignmentMode; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ShadowRoot/getHTML) */ + getHTML(options?: GetHTMLOptions): string; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ShadowRoot/setHTMLUnsafe) */ setHTMLUnsafe(html: string): void; /** Throws a "NotSupportedError" DOMException if context object is a shadow root. */ addEventListener(type: K, listener: (this: ShadowRoot, ev: ShadowRootEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; @@ -21612,15 +21078,10 @@ interface SourceBuffer extends EventTarget { readonly buffered: TimeRanges; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/mode) */ mode: AppendMode; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/abort_event) */ onabort: ((this: SourceBuffer, ev: Event) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/error_event) */ onerror: ((this: SourceBuffer, ev: Event) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/update_event) */ onupdate: ((this: SourceBuffer, ev: Event) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/updateend_event) */ onupdateend: ((this: SourceBuffer, ev: Event) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/updatestart_event) */ onupdatestart: ((this: SourceBuffer, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBuffer/timestampOffset) */ timestampOffset: number; @@ -21658,9 +21119,7 @@ interface SourceBufferListEventMap { interface SourceBufferList extends EventTarget { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBufferList/length) */ readonly length: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBufferList/addsourcebuffer_event) */ onaddsourcebuffer: ((this: SourceBufferList, ev: Event) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/SourceBufferList/removesourcebuffer_event) */ onremovesourcebuffer: ((this: SourceBufferList, ev: Event) => any) | null; addEventListener(type: K, listener: (this: SourceBufferList, ev: SourceBufferListEventMap[K]) => any, options?: boolean | AddEventListenerOptions): void; addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void; @@ -22294,6 +21753,16 @@ declare var TextEncoderStream: { new(): TextEncoderStream; }; +interface TextEvent extends UIEvent { + readonly data: string; + initTextEvent(type: string, bubbles?: boolean, cancelable?: boolean, view?: Window | null, data?: string): void; +} + +declare var TextEvent: { + prototype: TextEvent; + new(): TextEvent; +}; + /** * The dimensions of a piece of text in the canvas, as created by the CanvasRenderingContext2D.measureText() method. * @@ -22570,7 +22039,7 @@ interface TextTrackList extends EventTarget { onaddtrack: ((this: TextTrackList, ev: TrackEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackList/change_event) */ onchange: ((this: TextTrackList, ev: Event) => any) | null; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackList/removetrack_event) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackList/removeTrack_event) */ onremovetrack: ((this: TextTrackList, ev: TrackEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/TextTrackList/getTrackById) */ getTrackById(id: string): TextTrack | null; @@ -22887,9 +22356,11 @@ declare var URL: { prototype: URL; new(url: string | URL, base?: string | URL): URL; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/createObjectURL_static) */ createObjectURL(obj: Blob | MediaSource): string; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ + parse(url: string | URL, base?: string | URL): URL | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/revokeObjectURL_static) */ revokeObjectURL(url: string): void; }; @@ -22999,21 +22470,13 @@ declare var VTTCue: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion) */ interface VTTRegion { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/id) */ id: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/lines) */ lines: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/regionAnchorX) */ regionAnchorX: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/regionAnchorY) */ regionAnchorY: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/scroll) */ scroll: ScrollSetting; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/viewportAnchorX) */ viewportAnchorX: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/viewportAnchorY) */ viewportAnchorY: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VTTRegion/width) */ width: number; } @@ -23030,7 +22493,6 @@ declare var VTTRegion: { interface ValidityState { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/badInput) */ readonly badInput: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/customError) */ readonly customError: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/patternMismatch) */ readonly patternMismatch: boolean; @@ -23046,7 +22508,6 @@ interface ValidityState { readonly tooShort: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/typeMismatch) */ readonly typeMismatch: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/valid) */ readonly valid: boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ValidityState/valueMissing) */ readonly valueMissing: boolean; @@ -23088,6 +22549,7 @@ interface VideoDecoderEventMap { interface VideoDecoder extends EventTarget { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/decodeQueueSize) */ readonly decodeQueueSize: number; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/dequeue_event) */ ondequeue: ((this: VideoDecoder, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/state) */ readonly state: CodecState; @@ -23110,6 +22572,7 @@ interface VideoDecoder extends EventTarget { declare var VideoDecoder: { prototype: VideoDecoder; new(init: VideoDecoderInit): VideoDecoder; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/isConfigSupported_static) */ isConfigSupported(config: VideoDecoderConfig): Promise; }; @@ -23125,6 +22588,7 @@ interface VideoEncoderEventMap { interface VideoEncoder extends EventTarget { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/encodeQueueSize) */ readonly encodeQueueSize: number; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/dequeue_event) */ ondequeue: ((this: VideoEncoder, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/state) */ readonly state: CodecState; @@ -23134,6 +22598,7 @@ interface VideoEncoder extends EventTarget { configure(config: VideoEncoderConfig): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/encode) */ encode(frame: VideoFrame, options?: VideoEncoderEncodeOptions): void; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/flush) */ flush(): Promise; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/reset) */ reset(): void; @@ -23146,6 +22611,7 @@ interface VideoEncoder extends EventTarget { declare var VideoEncoder: { prototype: VideoEncoder; new(init: VideoEncoderInit): VideoEncoder; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/isConfigSupported_static) */ isConfigSupported(config: VideoEncoderConfig): Promise; }; @@ -23177,6 +22643,7 @@ interface VideoFrame { clone(): VideoFrame; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/close) */ close(): void; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/copyTo) */ copyTo(destination: AllowSharedBufferSource, options?: VideoFrameCopyToOptions): Promise; } @@ -23211,6 +22678,23 @@ declare var VideoPlaybackQuality: { new(): VideoPlaybackQuality; }; +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ViewTransition) */ +interface ViewTransition { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ViewTransition/finished) */ + readonly finished: Promise; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ViewTransition/ready) */ + readonly ready: Promise; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ViewTransition/updateCallbackDone) */ + readonly updateCallbackDone: Promise; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ViewTransition/skipTransition) */ + skipTransition(): void; +} + +declare var ViewTransition: { + prototype: ViewTransition; + new(): ViewTransition; +}; + interface VisualViewportEventMap { "resize": Event; "scroll": Event; @@ -24076,7 +23560,7 @@ interface WebGL2RenderingContextBase { clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset?: number): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clientWaitSync) */ clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64): GLenum; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/compressedTexImage3D) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/compressedTexImage2D) */ compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void; compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: number, srcLengthOverride?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/compressedTexSubImage3D) */ @@ -24959,6 +24443,7 @@ declare var WebGLRenderingContext: { interface WebGLRenderingContextBase { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/canvas) */ readonly canvas: HTMLCanvasElement | OffscreenCanvas; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/drawingBufferColorSpace) */ drawingBufferColorSpace: PredefinedColorSpace; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/drawingBufferHeight) */ readonly drawingBufferHeight: GLsizei; @@ -25668,7 +25153,7 @@ declare var WebGLVertexArrayObject: { new(): WebGLVertexArrayObject; }; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLVertexArrayObjectOES) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLVertexArrayObject) */ interface WebGLVertexArrayObjectOES { } @@ -26249,24 +25734,24 @@ interface WindowOrWorkerGlobalScope { /** * Available only in secure contexts. * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/caches) + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/caches) */ readonly caches: CacheStorage; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crossOriginIsolated) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/crossOriginIsolated) */ readonly crossOriginIsolated: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crypto_property) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/crypto) */ readonly crypto: Crypto; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/indexedDB) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/indexedDB) */ readonly indexedDB: IDBFactory; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/isSecureContext) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/isSecureContext) */ readonly isSecureContext: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/origin) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/origin) */ readonly origin: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/performance_property) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/performance) */ readonly performance: Performance; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/atob) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/atob) */ atob(data: string): string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/btoa) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/btoa) */ btoa(data: string): string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/clearInterval) */ clearInterval(id: number | undefined): void; @@ -26773,7 +26258,7 @@ interface Console { clear(): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/count_static) */ count(label?: string): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/countReset_static) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/countreset_static) */ countReset(label?: string): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/debug_static) */ debug(...data: any[]): void; @@ -26785,9 +26270,9 @@ interface Console { error(...data: any[]): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/group_static) */ group(...data: any[]): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/groupCollapsed_static) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/groupcollapsed_static) */ groupCollapsed(...data: any[]): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/groupEnd_static) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/groupend_static) */ groupEnd(): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/info_static) */ info(...data: any[]): void; @@ -26797,9 +26282,9 @@ interface Console { table(tabularData?: any, properties?: string[]): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/time_static) */ time(label?: string): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/timeEnd_static) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/timeend_static) */ timeEnd(label?: string): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/timeLog_static) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/timelog_static) */ timeLog(label?: string, ...data: any[]): void; timeStamp(label?: string): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/trace_static) */ @@ -26951,9 +26436,7 @@ declare namespace WebAssembly { /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Global) */ interface Global { - /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Global/value) */ value: ValueTypeMap[T]; - /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Global/valueOf) */ valueOf(): ValueTypeMap[T]; } @@ -27252,6 +26735,10 @@ interface UnderlyingSourceStartCallback { (controller: ReadableStreamController): any; } +interface UpdateCallback { + (): any; +} + interface VideoFrameOutputCallback { (output: VideoFrame): void; } @@ -27828,7 +27315,7 @@ declare var onbeforetoggle: ((this: Window, ev: Event) => any) | null; * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/blur_event) */ declare var onblur: ((this: Window, ev: FocusEvent) => any) | null; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/cancel_event) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/cancel_event) */ declare var oncancel: ((this: Window, ev: Event) => any) | null; /** * Occurs when playback is possible, but would require further buffering. @@ -27855,6 +27342,8 @@ declare var onchange: ((this: Window, ev: Event) => any) | null; declare var onclick: ((this: Window, ev: MouseEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLDialogElement/close_event) */ declare var onclose: ((this: Window, ev: Event) => any) | null; +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/webglcontextlost_event) */ +declare var oncontextlost: ((this: Window, ev: Event) => any) | null; /** * Fires when the user clicks the right mouse button in the client area, opening the context menu. * @param ev The mouse event. @@ -27862,6 +27351,8 @@ declare var onclose: ((this: Window, ev: Event) => any) | null; * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/contextmenu_event) */ declare var oncontextmenu: ((this: Window, ev: MouseEvent) => any) | null; +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLCanvasElement/contextrestored_event) */ +declare var oncontextrestored: ((this: Window, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/copy_event) */ declare var oncopy: ((this: Window, ev: ClipboardEvent) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLTrackElement/cuechange_event) */ @@ -28012,7 +27503,7 @@ declare var onloadedmetadata: ((this: Window, ev: Event) => any) | null; * [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLMediaElement/loadstart_event) */ declare var onloadstart: ((this: Window, ev: Event) => any) | null; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/HTMLElement/lostpointercapture_event) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Element/lostpointercapture_event) */ declare var onlostpointercapture: ((this: Window, ev: PointerEvent) => any) | null; /** * Fires when the user clicks the object with either mouse button. @@ -28279,24 +27770,24 @@ declare var localStorage: Storage; /** * Available only in secure contexts. * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/caches) + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/caches) */ declare var caches: CacheStorage; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crossOriginIsolated) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/crossOriginIsolated) */ declare var crossOriginIsolated: boolean; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crypto_property) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/crypto) */ declare var crypto: Crypto; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/indexedDB) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/indexedDB) */ declare var indexedDB: IDBFactory; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/isSecureContext) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/isSecureContext) */ declare var isSecureContext: boolean; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/origin) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/origin) */ declare var origin: string; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/performance_property) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/performance) */ declare var performance: Performance; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/atob) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/atob) */ declare function atob(data: string): string; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/btoa) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/btoa) */ declare function btoa(data: string): string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/clearInterval) */ declare function clearInterval(id: number | undefined): void; @@ -28390,7 +27881,7 @@ type ReportList = Report[]; type RequestInfo = Request | string; type TexImageSource = ImageBitmap | ImageData | HTMLImageElement | HTMLCanvasElement | HTMLVideoElement | OffscreenCanvas | VideoFrame; type TimerHandler = string | Function; -type Transferable = OffscreenCanvas | ImageBitmap | MessagePort | ReadableStream | WritableStream | TransformStream | VideoFrame | ArrayBuffer; +type Transferable = OffscreenCanvas | ImageBitmap | MessagePort | MediaSourceHandle | ReadableStream | WritableStream | TransformStream | VideoFrame | ArrayBuffer; type Uint32List = Uint32Array | GLuint[]; type VibratePattern = number | number[]; type WindowProxy = Window; diff --git a/src/lib/dom.iterable.generated.d.ts b/src/lib/dom.iterable.generated.d.ts index 08624e22074..d5a009b078c 100644 --- a/src/lib/dom.iterable.generated.d.ts +++ b/src/lib/dom.iterable.generated.d.ts @@ -191,11 +191,7 @@ interface MediaList { } interface MessageEvent { - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/initMessageEvent) - */ + /** @deprecated */ initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: Iterable): void; } @@ -248,7 +244,7 @@ interface PluginArray { interface RTCRtpTransceiver { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/RTCRtpTransceiver/setCodecPreferences) */ - setCodecPreferences(codecs: Iterable): void; + setCodecPreferences(codecs: Iterable): void; } interface RTCStatsReport extends ReadonlyMap { diff --git a/src/lib/webworker.generated.d.ts b/src/lib/webworker.generated.d.ts index 4dd793c12c8..fd3efc67420 100644 --- a/src/lib/webworker.generated.d.ts +++ b/src/lib/webworker.generated.d.ts @@ -322,10 +322,6 @@ interface ImageEncodeOptions { type?: string; } -interface ImportMeta { - url: string; -} - interface JsonWebKey { alg?: string; crv?: string; @@ -396,6 +392,10 @@ interface MediaEncodingConfiguration extends MediaConfiguration { type: MediaEncodingType; } +interface MediaStreamTrackProcessorInit { + maxBufferSize?: number; +} + interface MessageEventInit extends EventInit { data?: T; lastEventId?: string; @@ -1649,6 +1649,8 @@ interface CanvasShadowStyles { } interface CanvasState { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/isContextLost) */ + isContextLost(): boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/reset) */ reset(): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/CanvasRenderingContext2D/restore) */ @@ -1982,9 +1984,7 @@ interface DOMMatrix extends DOMMatrixReadOnly { rotateAxisAngleSelf(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; rotateFromVectorSelf(x?: number, y?: number): DOMMatrix; rotateSelf(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix/scale3dSelf) */ scale3dSelf(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrix/scaleSelf) */ scaleSelf(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; skewXSelf(sx?: number): DOMMatrix; skewYSelf(sy?: number): DOMMatrix; @@ -2001,88 +2001,48 @@ declare var DOMMatrix: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly) */ interface DOMMatrixReadOnly { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/a) */ readonly a: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/b) */ readonly b: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/c) */ readonly c: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/d) */ readonly d: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/e) */ readonly e: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/f) */ readonly f: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/is2D) */ readonly is2D: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/isIdentity) */ readonly isIdentity: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m11) */ readonly m11: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m12) */ readonly m12: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m13) */ readonly m13: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m14) */ readonly m14: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m21) */ readonly m21: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m22) */ readonly m22: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m23) */ readonly m23: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m24) */ readonly m24: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m31) */ readonly m31: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m32) */ readonly m32: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m33) */ readonly m33: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m34) */ readonly m34: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m41) */ readonly m41: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m42) */ readonly m42: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m43) */ readonly m43: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/m44) */ readonly m44: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/flipX) */ flipX(): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/flipY) */ flipY(): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/inverse) */ inverse(): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/multiply) */ multiply(other?: DOMMatrixInit): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/rotate) */ rotate(rotX?: number, rotY?: number, rotZ?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/rotateAxisAngle) */ rotateAxisAngle(x?: number, y?: number, z?: number, angle?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/rotateFromVector) */ rotateFromVector(x?: number, y?: number): DOMMatrix; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/scale) */ scale(scaleX?: number, scaleY?: number, scaleZ?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/scale3d) */ scale3d(scale?: number, originX?: number, originY?: number, originZ?: number): DOMMatrix; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/scaleNonUniform) - */ + /** @deprecated */ scaleNonUniform(scaleX?: number, scaleY?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/skewX) */ skewX(sx?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/skewY) */ skewY(sy?: number): DOMMatrix; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/toFloat32Array) */ toFloat32Array(): Float32Array; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/toFloat64Array) */ toFloat64Array(): Float64Array; toJSON(): any; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/transformPoint) */ transformPoint(point?: DOMPointInit): DOMPoint; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMMatrixReadOnly/translate) */ translate(tx?: number, ty?: number, tz?: number): DOMMatrix; @@ -2125,7 +2085,6 @@ interface DOMPointReadOnly { readonly y: number; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/z) */ readonly z: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/matrixTransform) */ matrixTransform(matrix?: DOMMatrixInit): DOMPoint; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMPointReadOnly/toJSON) */ toJSON(): any; @@ -2140,15 +2099,10 @@ declare var DOMPointReadOnly: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad) */ interface DOMQuad { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p1) */ readonly p1: DOMPoint; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p2) */ readonly p2: DOMPoint; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p3) */ readonly p3: DOMPoint; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/p4) */ readonly p4: DOMPoint; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMQuad/getBounds) */ getBounds(): DOMRect; toJSON(): any; } @@ -2171,6 +2125,7 @@ interface DOMRect extends DOMRectReadOnly { declare var DOMRect: { prototype: DOMRect; new(x?: number, y?: number, width?: number, height?: number): DOMRect; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/DOMRect/fromRect_static) */ fromRect(other?: DOMRectInit): DOMRect; }; @@ -2396,15 +2351,10 @@ declare var EncodedVideoChunk: { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent) */ interface ErrorEvent extends Event { - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/colno) */ readonly colno: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/error) */ readonly error: any; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/filename) */ readonly filename: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/lineno) */ readonly lineno: number; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ErrorEvent/message) */ readonly message: string; } @@ -3721,7 +3671,7 @@ interface IDBTransaction extends EventTarget { /** * Returns a list of the names of object stores in the transaction's scope. For an upgrade transaction this is all object stores in the database. * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/objectStoreNames) + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/ObjectStoreNames) */ readonly objectStoreNames: DOMStringList; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/IDBTransaction/abort_event) */ @@ -3848,6 +3798,11 @@ declare var ImageData: { new(data: Uint8ClampedArray, sw: number, sh?: number, settings?: ImageDataSettings): ImageData; }; +interface ImportMeta { + url: string; + resolve(specifier: string): string; +} + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/KHR_parallel_shader_compile) */ interface KHR_parallel_shader_compile { readonly COMPLETION_STATUS_KHR: 0x91B1; @@ -3901,6 +3856,26 @@ declare var MediaCapabilities: { new(): MediaCapabilities; }; +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaSourceHandle) */ +interface MediaSourceHandle { +} + +declare var MediaSourceHandle: { + prototype: MediaSourceHandle; + new(): MediaSourceHandle; +}; + +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrackProcessor) */ +interface MediaStreamTrackProcessor { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/MediaStreamTrackProcessor/readable) */ + readonly readable: ReadableStream; +} + +declare var MediaStreamTrackProcessor: { + prototype: MediaStreamTrackProcessor; + new(init: MediaStreamTrackProcessorInit): MediaStreamTrackProcessor; +}; + /** * This Channel Messaging API interface allows us to create a new message channel and send data through it via its two MessagePort properties. * @@ -3962,11 +3937,7 @@ interface MessageEvent extends Event { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/source) */ readonly source: MessageEventSource | null; - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/initMessageEvent) - */ + /** @deprecated */ initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: MessagePort[]): void; } @@ -4298,7 +4269,9 @@ interface OffscreenCanvas extends EventTarget { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/height) */ height: number; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/contextlost_event) */ oncontextlost: ((this: OffscreenCanvas, ev: Event) => any) | null; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvas/contextrestored_event) */ oncontextrestored: ((this: OffscreenCanvas, ev: Event) => any) | null; /** * These attributes return the dimensions of the OffscreenCanvas object's bitmap. @@ -4350,8 +4323,6 @@ declare var OffscreenCanvas: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvasRenderingContext2D) */ interface OffscreenCanvasRenderingContext2D extends CanvasCompositing, CanvasDrawImage, CanvasDrawPath, CanvasFillStrokeStyles, CanvasFilters, CanvasImageData, CanvasImageSmoothing, CanvasPath, CanvasPathDrawingStyles, CanvasRect, CanvasShadowStyles, CanvasState, CanvasText, CanvasTextDrawingStyles, CanvasTransform { readonly canvas: OffscreenCanvas; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/OffscreenCanvasRenderingContext2D/commit) */ - commit(): void; } declare var OffscreenCanvasRenderingContext2D: { @@ -4941,6 +4912,7 @@ declare var Report: { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReportBody) */ interface ReportBody { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/ReportBody/toJSON) */ toJSON(): any; } @@ -5000,11 +4972,7 @@ interface Request extends Body { * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/integrity) */ readonly integrity: string; - /** - * Returns a boolean indicating whether or not request can outlive the global in which it was created. - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Request/keepalive) - */ + /** Returns a boolean indicating whether or not request can outlive the global in which it was created. */ readonly keepalive: boolean; /** * Returns request's HTTP method, which is "GET" by default. @@ -5676,9 +5644,11 @@ declare var URL: { prototype: URL; new(url: string | URL, base?: string | URL): URL; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/canParse_static) */ - canParse(url: string | URL, base?: string): boolean; + canParse(url: string | URL, base?: string | URL): boolean; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/createObjectURL_static) */ createObjectURL(obj: Blob): string; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/parse_static) */ + parse(url: string | URL, base?: string | URL): URL | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/URL/revokeObjectURL_static) */ revokeObjectURL(url: string): void; }; @@ -5766,6 +5736,7 @@ interface VideoDecoderEventMap { interface VideoDecoder extends EventTarget { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/decodeQueueSize) */ readonly decodeQueueSize: number; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/dequeue_event) */ ondequeue: ((this: VideoDecoder, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/state) */ readonly state: CodecState; @@ -5788,6 +5759,7 @@ interface VideoDecoder extends EventTarget { declare var VideoDecoder: { prototype: VideoDecoder; new(init: VideoDecoderInit): VideoDecoder; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoDecoder/isConfigSupported_static) */ isConfigSupported(config: VideoDecoderConfig): Promise; }; @@ -5803,6 +5775,7 @@ interface VideoEncoderEventMap { interface VideoEncoder extends EventTarget { /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/encodeQueueSize) */ readonly encodeQueueSize: number; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/dequeue_event) */ ondequeue: ((this: VideoEncoder, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/state) */ readonly state: CodecState; @@ -5812,6 +5785,7 @@ interface VideoEncoder extends EventTarget { configure(config: VideoEncoderConfig): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/encode) */ encode(frame: VideoFrame, options?: VideoEncoderEncodeOptions): void; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/flush) */ flush(): Promise; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/reset) */ reset(): void; @@ -5824,6 +5798,7 @@ interface VideoEncoder extends EventTarget { declare var VideoEncoder: { prototype: VideoEncoder; new(init: VideoEncoderInit): VideoEncoder; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoEncoder/isConfigSupported_static) */ isConfigSupported(config: VideoEncoderConfig): Promise; }; @@ -5855,6 +5830,7 @@ interface VideoFrame { clone(): VideoFrame; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/close) */ close(): void; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/VideoFrame/copyTo) */ copyTo(destination: AllowSharedBufferSource, options?: VideoFrameCopyToOptions): Promise; } @@ -6632,7 +6608,7 @@ interface WebGL2RenderingContextBase { clearBufferuiv(buffer: GLenum, drawbuffer: GLint, values: Uint32List, srcOffset?: number): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/clientWaitSync) */ clientWaitSync(sync: WebGLSync, flags: GLbitfield, timeout: GLuint64): GLenum; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/compressedTexImage3D) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/compressedTexImage2D) */ compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, imageSize: GLsizei, offset: GLintptr): void; compressedTexImage3D(target: GLenum, level: GLint, internalformat: GLenum, width: GLsizei, height: GLsizei, depth: GLsizei, border: GLint, srcData: ArrayBufferView, srcOffset?: number, srcLengthOverride?: GLuint): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGL2RenderingContext/compressedTexSubImage3D) */ @@ -7513,6 +7489,7 @@ declare var WebGLRenderingContext: { }; interface WebGLRenderingContextBase { + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/drawingBufferColorSpace) */ drawingBufferColorSpace: PredefinedColorSpace; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLRenderingContext/drawingBufferHeight) */ readonly drawingBufferHeight: GLsizei; @@ -8222,7 +8199,7 @@ declare var WebGLVertexArrayObject: { new(): WebGLVertexArrayObject; }; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLVertexArrayObjectOES) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WebGLVertexArrayObject) */ interface WebGLVertexArrayObjectOES { } @@ -8433,24 +8410,24 @@ interface WindowOrWorkerGlobalScope { /** * Available only in secure contexts. * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/caches) + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/caches) */ readonly caches: CacheStorage; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crossOriginIsolated) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/crossOriginIsolated) */ readonly crossOriginIsolated: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crypto_property) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/crypto) */ readonly crypto: Crypto; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/indexedDB) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/indexedDB) */ readonly indexedDB: IDBFactory; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/isSecureContext) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/isSecureContext) */ readonly isSecureContext: boolean; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/origin) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/origin) */ readonly origin: string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/performance_property) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/performance) */ readonly performance: Performance; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/atob) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/atob) */ atob(data: string): string; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/btoa) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/btoa) */ btoa(data: string): string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/clearInterval) */ clearInterval(id: number | undefined): void; @@ -8547,7 +8524,9 @@ interface WorkerGlobalScope extends EventTarget, FontFaceSource, WindowOrWorkerG onoffline: ((this: WorkerGlobalScope, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/online_event) */ ononline: ((this: WorkerGlobalScope, ev: Event) => any) | null; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/rejectionhandled_event) */ onrejectionhandled: ((this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any) | null; + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/unhandledrejection_event) */ onunhandledrejection: ((this: WorkerGlobalScope, ev: PromiseRejectionEvent) => any) | null; /** * Returns workerGlobal. @@ -8881,7 +8860,7 @@ interface Console { clear(): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/count_static) */ count(label?: string): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/countReset_static) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/countreset_static) */ countReset(label?: string): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/debug_static) */ debug(...data: any[]): void; @@ -8893,9 +8872,9 @@ interface Console { error(...data: any[]): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/group_static) */ group(...data: any[]): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/groupCollapsed_static) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/groupcollapsed_static) */ groupCollapsed(...data: any[]): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/groupEnd_static) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/groupend_static) */ groupEnd(): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/info_static) */ info(...data: any[]): void; @@ -8905,9 +8884,9 @@ interface Console { table(tabularData?: any, properties?: string[]): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/time_static) */ time(label?: string): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/timeEnd_static) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/timeend_static) */ timeEnd(label?: string): void; - /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/timeLog_static) */ + /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/timelog_static) */ timeLog(label?: string, ...data: any[]): void; timeStamp(label?: string): void; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/console/trace_static) */ @@ -8930,9 +8909,7 @@ declare namespace WebAssembly { /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Global) */ interface Global { - /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Global/value) */ value: ValueTypeMap[T]; - /** [MDN Reference](https://developer.mozilla.org/docs/WebAssembly/JavaScript_interface/Global/valueOf) */ valueOf(): ValueTypeMap[T]; } @@ -9210,7 +9187,9 @@ declare var onlanguagechange: ((this: DedicatedWorkerGlobalScope, ev: Event) => declare var onoffline: ((this: DedicatedWorkerGlobalScope, ev: Event) => any) | null; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/online_event) */ declare var ononline: ((this: DedicatedWorkerGlobalScope, ev: Event) => any) | null; +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/rejectionhandled_event) */ declare var onrejectionhandled: ((this: DedicatedWorkerGlobalScope, ev: PromiseRejectionEvent) => any) | null; +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/WorkerGlobalScope/unhandledrejection_event) */ declare var onunhandledrejection: ((this: DedicatedWorkerGlobalScope, ev: PromiseRejectionEvent) => any) | null; /** * Returns workerGlobal. @@ -9235,24 +9214,24 @@ declare var fonts: FontFaceSet; /** * Available only in secure contexts. * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/caches) + * [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/caches) */ declare var caches: CacheStorage; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crossOriginIsolated) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/crossOriginIsolated) */ declare var crossOriginIsolated: boolean; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/crypto_property) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/crypto) */ declare var crypto: Crypto; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/indexedDB) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/indexedDB) */ declare var indexedDB: IDBFactory; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/isSecureContext) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/isSecureContext) */ declare var isSecureContext: boolean; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/origin) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/origin) */ declare var origin: string; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/performance_property) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/performance) */ declare var performance: Performance; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/atob) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/atob) */ declare function atob(data: string): string; -/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/btoa) */ +/** [MDN Reference](https://developer.mozilla.org/docs/Web/API/Window/btoa) */ declare function btoa(data: string): string; /** [MDN Reference](https://developer.mozilla.org/docs/Web/API/clearInterval) */ declare function clearInterval(id: number | undefined): void; @@ -9329,7 +9308,7 @@ type ReportList = Report[]; type RequestInfo = Request | string; type TexImageSource = ImageBitmap | ImageData | OffscreenCanvas | VideoFrame; type TimerHandler = string | Function; -type Transferable = OffscreenCanvas | ImageBitmap | MessagePort | ReadableStream | WritableStream | TransformStream | VideoFrame | ArrayBuffer; +type Transferable = OffscreenCanvas | ImageBitmap | MessagePort | MediaSourceHandle | ReadableStream | WritableStream | TransformStream | VideoFrame | ArrayBuffer; type Uint32List = Uint32Array | GLuint[]; type XMLHttpRequestBodyInit = Blob | BufferSource | FormData | URLSearchParams | string; type AlphaOption = "discard" | "keep"; diff --git a/src/lib/webworker.iterable.generated.d.ts b/src/lib/webworker.iterable.generated.d.ts index 852029903c7..56feaa21547 100644 --- a/src/lib/webworker.iterable.generated.d.ts +++ b/src/lib/webworker.iterable.generated.d.ts @@ -95,11 +95,7 @@ interface IDBObjectStore { } interface MessageEvent { - /** - * @deprecated - * - * [MDN Reference](https://developer.mozilla.org/docs/Web/API/MessageEvent/initMessageEvent) - */ + /** @deprecated */ initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: Iterable): void; } diff --git a/tests/baselines/reference/contextuallyTypedParametersWithInitializers1.symbols b/tests/baselines/reference/contextuallyTypedParametersWithInitializers1.symbols index b02818faea9..ba149f688e1 100644 --- a/tests/baselines/reference/contextuallyTypedParametersWithInitializers1.symbols +++ b/tests/baselines/reference/contextuallyTypedParametersWithInitializers1.symbols @@ -303,9 +303,9 @@ export function executeSomething() { >debug : Symbol(debug, Decl(contextuallyTypedParametersWithInitializers1.ts, 74, 38)) root.innerHTML = ''; ->root.innerHTML : Symbol(InnerHTML.innerHTML, Decl(lib.dom.d.ts, --, --)) +>root.innerHTML : Symbol(Element.innerHTML, Decl(lib.dom.d.ts, --, --)) >root : Symbol(root, Decl(contextuallyTypedParametersWithInitializers1.ts, 74, 20)) ->innerHTML : Symbol(InnerHTML.innerHTML, Decl(lib.dom.d.ts, --, --)) +>innerHTML : Symbol(Element.innerHTML, Decl(lib.dom.d.ts, --, --)) } }); } diff --git a/tests/baselines/reference/globalThisBlockscopedProperties.types b/tests/baselines/reference/globalThisBlockscopedProperties.types index af96b37708b..5adf98e4059 100644 --- a/tests/baselines/reference/globalThisBlockscopedProperties.types +++ b/tests/baselines/reference/globalThisBlockscopedProperties.types @@ -102,8 +102,8 @@ declare let test3: (typeof globalThis)['z'] // error > : ^^^^^^^^^^^^^^^^^ declare let themAll: keyof typeof globalThis ->themAll : "undefined" | "x" | "globalThis" | "eval" | "parseInt" | "parseFloat" | "isNaN" | "isFinite" | "decodeURI" | "decodeURIComponent" | "encodeURI" | "encodeURIComponent" | "escape" | "unescape" | "NaN" | "Infinity" | "Object" | "Function" | "String" | "Boolean" | "Number" | "Math" | "Date" | "RegExp" | "Error" | "EvalError" | "RangeError" | "ReferenceError" | "SyntaxError" | "TypeError" | "URIError" | "JSON" | "Array" | "ArrayBuffer" | "DataView" | "Int8Array" | "Uint8Array" | "Uint8ClampedArray" | "Int16Array" | "Uint16Array" | "Int32Array" | "Uint32Array" | "Float32Array" | "Float64Array" | "Intl" | "alert" | "blur" | "cancelIdleCallback" | "captureEvents" | "close" | "confirm" | "focus" | "getComputedStyle" | "getSelection" | "matchMedia" | "moveBy" | "moveTo" | "open" | "postMessage" | "print" | "prompt" | "releaseEvents" | "requestIdleCallback" | "resizeBy" | "resizeTo" | "scroll" | "scrollBy" | "scrollTo" | "stop" | "toString" | "dispatchEvent" | "cancelAnimationFrame" | "requestAnimationFrame" | "atob" | "btoa" | "clearInterval" | "clearTimeout" | "createImageBitmap" | "fetch" | "queueMicrotask" | "reportError" | "setInterval" | "setTimeout" | "structuredClone" | "addEventListener" | "removeEventListener" | "NodeFilter" | "AbortController" | "AbortSignal" | "AbstractRange" | "AnalyserNode" | "Animation" | "AnimationEffect" | "AnimationEvent" | "AnimationPlaybackEvent" | "AnimationTimeline" | "Attr" | "AudioBuffer" | "AudioBufferSourceNode" | "AudioContext" | "AudioDestinationNode" | "AudioListener" | "AudioNode" | "AudioParam" | "AudioParamMap" | "AudioProcessingEvent" | "AudioScheduledSourceNode" | "AudioWorklet" | "AudioWorkletNode" | "AuthenticatorAssertionResponse" | "AuthenticatorAttestationResponse" | "AuthenticatorResponse" | "BarProp" | "BaseAudioContext" | "BeforeUnloadEvent" | "BiquadFilterNode" | "Blob" | "BlobEvent" | "BroadcastChannel" | "ByteLengthQueuingStrategy" | "CDATASection" | "CSSAnimation" | "CSSConditionRule" | "CSSContainerRule" | "CSSCounterStyleRule" | "CSSFontFaceRule" | "CSSFontFeatureValuesRule" | "CSSFontPaletteValuesRule" | "CSSGroupingRule" | "CSSImageValue" | "CSSImportRule" | "CSSKeyframeRule" | "CSSKeyframesRule" | "CSSKeywordValue" | "CSSLayerBlockRule" | "CSSLayerStatementRule" | "CSSMathClamp" | "CSSMathInvert" | "CSSMathMax" | "CSSMathMin" | "CSSMathNegate" | "CSSMathProduct" | "CSSMathSum" | "CSSMathValue" | "CSSMatrixComponent" | "CSSMediaRule" | "CSSNamespaceRule" | "CSSNumericArray" | "CSSNumericValue" | "CSSPageRule" | "CSSPerspective" | "CSSPropertyRule" | "CSSRotate" | "CSSRule" | "CSSRuleList" | "CSSScale" | "CSSScopeRule" | "CSSSkew" | "CSSSkewX" | "CSSSkewY" | "CSSStartingStyleRule" | "CSSStyleDeclaration" | "CSSStyleRule" | "CSSStyleSheet" | "CSSStyleValue" | "CSSSupportsRule" | "CSSTransformComponent" | "CSSTransformValue" | "CSSTransition" | "CSSTranslate" | "CSSUnitValue" | "CSSUnparsedValue" | "CSSVariableReferenceValue" | "Cache" | "CacheStorage" | "CanvasCaptureMediaStreamTrack" | "CanvasGradient" | "CanvasPattern" | "CanvasRenderingContext2D" | "ChannelMergerNode" | "ChannelSplitterNode" | "CharacterData" | "Clipboard" | "ClipboardEvent" | "ClipboardItem" | "CloseEvent" | "Comment" | "CompositionEvent" | "CompressionStream" | "ConstantSourceNode" | "ContentVisibilityAutoStateChangeEvent" | "ConvolverNode" | "CountQueuingStrategy" | "Credential" | "CredentialsContainer" | "Crypto" | "CryptoKey" | "CustomElementRegistry" | "CustomEvent" | "CustomStateSet" | "DOMException" | "DOMImplementation" | "DOMMatrix" | "SVGMatrix" | "WebKitCSSMatrix" | "DOMMatrixReadOnly" | "DOMParser" | "DOMPoint" | "SVGPoint" | "DOMPointReadOnly" | "DOMQuad" | "DOMRect" | "SVGRect" | "DOMRectList" | "DOMRectReadOnly" | "DOMStringList" | "DOMStringMap" | "DOMTokenList" | "DataTransfer" | "DataTransferItem" | "DataTransferItemList" | "DecompressionStream" | "DelayNode" | "DeviceMotionEvent" | "DeviceOrientationEvent" | "Document" | "DocumentFragment" | "DocumentTimeline" | "DocumentType" | "DragEvent" | "DynamicsCompressorNode" | "Element" | "ElementInternals" | "EncodedVideoChunk" | "ErrorEvent" | "Event" | "EventCounts" | "EventSource" | "EventTarget" | "External" | "File" | "FileList" | "FileReader" | "FileSystem" | "FileSystemDirectoryEntry" | "FileSystemDirectoryHandle" | "FileSystemDirectoryReader" | "FileSystemEntry" | "FileSystemFileEntry" | "FileSystemFileHandle" | "FileSystemHandle" | "FileSystemWritableFileStream" | "FocusEvent" | "FontFace" | "FontFaceSet" | "FontFaceSetLoadEvent" | "FormData" | "FormDataEvent" | "GainNode" | "Gamepad" | "GamepadButton" | "GamepadEvent" | "GamepadHapticActuator" | "Geolocation" | "GeolocationCoordinates" | "GeolocationPosition" | "GeolocationPositionError" | "HTMLAllCollection" | "HTMLAnchorElement" | "HTMLAreaElement" | "HTMLAudioElement" | "HTMLBRElement" | "HTMLBaseElement" | "HTMLBodyElement" | "HTMLButtonElement" | "HTMLCanvasElement" | "HTMLCollection" | "HTMLDListElement" | "HTMLDataElement" | "HTMLDataListElement" | "HTMLDetailsElement" | "HTMLDialogElement" | "HTMLDirectoryElement" | "HTMLDivElement" | "HTMLDocument" | "HTMLElement" | "HTMLEmbedElement" | "HTMLFieldSetElement" | "HTMLFontElement" | "HTMLFormControlsCollection" | "HTMLFormElement" | "HTMLFrameElement" | "HTMLFrameSetElement" | "HTMLHRElement" | "HTMLHeadElement" | "HTMLHeadingElement" | "HTMLHtmlElement" | "HTMLIFrameElement" | "HTMLImageElement" | "HTMLInputElement" | "HTMLLIElement" | "HTMLLabelElement" | "HTMLLegendElement" | "HTMLLinkElement" | "HTMLMapElement" | "HTMLMarqueeElement" | "HTMLMediaElement" | "HTMLMenuElement" | "HTMLMetaElement" | "HTMLMeterElement" | "HTMLModElement" | "HTMLOListElement" | "HTMLObjectElement" | "HTMLOptGroupElement" | "HTMLOptionElement" | "HTMLOptionsCollection" | "HTMLOutputElement" | "HTMLParagraphElement" | "HTMLParamElement" | "HTMLPictureElement" | "HTMLPreElement" | "HTMLProgressElement" | "HTMLQuoteElement" | "HTMLScriptElement" | "HTMLSelectElement" | "HTMLSlotElement" | "HTMLSourceElement" | "HTMLSpanElement" | "HTMLStyleElement" | "HTMLTableCaptionElement" | "HTMLTableCellElement" | "HTMLTableColElement" | "HTMLTableElement" | "HTMLTableRowElement" | "HTMLTableSectionElement" | "HTMLTemplateElement" | "HTMLTextAreaElement" | "HTMLTimeElement" | "HTMLTitleElement" | "HTMLTrackElement" | "HTMLUListElement" | "HTMLUnknownElement" | "HTMLVideoElement" | "HashChangeEvent" | "Headers" | "Highlight" | "HighlightRegistry" | "History" | "IDBCursor" | "IDBCursorWithValue" | "IDBDatabase" | "IDBFactory" | "IDBIndex" | "IDBKeyRange" | "IDBObjectStore" | "IDBOpenDBRequest" | "IDBRequest" | "IDBTransaction" | "IDBVersionChangeEvent" | "IIRFilterNode" | "IdleDeadline" | "ImageBitmap" | "ImageBitmapRenderingContext" | "ImageData" | "InputDeviceInfo" | "InputEvent" | "IntersectionObserver" | "IntersectionObserverEntry" | "KeyboardEvent" | "KeyframeEffect" | "LargestContentfulPaint" | "Location" | "Lock" | "LockManager" | "MIDIAccess" | "MIDIConnectionEvent" | "MIDIInput" | "MIDIInputMap" | "MIDIMessageEvent" | "MIDIOutput" | "MIDIOutputMap" | "MIDIPort" | "MathMLElement" | "MediaCapabilities" | "MediaDeviceInfo" | "MediaDevices" | "MediaElementAudioSourceNode" | "MediaEncryptedEvent" | "MediaError" | "MediaKeyMessageEvent" | "MediaKeySession" | "MediaKeyStatusMap" | "MediaKeySystemAccess" | "MediaKeys" | "MediaList" | "MediaMetadata" | "MediaQueryList" | "MediaQueryListEvent" | "MediaRecorder" | "MediaSession" | "MediaSource" | "MediaStream" | "MediaStreamAudioDestinationNode" | "MediaStreamAudioSourceNode" | "MediaStreamTrack" | "MediaStreamTrackEvent" | "MessageChannel" | "MessageEvent" | "MessagePort" | "MimeType" | "MimeTypeArray" | "MouseEvent" | "MutationEvent" | "MutationObserver" | "MutationRecord" | "NamedNodeMap" | "NavigationPreloadManager" | "Navigator" | "Node" | "NodeIterator" | "NodeList" | "Notification" | "OfflineAudioCompletionEvent" | "OfflineAudioContext" | "OffscreenCanvas" | "OffscreenCanvasRenderingContext2D" | "OscillatorNode" | "OverconstrainedError" | "PageTransitionEvent" | "PannerNode" | "Path2D" | "PaymentMethodChangeEvent" | "PaymentRequest" | "PaymentRequestUpdateEvent" | "PaymentResponse" | "Performance" | "PerformanceEntry" | "PerformanceEventTiming" | "PerformanceMark" | "PerformanceMeasure" | "PerformanceNavigation" | "PerformanceNavigationTiming" | "PerformanceObserver" | "PerformanceObserverEntryList" | "PerformancePaintTiming" | "PerformanceResourceTiming" | "PerformanceServerTiming" | "PerformanceTiming" | "PeriodicWave" | "PermissionStatus" | "Permissions" | "PictureInPictureEvent" | "PictureInPictureWindow" | "Plugin" | "PluginArray" | "PointerEvent" | "PopStateEvent" | "ProcessingInstruction" | "ProgressEvent" | "PromiseRejectionEvent" | "PublicKeyCredential" | "PushManager" | "PushSubscription" | "PushSubscriptionOptions" | "RTCCertificate" | "RTCDTMFSender" | "RTCDTMFToneChangeEvent" | "RTCDataChannel" | "RTCDataChannelEvent" | "RTCDtlsTransport" | "RTCEncodedAudioFrame" | "RTCEncodedVideoFrame" | "RTCError" | "RTCErrorEvent" | "RTCIceCandidate" | "RTCIceTransport" | "RTCPeerConnection" | "RTCPeerConnectionIceErrorEvent" | "RTCPeerConnectionIceEvent" | "RTCRtpReceiver" | "RTCRtpScriptTransform" | "RTCRtpSender" | "RTCRtpTransceiver" | "RTCSctpTransport" | "RTCSessionDescription" | "RTCStatsReport" | "RTCTrackEvent" | "RadioNodeList" | "Range" | "ReadableByteStreamController" | "ReadableStream" | "ReadableStreamBYOBReader" | "ReadableStreamBYOBRequest" | "ReadableStreamDefaultController" | "ReadableStreamDefaultReader" | "RemotePlayback" | "Report" | "ReportBody" | "ReportingObserver" | "Request" | "ResizeObserver" | "ResizeObserverEntry" | "ResizeObserverSize" | "Response" | "SVGAElement" | "SVGAngle" | "SVGAnimateElement" | "SVGAnimateMotionElement" | "SVGAnimateTransformElement" | "SVGAnimatedAngle" | "SVGAnimatedBoolean" | "SVGAnimatedEnumeration" | "SVGAnimatedInteger" | "SVGAnimatedLength" | "SVGAnimatedLengthList" | "SVGAnimatedNumber" | "SVGAnimatedNumberList" | "SVGAnimatedPreserveAspectRatio" | "SVGAnimatedRect" | "SVGAnimatedString" | "SVGAnimatedTransformList" | "SVGAnimationElement" | "SVGCircleElement" | "SVGClipPathElement" | "SVGComponentTransferFunctionElement" | "SVGDefsElement" | "SVGDescElement" | "SVGElement" | "SVGEllipseElement" | "SVGFEBlendElement" | "SVGFEColorMatrixElement" | "SVGFEComponentTransferElement" | "SVGFECompositeElement" | "SVGFEConvolveMatrixElement" | "SVGFEDiffuseLightingElement" | "SVGFEDisplacementMapElement" | "SVGFEDistantLightElement" | "SVGFEDropShadowElement" | "SVGFEFloodElement" | "SVGFEFuncAElement" | "SVGFEFuncBElement" | "SVGFEFuncGElement" | "SVGFEFuncRElement" | "SVGFEGaussianBlurElement" | "SVGFEImageElement" | "SVGFEMergeElement" | "SVGFEMergeNodeElement" | "SVGFEMorphologyElement" | "SVGFEOffsetElement" | "SVGFEPointLightElement" | "SVGFESpecularLightingElement" | "SVGFESpotLightElement" | "SVGFETileElement" | "SVGFETurbulenceElement" | "SVGFilterElement" | "SVGForeignObjectElement" | "SVGGElement" | "SVGGeometryElement" | "SVGGradientElement" | "SVGGraphicsElement" | "SVGImageElement" | "SVGLength" | "SVGLengthList" | "SVGLineElement" | "SVGLinearGradientElement" | "SVGMPathElement" | "SVGMarkerElement" | "SVGMaskElement" | "SVGMetadataElement" | "SVGNumber" | "SVGNumberList" | "SVGPathElement" | "SVGPatternElement" | "SVGPointList" | "SVGPolygonElement" | "SVGPolylineElement" | "SVGPreserveAspectRatio" | "SVGRadialGradientElement" | "SVGRectElement" | "SVGSVGElement" | "SVGScriptElement" | "SVGSetElement" | "SVGStopElement" | "SVGStringList" | "SVGStyleElement" | "SVGSwitchElement" | "SVGSymbolElement" | "SVGTSpanElement" | "SVGTextContentElement" | "SVGTextElement" | "SVGTextPathElement" | "SVGTextPositioningElement" | "SVGTitleElement" | "SVGTransform" | "SVGTransformList" | "SVGUnitTypes" | "SVGUseElement" | "SVGViewElement" | "Screen" | "ScreenOrientation" | "ScriptProcessorNode" | "SecurityPolicyViolationEvent" | "Selection" | "ServiceWorker" | "ServiceWorkerContainer" | "ServiceWorkerRegistration" | "ShadowRoot" | "SharedWorker" | "SourceBuffer" | "SourceBufferList" | "SpeechRecognitionAlternative" | "SpeechRecognitionResult" | "SpeechRecognitionResultList" | "SpeechSynthesis" | "SpeechSynthesisErrorEvent" | "SpeechSynthesisEvent" | "SpeechSynthesisUtterance" | "SpeechSynthesisVoice" | "StaticRange" | "StereoPannerNode" | "Storage" | "StorageEvent" | "StorageManager" | "StylePropertyMap" | "StylePropertyMapReadOnly" | "StyleSheet" | "StyleSheetList" | "SubmitEvent" | "SubtleCrypto" | "Text" | "TextDecoder" | "TextDecoderStream" | "TextEncoder" | "TextEncoderStream" | "TextMetrics" | "TextTrack" | "TextTrackCue" | "TextTrackCueList" | "TextTrackList" | "TimeRanges" | "ToggleEvent" | "Touch" | "TouchEvent" | "TouchList" | "TrackEvent" | "TransformStream" | "TransformStreamDefaultController" | "TransitionEvent" | "TreeWalker" | "UIEvent" | "URL" | "webkitURL" | "URLSearchParams" | "UserActivation" | "VTTCue" | "VTTRegion" | "ValidityState" | "VideoColorSpace" | "VideoDecoder" | "VideoEncoder" | "VideoFrame" | "VideoPlaybackQuality" | "VisualViewport" | "WakeLock" | "WakeLockSentinel" | "WaveShaperNode" | "WebGL2RenderingContext" | "WebGLActiveInfo" | "WebGLBuffer" | "WebGLContextEvent" | "WebGLFramebuffer" | "WebGLProgram" | "WebGLQuery" | "WebGLRenderbuffer" | "WebGLRenderingContext" | "WebGLSampler" | "WebGLShader" | "WebGLShaderPrecisionFormat" | "WebGLSync" | "WebGLTexture" | "WebGLTransformFeedback" | "WebGLUniformLocation" | "WebGLVertexArrayObject" | "WebSocket" | "WebTransport" | "WebTransportBidirectionalStream" | "WebTransportDatagramDuplexStream" | "WebTransportError" | "WheelEvent" | "Window" | "Worker" | "Worklet" | "WritableStream" | "WritableStreamDefaultController" | "WritableStreamDefaultWriter" | "XMLDocument" | "XMLHttpRequest" | "XMLHttpRequestEventTarget" | "XMLHttpRequestUpload" | "XMLSerializer" | "XPathEvaluator" | "XPathExpression" | "XPathResult" | "XSLTProcessor" | "console" | "CSS" | "WebAssembly" | "Audio" | "Image" | "Option" | "clientInformation" | "closed" | "customElements" | "devicePixelRatio" | "document" | "event" | "external" | "frameElement" | "frames" | "history" | "innerHeight" | "innerWidth" | "length" | "location" | "locationbar" | "menubar" | "navigator" | "ondevicemotion" | "ondeviceorientation" | "ondeviceorientationabsolute" | "onorientationchange" | "opener" | "orientation" | "outerHeight" | "outerWidth" | "pageXOffset" | "pageYOffset" | "parent" | "personalbar" | "screen" | "screenLeft" | "screenTop" | "screenX" | "screenY" | "scrollX" | "scrollY" | "scrollbars" | "self" | "speechSynthesis" | "status" | "statusbar" | "toolbar" | "top" | "visualViewport" | "window" | "onabort" | "onanimationcancel" | "onanimationend" | "onanimationiteration" | "onanimationstart" | "onauxclick" | "onbeforeinput" | "onbeforetoggle" | "onblur" | "oncancel" | "oncanplay" | "oncanplaythrough" | "onchange" | "onclick" | "onclose" | "oncontextmenu" | "oncopy" | "oncuechange" | "oncut" | "ondblclick" | "ondrag" | "ondragend" | "ondragenter" | "ondragleave" | "ondragover" | "ondragstart" | "ondrop" | "ondurationchange" | "onemptied" | "onended" | "onerror" | "onfocus" | "onformdata" | "ongotpointercapture" | "oninput" | "oninvalid" | "onkeydown" | "onkeypress" | "onkeyup" | "onload" | "onloadeddata" | "onloadedmetadata" | "onloadstart" | "onlostpointercapture" | "onmousedown" | "onmouseenter" | "onmouseleave" | "onmousemove" | "onmouseout" | "onmouseover" | "onmouseup" | "onpaste" | "onpause" | "onplay" | "onplaying" | "onpointercancel" | "onpointerdown" | "onpointerenter" | "onpointerleave" | "onpointermove" | "onpointerout" | "onpointerover" | "onpointerup" | "onprogress" | "onratechange" | "onreset" | "onresize" | "onscroll" | "onscrollend" | "onsecuritypolicyviolation" | "onseeked" | "onseeking" | "onselect" | "onselectionchange" | "onselectstart" | "onslotchange" | "onstalled" | "onsubmit" | "onsuspend" | "ontimeupdate" | "ontoggle" | "ontouchcancel" | "ontouchend" | "ontouchmove" | "ontouchstart" | "ontransitioncancel" | "ontransitionend" | "ontransitionrun" | "ontransitionstart" | "onvolumechange" | "onwaiting" | "onwebkitanimationend" | "onwebkitanimationiteration" | "onwebkitanimationstart" | "onwebkittransitionend" | "onwheel" | "onafterprint" | "onbeforeprint" | "onbeforeunload" | "ongamepadconnected" | "ongamepaddisconnected" | "onhashchange" | "onlanguagechange" | "onmessage" | "onmessageerror" | "onoffline" | "ononline" | "onpagehide" | "onpageshow" | "onpopstate" | "onrejectionhandled" | "onstorage" | "onunhandledrejection" | "onunload" | "localStorage" | "caches" | "crossOriginIsolated" | "crypto" | "indexedDB" | "isSecureContext" | "origin" | "performance" | "sessionStorage" | "importScripts" | "ActiveXObject" | "WScript" | "WSH" | "Enumerator" | "VBArray" -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>themAll : "undefined" | "x" | "globalThis" | "eval" | "parseInt" | "parseFloat" | "isNaN" | "isFinite" | "decodeURI" | "decodeURIComponent" | "encodeURI" | "encodeURIComponent" | "escape" | "unescape" | "NaN" | "Infinity" | "Object" | "Function" | "String" | "Boolean" | "Number" | "Math" | "Date" | "RegExp" | "Error" | "EvalError" | "RangeError" | "ReferenceError" | "SyntaxError" | "TypeError" | "URIError" | "JSON" | "Array" | "ArrayBuffer" | "DataView" | "Int8Array" | "Uint8Array" | "Uint8ClampedArray" | "Int16Array" | "Uint16Array" | "Int32Array" | "Uint32Array" | "Float32Array" | "Float64Array" | "Intl" | "alert" | "blur" | "cancelIdleCallback" | "captureEvents" | "close" | "confirm" | "focus" | "getComputedStyle" | "getSelection" | "matchMedia" | "moveBy" | "moveTo" | "open" | "postMessage" | "print" | "prompt" | "releaseEvents" | "requestIdleCallback" | "resizeBy" | "resizeTo" | "scroll" | "scrollBy" | "scrollTo" | "stop" | "toString" | "dispatchEvent" | "cancelAnimationFrame" | "requestAnimationFrame" | "atob" | "btoa" | "clearInterval" | "clearTimeout" | "createImageBitmap" | "fetch" | "queueMicrotask" | "reportError" | "setInterval" | "setTimeout" | "structuredClone" | "addEventListener" | "removeEventListener" | "NodeFilter" | "AbortController" | "AbortSignal" | "AbstractRange" | "AnalyserNode" | "Animation" | "AnimationEffect" | "AnimationEvent" | "AnimationPlaybackEvent" | "AnimationTimeline" | "Attr" | "AudioBuffer" | "AudioBufferSourceNode" | "AudioContext" | "AudioDestinationNode" | "AudioListener" | "AudioNode" | "AudioParam" | "AudioParamMap" | "AudioProcessingEvent" | "AudioScheduledSourceNode" | "AudioWorklet" | "AudioWorkletNode" | "AuthenticatorAssertionResponse" | "AuthenticatorAttestationResponse" | "AuthenticatorResponse" | "BarProp" | "BaseAudioContext" | "BeforeUnloadEvent" | "BiquadFilterNode" | "Blob" | "BlobEvent" | "BroadcastChannel" | "ByteLengthQueuingStrategy" | "CDATASection" | "CSSAnimation" | "CSSConditionRule" | "CSSContainerRule" | "CSSCounterStyleRule" | "CSSFontFaceRule" | "CSSFontFeatureValuesRule" | "CSSFontPaletteValuesRule" | "CSSGroupingRule" | "CSSImageValue" | "CSSImportRule" | "CSSKeyframeRule" | "CSSKeyframesRule" | "CSSKeywordValue" | "CSSLayerBlockRule" | "CSSLayerStatementRule" | "CSSMathClamp" | "CSSMathInvert" | "CSSMathMax" | "CSSMathMin" | "CSSMathNegate" | "CSSMathProduct" | "CSSMathSum" | "CSSMathValue" | "CSSMatrixComponent" | "CSSMediaRule" | "CSSNamespaceRule" | "CSSNumericArray" | "CSSNumericValue" | "CSSPageRule" | "CSSPerspective" | "CSSPropertyRule" | "CSSRotate" | "CSSRule" | "CSSRuleList" | "CSSScale" | "CSSScopeRule" | "CSSSkew" | "CSSSkewX" | "CSSSkewY" | "CSSStartingStyleRule" | "CSSStyleDeclaration" | "CSSStyleRule" | "CSSStyleSheet" | "CSSStyleValue" | "CSSSupportsRule" | "CSSTransformComponent" | "CSSTransformValue" | "CSSTransition" | "CSSTranslate" | "CSSUnitValue" | "CSSUnparsedValue" | "CSSVariableReferenceValue" | "Cache" | "CacheStorage" | "CanvasCaptureMediaStreamTrack" | "CanvasGradient" | "CanvasPattern" | "CanvasRenderingContext2D" | "ChannelMergerNode" | "ChannelSplitterNode" | "CharacterData" | "Clipboard" | "ClipboardEvent" | "ClipboardItem" | "CloseEvent" | "Comment" | "CompositionEvent" | "CompressionStream" | "ConstantSourceNode" | "ContentVisibilityAutoStateChangeEvent" | "ConvolverNode" | "CountQueuingStrategy" | "Credential" | "CredentialsContainer" | "Crypto" | "CryptoKey" | "CustomElementRegistry" | "CustomEvent" | "CustomStateSet" | "DOMException" | "DOMImplementation" | "DOMMatrix" | "SVGMatrix" | "WebKitCSSMatrix" | "DOMMatrixReadOnly" | "DOMParser" | "DOMPoint" | "SVGPoint" | "DOMPointReadOnly" | "DOMQuad" | "DOMRect" | "SVGRect" | "DOMRectList" | "DOMRectReadOnly" | "DOMStringList" | "DOMStringMap" | "DOMTokenList" | "DataTransfer" | "DataTransferItem" | "DataTransferItemList" | "DecompressionStream" | "DelayNode" | "DeviceMotionEvent" | "DeviceOrientationEvent" | "Document" | "DocumentFragment" | "DocumentTimeline" | "DocumentType" | "DragEvent" | "DynamicsCompressorNode" | "Element" | "ElementInternals" | "EncodedVideoChunk" | "ErrorEvent" | "Event" | "EventCounts" | "EventSource" | "EventTarget" | "External" | "File" | "FileList" | "FileReader" | "FileSystem" | "FileSystemDirectoryEntry" | "FileSystemDirectoryHandle" | "FileSystemDirectoryReader" | "FileSystemEntry" | "FileSystemFileEntry" | "FileSystemFileHandle" | "FileSystemHandle" | "FileSystemWritableFileStream" | "FocusEvent" | "FontFace" | "FontFaceSet" | "FontFaceSetLoadEvent" | "FormData" | "FormDataEvent" | "GainNode" | "Gamepad" | "GamepadButton" | "GamepadEvent" | "GamepadHapticActuator" | "Geolocation" | "GeolocationCoordinates" | "GeolocationPosition" | "GeolocationPositionError" | "HTMLAllCollection" | "HTMLAnchorElement" | "HTMLAreaElement" | "HTMLAudioElement" | "HTMLBRElement" | "HTMLBaseElement" | "HTMLBodyElement" | "HTMLButtonElement" | "HTMLCanvasElement" | "HTMLCollection" | "HTMLDListElement" | "HTMLDataElement" | "HTMLDataListElement" | "HTMLDetailsElement" | "HTMLDialogElement" | "HTMLDirectoryElement" | "HTMLDivElement" | "HTMLDocument" | "HTMLElement" | "HTMLEmbedElement" | "HTMLFieldSetElement" | "HTMLFontElement" | "HTMLFormControlsCollection" | "HTMLFormElement" | "HTMLFrameElement" | "HTMLFrameSetElement" | "HTMLHRElement" | "HTMLHeadElement" | "HTMLHeadingElement" | "HTMLHtmlElement" | "HTMLIFrameElement" | "HTMLImageElement" | "HTMLInputElement" | "HTMLLIElement" | "HTMLLabelElement" | "HTMLLegendElement" | "HTMLLinkElement" | "HTMLMapElement" | "HTMLMarqueeElement" | "HTMLMediaElement" | "HTMLMenuElement" | "HTMLMetaElement" | "HTMLMeterElement" | "HTMLModElement" | "HTMLOListElement" | "HTMLObjectElement" | "HTMLOptGroupElement" | "HTMLOptionElement" | "HTMLOptionsCollection" | "HTMLOutputElement" | "HTMLParagraphElement" | "HTMLParamElement" | "HTMLPictureElement" | "HTMLPreElement" | "HTMLProgressElement" | "HTMLQuoteElement" | "HTMLScriptElement" | "HTMLSelectElement" | "HTMLSlotElement" | "HTMLSourceElement" | "HTMLSpanElement" | "HTMLStyleElement" | "HTMLTableCaptionElement" | "HTMLTableCellElement" | "HTMLTableColElement" | "HTMLTableElement" | "HTMLTableRowElement" | "HTMLTableSectionElement" | "HTMLTemplateElement" | "HTMLTextAreaElement" | "HTMLTimeElement" | "HTMLTitleElement" | "HTMLTrackElement" | "HTMLUListElement" | "HTMLUnknownElement" | "HTMLVideoElement" | "HashChangeEvent" | "Headers" | "Highlight" | "HighlightRegistry" | "History" | "IDBCursor" | "IDBCursorWithValue" | "IDBDatabase" | "IDBFactory" | "IDBIndex" | "IDBKeyRange" | "IDBObjectStore" | "IDBOpenDBRequest" | "IDBRequest" | "IDBTransaction" | "IDBVersionChangeEvent" | "IIRFilterNode" | "IdleDeadline" | "ImageBitmap" | "ImageBitmapRenderingContext" | "ImageData" | "InputDeviceInfo" | "InputEvent" | "IntersectionObserver" | "IntersectionObserverEntry" | "KeyboardEvent" | "KeyframeEffect" | "LargestContentfulPaint" | "Location" | "Lock" | "LockManager" | "MIDIAccess" | "MIDIConnectionEvent" | "MIDIInput" | "MIDIInputMap" | "MIDIMessageEvent" | "MIDIOutput" | "MIDIOutputMap" | "MIDIPort" | "MathMLElement" | "MediaCapabilities" | "MediaDeviceInfo" | "MediaDevices" | "MediaElementAudioSourceNode" | "MediaEncryptedEvent" | "MediaError" | "MediaKeyMessageEvent" | "MediaKeySession" | "MediaKeyStatusMap" | "MediaKeySystemAccess" | "MediaKeys" | "MediaList" | "MediaMetadata" | "MediaQueryList" | "MediaQueryListEvent" | "MediaRecorder" | "MediaSession" | "MediaSource" | "MediaSourceHandle" | "MediaStream" | "MediaStreamAudioDestinationNode" | "MediaStreamAudioSourceNode" | "MediaStreamTrack" | "MediaStreamTrackEvent" | "MessageChannel" | "MessageEvent" | "MessagePort" | "MimeType" | "MimeTypeArray" | "MouseEvent" | "MutationEvent" | "MutationObserver" | "MutationRecord" | "NamedNodeMap" | "NavigationPreloadManager" | "Navigator" | "Node" | "NodeIterator" | "NodeList" | "Notification" | "OfflineAudioCompletionEvent" | "OfflineAudioContext" | "OffscreenCanvas" | "OffscreenCanvasRenderingContext2D" | "OscillatorNode" | "OverconstrainedError" | "PageTransitionEvent" | "PannerNode" | "Path2D" | "PaymentMethodChangeEvent" | "PaymentRequest" | "PaymentRequestUpdateEvent" | "PaymentResponse" | "Performance" | "PerformanceEntry" | "PerformanceEventTiming" | "PerformanceMark" | "PerformanceMeasure" | "PerformanceNavigation" | "PerformanceNavigationTiming" | "PerformanceObserver" | "PerformanceObserverEntryList" | "PerformancePaintTiming" | "PerformanceResourceTiming" | "PerformanceServerTiming" | "PerformanceTiming" | "PeriodicWave" | "PermissionStatus" | "Permissions" | "PictureInPictureEvent" | "PictureInPictureWindow" | "Plugin" | "PluginArray" | "PointerEvent" | "PopStateEvent" | "ProcessingInstruction" | "ProgressEvent" | "PromiseRejectionEvent" | "PublicKeyCredential" | "PushManager" | "PushSubscription" | "PushSubscriptionOptions" | "RTCCertificate" | "RTCDTMFSender" | "RTCDTMFToneChangeEvent" | "RTCDataChannel" | "RTCDataChannelEvent" | "RTCDtlsTransport" | "RTCEncodedAudioFrame" | "RTCEncodedVideoFrame" | "RTCError" | "RTCErrorEvent" | "RTCIceCandidate" | "RTCIceTransport" | "RTCPeerConnection" | "RTCPeerConnectionIceErrorEvent" | "RTCPeerConnectionIceEvent" | "RTCRtpReceiver" | "RTCRtpScriptTransform" | "RTCRtpSender" | "RTCRtpTransceiver" | "RTCSctpTransport" | "RTCSessionDescription" | "RTCStatsReport" | "RTCTrackEvent" | "RadioNodeList" | "Range" | "ReadableByteStreamController" | "ReadableStream" | "ReadableStreamBYOBReader" | "ReadableStreamBYOBRequest" | "ReadableStreamDefaultController" | "ReadableStreamDefaultReader" | "RemotePlayback" | "Report" | "ReportBody" | "ReportingObserver" | "Request" | "ResizeObserver" | "ResizeObserverEntry" | "ResizeObserverSize" | "Response" | "SVGAElement" | "SVGAngle" | "SVGAnimateElement" | "SVGAnimateMotionElement" | "SVGAnimateTransformElement" | "SVGAnimatedAngle" | "SVGAnimatedBoolean" | "SVGAnimatedEnumeration" | "SVGAnimatedInteger" | "SVGAnimatedLength" | "SVGAnimatedLengthList" | "SVGAnimatedNumber" | "SVGAnimatedNumberList" | "SVGAnimatedPreserveAspectRatio" | "SVGAnimatedRect" | "SVGAnimatedString" | "SVGAnimatedTransformList" | "SVGAnimationElement" | "SVGCircleElement" | "SVGClipPathElement" | "SVGComponentTransferFunctionElement" | "SVGDefsElement" | "SVGDescElement" | "SVGElement" | "SVGEllipseElement" | "SVGFEBlendElement" | "SVGFEColorMatrixElement" | "SVGFEComponentTransferElement" | "SVGFECompositeElement" | "SVGFEConvolveMatrixElement" | "SVGFEDiffuseLightingElement" | "SVGFEDisplacementMapElement" | "SVGFEDistantLightElement" | "SVGFEDropShadowElement" | "SVGFEFloodElement" | "SVGFEFuncAElement" | "SVGFEFuncBElement" | "SVGFEFuncGElement" | "SVGFEFuncRElement" | "SVGFEGaussianBlurElement" | "SVGFEImageElement" | "SVGFEMergeElement" | "SVGFEMergeNodeElement" | "SVGFEMorphologyElement" | "SVGFEOffsetElement" | "SVGFEPointLightElement" | "SVGFESpecularLightingElement" | "SVGFESpotLightElement" | "SVGFETileElement" | "SVGFETurbulenceElement" | "SVGFilterElement" | "SVGForeignObjectElement" | "SVGGElement" | "SVGGeometryElement" | "SVGGradientElement" | "SVGGraphicsElement" | "SVGImageElement" | "SVGLength" | "SVGLengthList" | "SVGLineElement" | "SVGLinearGradientElement" | "SVGMPathElement" | "SVGMarkerElement" | "SVGMaskElement" | "SVGMetadataElement" | "SVGNumber" | "SVGNumberList" | "SVGPathElement" | "SVGPatternElement" | "SVGPointList" | "SVGPolygonElement" | "SVGPolylineElement" | "SVGPreserveAspectRatio" | "SVGRadialGradientElement" | "SVGRectElement" | "SVGSVGElement" | "SVGScriptElement" | "SVGSetElement" | "SVGStopElement" | "SVGStringList" | "SVGStyleElement" | "SVGSwitchElement" | "SVGSymbolElement" | "SVGTSpanElement" | "SVGTextContentElement" | "SVGTextElement" | "SVGTextPathElement" | "SVGTextPositioningElement" | "SVGTitleElement" | "SVGTransform" | "SVGTransformList" | "SVGUnitTypes" | "SVGUseElement" | "SVGViewElement" | "Screen" | "ScreenOrientation" | "ScriptProcessorNode" | "SecurityPolicyViolationEvent" | "Selection" | "ServiceWorker" | "ServiceWorkerContainer" | "ServiceWorkerRegistration" | "ShadowRoot" | "SharedWorker" | "SourceBuffer" | "SourceBufferList" | "SpeechRecognitionAlternative" | "SpeechRecognitionResult" | "SpeechRecognitionResultList" | "SpeechSynthesis" | "SpeechSynthesisErrorEvent" | "SpeechSynthesisEvent" | "SpeechSynthesisUtterance" | "SpeechSynthesisVoice" | "StaticRange" | "StereoPannerNode" | "Storage" | "StorageEvent" | "StorageManager" | "StylePropertyMap" | "StylePropertyMapReadOnly" | "StyleSheet" | "StyleSheetList" | "SubmitEvent" | "SubtleCrypto" | "Text" | "TextDecoder" | "TextDecoderStream" | "TextEncoder" | "TextEncoderStream" | "TextEvent" | "TextMetrics" | "TextTrack" | "TextTrackCue" | "TextTrackCueList" | "TextTrackList" | "TimeRanges" | "ToggleEvent" | "Touch" | "TouchEvent" | "TouchList" | "TrackEvent" | "TransformStream" | "TransformStreamDefaultController" | "TransitionEvent" | "TreeWalker" | "UIEvent" | "URL" | "webkitURL" | "URLSearchParams" | "UserActivation" | "VTTCue" | "VTTRegion" | "ValidityState" | "VideoColorSpace" | "VideoDecoder" | "VideoEncoder" | "VideoFrame" | "VideoPlaybackQuality" | "ViewTransition" | "VisualViewport" | "WakeLock" | "WakeLockSentinel" | "WaveShaperNode" | "WebGL2RenderingContext" | "WebGLActiveInfo" | "WebGLBuffer" | "WebGLContextEvent" | "WebGLFramebuffer" | "WebGLProgram" | "WebGLQuery" | "WebGLRenderbuffer" | "WebGLRenderingContext" | "WebGLSampler" | "WebGLShader" | "WebGLShaderPrecisionFormat" | "WebGLSync" | "WebGLTexture" | "WebGLTransformFeedback" | "WebGLUniformLocation" | "WebGLVertexArrayObject" | "WebSocket" | "WebTransport" | "WebTransportBidirectionalStream" | "WebTransportDatagramDuplexStream" | "WebTransportError" | "WheelEvent" | "Window" | "Worker" | "Worklet" | "WritableStream" | "WritableStreamDefaultController" | "WritableStreamDefaultWriter" | "XMLDocument" | "XMLHttpRequest" | "XMLHttpRequestEventTarget" | "XMLHttpRequestUpload" | "XMLSerializer" | "XPathEvaluator" | "XPathExpression" | "XPathResult" | "XSLTProcessor" | "console" | "CSS" | "WebAssembly" | "Audio" | "Image" | "Option" | "clientInformation" | "closed" | "customElements" | "devicePixelRatio" | "document" | "event" | "external" | "frameElement" | "frames" | "history" | "innerHeight" | "innerWidth" | "length" | "location" | "locationbar" | "menubar" | "navigator" | "ondevicemotion" | "ondeviceorientation" | "ondeviceorientationabsolute" | "onorientationchange" | "opener" | "orientation" | "outerHeight" | "outerWidth" | "pageXOffset" | "pageYOffset" | "parent" | "personalbar" | "screen" | "screenLeft" | "screenTop" | "screenX" | "screenY" | "scrollX" | "scrollY" | "scrollbars" | "self" | "speechSynthesis" | "status" | "statusbar" | "toolbar" | "top" | "visualViewport" | "window" | "onabort" | "onanimationcancel" | "onanimationend" | "onanimationiteration" | "onanimationstart" | "onauxclick" | "onbeforeinput" | "onbeforetoggle" | "onblur" | "oncancel" | "oncanplay" | "oncanplaythrough" | "onchange" | "onclick" | "onclose" | "oncontextlost" | "oncontextmenu" | "oncontextrestored" | "oncopy" | "oncuechange" | "oncut" | "ondblclick" | "ondrag" | "ondragend" | "ondragenter" | "ondragleave" | "ondragover" | "ondragstart" | "ondrop" | "ondurationchange" | "onemptied" | "onended" | "onerror" | "onfocus" | "onformdata" | "ongotpointercapture" | "oninput" | "oninvalid" | "onkeydown" | "onkeypress" | "onkeyup" | "onload" | "onloadeddata" | "onloadedmetadata" | "onloadstart" | "onlostpointercapture" | "onmousedown" | "onmouseenter" | "onmouseleave" | "onmousemove" | "onmouseout" | "onmouseover" | "onmouseup" | "onpaste" | "onpause" | "onplay" | "onplaying" | "onpointercancel" | "onpointerdown" | "onpointerenter" | "onpointerleave" | "onpointermove" | "onpointerout" | "onpointerover" | "onpointerup" | "onprogress" | "onratechange" | "onreset" | "onresize" | "onscroll" | "onscrollend" | "onsecuritypolicyviolation" | "onseeked" | "onseeking" | "onselect" | "onselectionchange" | "onselectstart" | "onslotchange" | "onstalled" | "onsubmit" | "onsuspend" | "ontimeupdate" | "ontoggle" | "ontouchcancel" | "ontouchend" | "ontouchmove" | "ontouchstart" | "ontransitioncancel" | "ontransitionend" | "ontransitionrun" | "ontransitionstart" | "onvolumechange" | "onwaiting" | "onwebkitanimationend" | "onwebkitanimationiteration" | "onwebkitanimationstart" | "onwebkittransitionend" | "onwheel" | "onafterprint" | "onbeforeprint" | "onbeforeunload" | "ongamepadconnected" | "ongamepaddisconnected" | "onhashchange" | "onlanguagechange" | "onmessage" | "onmessageerror" | "onoffline" | "ononline" | "onpagehide" | "onpageshow" | "onpopstate" | "onrejectionhandled" | "onstorage" | "onunhandledrejection" | "onunload" | "localStorage" | "caches" | "crossOriginIsolated" | "crypto" | "indexedDB" | "isSecureContext" | "origin" | "performance" | "sessionStorage" | "importScripts" | "ActiveXObject" | "WScript" | "WSH" | "Enumerator" | "VBArray" +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >globalThis : typeof globalThis > : ^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/importMeta(module=commonjs,target=es5).types b/tests/baselines/reference/importMeta(module=commonjs,target=es5).types index 62a9f5654ba..30755ca82a3 100644 --- a/tests/baselines/reference/importMeta(module=commonjs,target=es5).types +++ b/tests/baselines/reference/importMeta(module=commonjs,target=es5).types @@ -25,8 +25,8 @@ > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -99,8 +99,8 @@ > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ >blob : Blob diff --git a/tests/baselines/reference/importMeta(module=commonjs,target=esnext).types b/tests/baselines/reference/importMeta(module=commonjs,target=esnext).types index 62a9f5654ba..30755ca82a3 100644 --- a/tests/baselines/reference/importMeta(module=commonjs,target=esnext).types +++ b/tests/baselines/reference/importMeta(module=commonjs,target=esnext).types @@ -25,8 +25,8 @@ > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -99,8 +99,8 @@ > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ >blob : Blob diff --git a/tests/baselines/reference/importMeta(module=es2020,target=es5).types b/tests/baselines/reference/importMeta(module=es2020,target=es5).types index 62a9f5654ba..30755ca82a3 100644 --- a/tests/baselines/reference/importMeta(module=es2020,target=es5).types +++ b/tests/baselines/reference/importMeta(module=es2020,target=es5).types @@ -25,8 +25,8 @@ > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -99,8 +99,8 @@ > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ >blob : Blob diff --git a/tests/baselines/reference/importMeta(module=es2020,target=esnext).types b/tests/baselines/reference/importMeta(module=es2020,target=esnext).types index 62a9f5654ba..30755ca82a3 100644 --- a/tests/baselines/reference/importMeta(module=es2020,target=esnext).types +++ b/tests/baselines/reference/importMeta(module=es2020,target=esnext).types @@ -25,8 +25,8 @@ > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -99,8 +99,8 @@ > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ >blob : Blob diff --git a/tests/baselines/reference/importMeta(module=esnext,target=es5).types b/tests/baselines/reference/importMeta(module=esnext,target=es5).types index 62a9f5654ba..30755ca82a3 100644 --- a/tests/baselines/reference/importMeta(module=esnext,target=es5).types +++ b/tests/baselines/reference/importMeta(module=esnext,target=es5).types @@ -25,8 +25,8 @@ > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -99,8 +99,8 @@ > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ >blob : Blob diff --git a/tests/baselines/reference/importMeta(module=esnext,target=esnext).types b/tests/baselines/reference/importMeta(module=esnext,target=esnext).types index 62a9f5654ba..30755ca82a3 100644 --- a/tests/baselines/reference/importMeta(module=esnext,target=esnext).types +++ b/tests/baselines/reference/importMeta(module=esnext,target=esnext).types @@ -25,8 +25,8 @@ > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -99,8 +99,8 @@ > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ >blob : Blob diff --git a/tests/baselines/reference/importMeta(module=system,target=es5).types b/tests/baselines/reference/importMeta(module=system,target=es5).types index 62a9f5654ba..30755ca82a3 100644 --- a/tests/baselines/reference/importMeta(module=system,target=es5).types +++ b/tests/baselines/reference/importMeta(module=system,target=es5).types @@ -25,8 +25,8 @@ > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -99,8 +99,8 @@ > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ >blob : Blob diff --git a/tests/baselines/reference/importMeta(module=system,target=esnext).types b/tests/baselines/reference/importMeta(module=system,target=esnext).types index 62a9f5654ba..30755ca82a3 100644 --- a/tests/baselines/reference/importMeta(module=system,target=esnext).types +++ b/tests/baselines/reference/importMeta(module=system,target=esnext).types @@ -25,8 +25,8 @@ > : ^^^^^^ >new URL("../hamsters.jpg", import.meta.url) : URL > : ^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >"../hamsters.jpg" : "../hamsters.jpg" > : ^^^^^^^^^^^^^^^^^ >import.meta.url : string @@ -99,8 +99,8 @@ > : ^^^^^^ >URL.createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ ->URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string): boolean; createObjectURL(obj: Blob | MediaSource): string; revokeObjectURL(url: string): void; } -> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ +>URL : { new (url: string | URL, base?: string | URL): URL; prototype: URL; canParse(url: string | URL, base?: string | URL): boolean; createObjectURL(obj: Blob | MediaSource): string; parse(url: string | URL, base?: string | URL): URL | null; revokeObjectURL(url: string): void; } +> : ^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ >createObjectURL : (obj: Blob | MediaSource) => string > : ^ ^^ ^^^^^ >blob : Blob diff --git a/tests/baselines/reference/mappedTypeRecursiveInference.errors.txt b/tests/baselines/reference/mappedTypeRecursiveInference.errors.txt index d10dfc24fde..5fa6f173870 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference.errors.txt +++ b/tests/baselines/reference/mappedTypeRecursiveInference.errors.txt @@ -1,11 +1,11 @@ -mappedTypeRecursiveInference.ts(19,18): error TS2345: Argument of type 'XMLHttpRequest' is not assignable to parameter of type 'Deep<{ onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; }>'. +mappedTypeRecursiveInference.ts(19,18): error TS2345: Argument of type 'XMLHttpRequest' is not assignable to parameter of type 'Deep<{ onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; }>'. The types of 'responseXML.body.offsetParent.shadowRoot.adoptedStyleSheets' are incompatible between these types. - Type 'CSSStyleSheet[]' is not assignable to type 'Deep<{ readonly cssRules: { readonly length: any; item: any; }; readonly ownerRule: { cssText: any; readonly parentRule: any; readonly parentStyleSheet: any; readonly type: any; readonly STYLE_RULE: any; readonly CHARSET_RULE: any; readonly IMPORT_RULE: any; readonly MEDIA_RULE: any; readonly FONT_FACE_RULE: any; readonly PAGE_RULE: any; readonly NAMESPACE_RULE: any; readonly KEYFRAMES_RULE: any; readonly KEYFRAME_RULE: any; readonly SUPPORTS_RULE: any; readonly COUNTER_STYLE_RULE: any; readonly FONT_FEATURE_VALUES_RULE: any; }; readonly rules: { readonly length: any; item: any; }; addRule: unknown; deleteRule: unknown; insertRule: unknown; removeRule: unknown; replace: unknown; replaceSync: unknown; disabled: { valueOf: any; }; readonly href: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly media: { readonly length: any; mediaText: any; toString: any; appendMedium: any; deleteMedium: any; item: any; }; readonly ownerNode: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { readonly ownerDocument: any; readonly target: any; data: any; readonly length: any; appendData: any; deleteData: any; insertData: any; replaceData: any; substringData: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly sheet: any; }; readonly parentStyleSheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly type: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>[]'. - Type 'CSSStyleSheet' is not assignable to type 'Deep<{ readonly cssRules: { readonly length: any; item: any; }; readonly ownerRule: { cssText: any; readonly parentRule: any; readonly parentStyleSheet: any; readonly type: any; readonly STYLE_RULE: any; readonly CHARSET_RULE: any; readonly IMPORT_RULE: any; readonly MEDIA_RULE: any; readonly FONT_FACE_RULE: any; readonly PAGE_RULE: any; readonly NAMESPACE_RULE: any; readonly KEYFRAMES_RULE: any; readonly KEYFRAME_RULE: any; readonly SUPPORTS_RULE: any; readonly COUNTER_STYLE_RULE: any; readonly FONT_FEATURE_VALUES_RULE: any; }; readonly rules: { readonly length: any; item: any; }; addRule: unknown; deleteRule: unknown; insertRule: unknown; removeRule: unknown; replace: unknown; replaceSync: unknown; disabled: { valueOf: any; }; readonly href: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly media: { readonly length: any; mediaText: any; toString: any; appendMedium: any; deleteMedium: any; item: any; }; readonly ownerNode: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { readonly ownerDocument: any; readonly target: any; data: any; readonly length: any; appendData: any; deleteData: any; insertData: any; replaceData: any; substringData: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly sheet: any; }; readonly parentStyleSheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly type: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>'. + Type 'CSSStyleSheet[]' is not assignable to type 'Deep<{ readonly cssRules: { readonly length: any; item: any; }; readonly ownerRule: { cssText: any; readonly parentRule: any; readonly parentStyleSheet: any; readonly type: any; readonly STYLE_RULE: any; readonly CHARSET_RULE: any; readonly IMPORT_RULE: any; readonly MEDIA_RULE: any; readonly FONT_FACE_RULE: any; readonly PAGE_RULE: any; readonly NAMESPACE_RULE: any; readonly KEYFRAMES_RULE: any; readonly KEYFRAME_RULE: any; readonly SUPPORTS_RULE: any; readonly COUNTER_STYLE_RULE: any; readonly FONT_FEATURE_VALUES_RULE: any; }; readonly rules: { readonly length: any; item: any; }; addRule: unknown; deleteRule: unknown; insertRule: unknown; removeRule: unknown; replace: unknown; replaceSync: unknown; disabled: { valueOf: any; }; readonly href: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly media: { readonly length: any; mediaText: any; toString: any; appendMedium: any; deleteMedium: any; item: any; }; readonly ownerNode: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { readonly ownerDocument: any; readonly target: any; data: any; readonly length: any; appendData: any; deleteData: any; insertData: any; replaceData: any; substringData: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly sheet: any; }; readonly parentStyleSheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly type: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>[]'. + Type 'CSSStyleSheet' is not assignable to type 'Deep<{ readonly cssRules: { readonly length: any; item: any; }; readonly ownerRule: { cssText: any; readonly parentRule: any; readonly parentStyleSheet: any; readonly type: any; readonly STYLE_RULE: any; readonly CHARSET_RULE: any; readonly IMPORT_RULE: any; readonly MEDIA_RULE: any; readonly FONT_FACE_RULE: any; readonly PAGE_RULE: any; readonly NAMESPACE_RULE: any; readonly KEYFRAMES_RULE: any; readonly KEYFRAME_RULE: any; readonly SUPPORTS_RULE: any; readonly COUNTER_STYLE_RULE: any; readonly FONT_FEATURE_VALUES_RULE: any; }; readonly rules: { readonly length: any; item: any; }; addRule: unknown; deleteRule: unknown; insertRule: unknown; removeRule: unknown; replace: unknown; replaceSync: unknown; disabled: { valueOf: any; }; readonly href: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly media: { readonly length: any; mediaText: any; toString: any; appendMedium: any; deleteMedium: any; item: any; }; readonly ownerNode: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { readonly ownerDocument: any; readonly target: any; data: any; readonly length: any; appendData: any; deleteData: any; insertData: any; replaceData: any; substringData: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly sheet: any; }; readonly parentStyleSheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly type: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>'. The types of 'ownerRule.parentRule.parentStyleSheet.ownerNode' are incompatible between these types. - Type 'Element | ProcessingInstruction' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } | { readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; }>'. - Type 'Element' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } | { readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; }>'. - Type 'Element' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; }>'. + Type 'Element | ProcessingInstruction' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; innerHTML: any; readonly mode: any; onslotchange: any; readonly serializable: any; readonly slotAssignment: any; getHTML: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getHTML: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } | { readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; }>'. + Type 'Element' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; innerHTML: any; readonly mode: any; onslotchange: any; readonly serializable: any; readonly slotAssignment: any; getHTML: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getHTML: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } | { readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; }>'. + Type 'Element' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; innerHTML: any; readonly mode: any; onslotchange: any; readonly serializable: any; readonly slotAssignment: any; getHTML: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getHTML: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; }>'. The types of 'ownerDocument.defaultView.frames.self.globalThis.IDBCursor.prototype.key' are incompatible between these types. Type 'IDBValidKey' is not assignable to type 'Deep<{ toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } | { toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } | { readonly byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; slice: unknown; readonly [Symbol.toStringTag]: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; } | { toString: unknown; toDateString: unknown; toTimeString: unknown; toLocaleString: unknown; toLocaleDateString: unknown; toLocaleTimeString: unknown; valueOf: unknown; getTime: unknown; getFullYear: unknown; getUTCFullYear: unknown; getMonth: unknown; getUTCMonth: unknown; getDate: unknown; getUTCDate: unknown; getDay: unknown; getUTCDay: unknown; getHours: unknown; getUTCHours: unknown; getMinutes: unknown; getUTCMinutes: unknown; getSeconds: unknown; getUTCSeconds: unknown; getMilliseconds: unknown; getUTCMilliseconds: unknown; getTimezoneOffset: unknown; setTime: unknown; setMilliseconds: unknown; setUTCMilliseconds: unknown; setSeconds: unknown; setUTCSeconds: unknown; setMinutes: unknown; setUTCMinutes: unknown; setHours: unknown; setUTCHours: unknown; setDate: unknown; setUTCDate: unknown; setMonth: unknown; setUTCMonth: unknown; setFullYear: unknown; setUTCFullYear: unknown; toUTCString: unknown; toISOString: unknown; toJSON: unknown; [Symbol.toPrimitive]: unknown; } | { buffer: { readonly byteLength: any; slice: any; readonly [Symbol.toStringTag]: any; }; byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; byteOffset: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; }>'. Type 'IDBValidKey[]' is not assignable to type 'Deep<{ toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } | { toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } | { readonly byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; slice: unknown; readonly [Symbol.toStringTag]: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; } | { toString: unknown; toDateString: unknown; toTimeString: unknown; toLocaleString: unknown; toLocaleDateString: unknown; toLocaleTimeString: unknown; valueOf: unknown; getTime: unknown; getFullYear: unknown; getUTCFullYear: unknown; getMonth: unknown; getUTCMonth: unknown; getDate: unknown; getUTCDate: unknown; getDay: unknown; getUTCDay: unknown; getHours: unknown; getUTCHours: unknown; getMinutes: unknown; getUTCMinutes: unknown; getSeconds: unknown; getUTCSeconds: unknown; getMilliseconds: unknown; getUTCMilliseconds: unknown; getTimezoneOffset: unknown; setTime: unknown; setMilliseconds: unknown; setUTCMilliseconds: unknown; setSeconds: unknown; setUTCSeconds: unknown; setMinutes: unknown; setUTCMinutes: unknown; setHours: unknown; setUTCHours: unknown; setDate: unknown; setUTCDate: unknown; setMonth: unknown; setUTCMonth: unknown; setFullYear: unknown; setUTCFullYear: unknown; toUTCString: unknown; toISOString: unknown; toJSON: unknown; [Symbol.toPrimitive]: unknown; } | { buffer: { readonly byteLength: any; slice: any; readonly [Symbol.toStringTag]: any; }; byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; byteOffset: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; }>'. @@ -33,14 +33,14 @@ mappedTypeRecursiveInference.ts(19,18): error TS2345: Argument of type 'XMLHttpR let xhr: XMLHttpRequest; const out2 = foo(xhr); ~~~ -!!! error TS2345: Argument of type 'XMLHttpRequest' is not assignable to parameter of type 'Deep<{ onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; }>'. +!!! error TS2345: Argument of type 'XMLHttpRequest' is not assignable to parameter of type 'Deep<{ onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; }>'. !!! error TS2345: The types of 'responseXML.body.offsetParent.shadowRoot.adoptedStyleSheets' are incompatible between these types. -!!! error TS2345: Type 'CSSStyleSheet[]' is not assignable to type 'Deep<{ readonly cssRules: { readonly length: any; item: any; }; readonly ownerRule: { cssText: any; readonly parentRule: any; readonly parentStyleSheet: any; readonly type: any; readonly STYLE_RULE: any; readonly CHARSET_RULE: any; readonly IMPORT_RULE: any; readonly MEDIA_RULE: any; readonly FONT_FACE_RULE: any; readonly PAGE_RULE: any; readonly NAMESPACE_RULE: any; readonly KEYFRAMES_RULE: any; readonly KEYFRAME_RULE: any; readonly SUPPORTS_RULE: any; readonly COUNTER_STYLE_RULE: any; readonly FONT_FEATURE_VALUES_RULE: any; }; readonly rules: { readonly length: any; item: any; }; addRule: unknown; deleteRule: unknown; insertRule: unknown; removeRule: unknown; replace: unknown; replaceSync: unknown; disabled: { valueOf: any; }; readonly href: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly media: { readonly length: any; mediaText: any; toString: any; appendMedium: any; deleteMedium: any; item: any; }; readonly ownerNode: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { readonly ownerDocument: any; readonly target: any; data: any; readonly length: any; appendData: any; deleteData: any; insertData: any; replaceData: any; substringData: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly sheet: any; }; readonly parentStyleSheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly type: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>[]'. -!!! error TS2345: Type 'CSSStyleSheet' is not assignable to type 'Deep<{ readonly cssRules: { readonly length: any; item: any; }; readonly ownerRule: { cssText: any; readonly parentRule: any; readonly parentStyleSheet: any; readonly type: any; readonly STYLE_RULE: any; readonly CHARSET_RULE: any; readonly IMPORT_RULE: any; readonly MEDIA_RULE: any; readonly FONT_FACE_RULE: any; readonly PAGE_RULE: any; readonly NAMESPACE_RULE: any; readonly KEYFRAMES_RULE: any; readonly KEYFRAME_RULE: any; readonly SUPPORTS_RULE: any; readonly COUNTER_STYLE_RULE: any; readonly FONT_FEATURE_VALUES_RULE: any; }; readonly rules: { readonly length: any; item: any; }; addRule: unknown; deleteRule: unknown; insertRule: unknown; removeRule: unknown; replace: unknown; replaceSync: unknown; disabled: { valueOf: any; }; readonly href: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly media: { readonly length: any; mediaText: any; toString: any; appendMedium: any; deleteMedium: any; item: any; }; readonly ownerNode: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { readonly ownerDocument: any; readonly target: any; data: any; readonly length: any; appendData: any; deleteData: any; insertData: any; replaceData: any; substringData: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly sheet: any; }; readonly parentStyleSheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly type: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>'. +!!! error TS2345: Type 'CSSStyleSheet[]' is not assignable to type 'Deep<{ readonly cssRules: { readonly length: any; item: any; }; readonly ownerRule: { cssText: any; readonly parentRule: any; readonly parentStyleSheet: any; readonly type: any; readonly STYLE_RULE: any; readonly CHARSET_RULE: any; readonly IMPORT_RULE: any; readonly MEDIA_RULE: any; readonly FONT_FACE_RULE: any; readonly PAGE_RULE: any; readonly NAMESPACE_RULE: any; readonly KEYFRAMES_RULE: any; readonly KEYFRAME_RULE: any; readonly SUPPORTS_RULE: any; readonly COUNTER_STYLE_RULE: any; readonly FONT_FEATURE_VALUES_RULE: any; }; readonly rules: { readonly length: any; item: any; }; addRule: unknown; deleteRule: unknown; insertRule: unknown; removeRule: unknown; replace: unknown; replaceSync: unknown; disabled: { valueOf: any; }; readonly href: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly media: { readonly length: any; mediaText: any; toString: any; appendMedium: any; deleteMedium: any; item: any; }; readonly ownerNode: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { readonly ownerDocument: any; readonly target: any; data: any; readonly length: any; appendData: any; deleteData: any; insertData: any; replaceData: any; substringData: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly sheet: any; }; readonly parentStyleSheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly type: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>[]'. +!!! error TS2345: Type 'CSSStyleSheet' is not assignable to type 'Deep<{ readonly cssRules: { readonly length: any; item: any; }; readonly ownerRule: { cssText: any; readonly parentRule: any; readonly parentStyleSheet: any; readonly type: any; readonly STYLE_RULE: any; readonly CHARSET_RULE: any; readonly IMPORT_RULE: any; readonly MEDIA_RULE: any; readonly FONT_FACE_RULE: any; readonly PAGE_RULE: any; readonly NAMESPACE_RULE: any; readonly KEYFRAMES_RULE: any; readonly KEYFRAME_RULE: any; readonly SUPPORTS_RULE: any; readonly COUNTER_STYLE_RULE: any; readonly FONT_FEATURE_VALUES_RULE: any; }; readonly rules: { readonly length: any; item: any; }; addRule: unknown; deleteRule: unknown; insertRule: unknown; removeRule: unknown; replace: unknown; replaceSync: unknown; disabled: { valueOf: any; }; readonly href: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly media: { readonly length: any; mediaText: any; toString: any; appendMedium: any; deleteMedium: any; item: any; }; readonly ownerNode: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; } | { readonly ownerDocument: any; readonly target: any; data: any; readonly length: any; appendData: any; deleteData: any; insertData: any; replaceData: any; substringData: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly sheet: any; }; readonly parentStyleSheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; readonly title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly type: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; }>'. !!! error TS2345: The types of 'ownerRule.parentRule.parentStyleSheet.ownerNode' are incompatible between these types. -!!! error TS2345: Type 'Element | ProcessingInstruction' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } | { readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; }>'. -!!! error TS2345: Type 'Element' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } | { readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; }>'. -!!! error TS2345: Type 'Element' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; }>'. +!!! error TS2345: Type 'Element | ProcessingInstruction' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; innerHTML: any; readonly mode: any; onslotchange: any; readonly serializable: any; readonly slotAssignment: any; getHTML: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getHTML: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } | { readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; }>'. +!!! error TS2345: Type 'Element' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; innerHTML: any; readonly mode: any; onslotchange: any; readonly serializable: any; readonly slotAssignment: any; getHTML: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getHTML: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } | { readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly target: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; data: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; appendData: unknown; deleteData: unknown; insertData: unknown; replaceData: unknown; substringData: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; dispatchEvent: unknown; removeEventListener: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly sheet: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }; }>'. +!!! error TS2345: Type 'Element' is not assignable to type 'Deep<{ readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; innerHTML: any; readonly mode: any; onslotchange: any; readonly serializable: any; readonly slotAssignment: any; getHTML: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getHTML: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; }>'. !!! error TS2345: The types of 'ownerDocument.defaultView.frames.self.globalThis.IDBCursor.prototype.key' are incompatible between these types. !!! error TS2345: Type 'IDBValidKey' is not assignable to type 'Deep<{ toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } | { toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } | { readonly byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; slice: unknown; readonly [Symbol.toStringTag]: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; } | { toString: unknown; toDateString: unknown; toTimeString: unknown; toLocaleString: unknown; toLocaleDateString: unknown; toLocaleTimeString: unknown; valueOf: unknown; getTime: unknown; getFullYear: unknown; getUTCFullYear: unknown; getMonth: unknown; getUTCMonth: unknown; getDate: unknown; getUTCDate: unknown; getDay: unknown; getUTCDay: unknown; getHours: unknown; getUTCHours: unknown; getMinutes: unknown; getUTCMinutes: unknown; getSeconds: unknown; getUTCSeconds: unknown; getMilliseconds: unknown; getUTCMilliseconds: unknown; getTimezoneOffset: unknown; setTime: unknown; setMilliseconds: unknown; setUTCMilliseconds: unknown; setSeconds: unknown; setUTCSeconds: unknown; setMinutes: unknown; setUTCMinutes: unknown; setHours: unknown; setUTCHours: unknown; setDate: unknown; setUTCDate: unknown; setMonth: unknown; setUTCMonth: unknown; setFullYear: unknown; setUTCFullYear: unknown; toUTCString: unknown; toISOString: unknown; toJSON: unknown; [Symbol.toPrimitive]: unknown; } | { buffer: { readonly byteLength: any; slice: any; readonly [Symbol.toStringTag]: any; }; byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; byteOffset: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; }>'. !!! error TS2345: Type 'IDBValidKey[]' is not assignable to type 'Deep<{ toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } | { toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } | { readonly byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; slice: unknown; readonly [Symbol.toStringTag]: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; } | { toString: unknown; toDateString: unknown; toTimeString: unknown; toLocaleString: unknown; toLocaleDateString: unknown; toLocaleTimeString: unknown; valueOf: unknown; getTime: unknown; getFullYear: unknown; getUTCFullYear: unknown; getMonth: unknown; getUTCMonth: unknown; getDate: unknown; getUTCDate: unknown; getDay: unknown; getUTCDay: unknown; getHours: unknown; getUTCHours: unknown; getMinutes: unknown; getUTCMinutes: unknown; getSeconds: unknown; getUTCSeconds: unknown; getMilliseconds: unknown; getUTCMilliseconds: unknown; getTimezoneOffset: unknown; setTime: unknown; setMilliseconds: unknown; setUTCMilliseconds: unknown; setSeconds: unknown; setUTCSeconds: unknown; setMinutes: unknown; setUTCMinutes: unknown; setHours: unknown; setUTCHours: unknown; setDate: unknown; setUTCDate: unknown; setMonth: unknown; setUTCMonth: unknown; setFullYear: unknown; setUTCFullYear: unknown; toUTCString: unknown; toISOString: unknown; toJSON: unknown; [Symbol.toPrimitive]: unknown; } | { buffer: { readonly byteLength: any; slice: any; readonly [Symbol.toStringTag]: any; }; byteLength: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; byteOffset: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; }>'. diff --git a/tests/baselines/reference/mappedTypeRecursiveInference.types b/tests/baselines/reference/mappedTypeRecursiveInference.types index 5bc8fb166fa..ce46af20924 100644 --- a/tests/baselines/reference/mappedTypeRecursiveInference.types +++ b/tests/baselines/reference/mappedTypeRecursiveInference.types @@ -159,38 +159,38 @@ let xhr: XMLHttpRequest; > : ^^^^^^^^^^^^^^ const out2 = foo(xhr); ->out2 : { onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->foo(xhr) : { onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>out2 : { onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo(xhr) : { onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : (deep: Deep) => T > : ^ ^^ ^^ ^^^^^ >xhr : XMLHttpRequest > : ^^^^^^^^^^^^^^ out2.responseXML ->out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; fetchPriority: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly href: any; }; readonly defaultView: { clientInformation: any; closed: any; customElements: any; devicePixelRatio: any; document: any; event: any; external: any; frameElement: any; frames: any; history: any; innerHeight: any; innerWidth: any; length: any; location: any; locationbar: any; menubar: any; name: any; navigator: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onorientationchange: any; opener: any; orientation: any; outerHeight: any; outerWidth: any; pageXOffset: any; pageYOffset: any; parent: any; personalbar: any; screen: any; screenLeft: any; screenTop: any; screenX: any; screenY: any; scrollX: any; scrollY: any; scrollbars: any; self: any; speechSynthesis: any; status: any; statusbar: any; toolbar: any; top: any; visualViewport: any; window: any; alert: any; blur: any; cancelIdleCallback: any; captureEvents: any; close: any; confirm: any; focus: any; getComputedStyle: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestIdleCallback: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; localStorage: any; caches: any; crossOriginIsolated: any; crypto: any; indexedDB: any; isSecureContext: any; origin: any; performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; reportError: any; setInterval: any; setTimeout: any; structuredClone: any; sessionStorage: any; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: any; Symbol: any; Object: any; Function: any; String: any; Boolean: any; Number: any; Math: any; Date: any; RegExp: any; Error: any; EvalError: any; RangeError: any; ReferenceError: any; SyntaxError: any; TypeError: any; URIError: any; JSON: any; Array: any; Promise: any; ArrayBuffer: any; DataView: any; Int8Array: any; Uint8Array: any; Uint8ClampedArray: any; Int16Array: any; Uint16Array: any; Int32Array: any; Uint32Array: any; Float32Array: any; Float64Array: any; Intl: any; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: any; AudioListener: any; AudioNode: any; AudioParam: any; AudioParamMap: any; AudioProcessingEvent: any; AudioScheduledSourceNode: any; AudioWorklet: any; AudioWorkletNode: any; AuthenticatorAssertionResponse: any; AuthenticatorAttestationResponse: any; AuthenticatorResponse: any; BarProp: any; BaseAudioContext: any; BeforeUnloadEvent: any; BiquadFilterNode: any; Blob: any; BlobEvent: any; BroadcastChannel: any; ByteLengthQueuingStrategy: any; CDATASection: any; CSSAnimation: any; CSSConditionRule: any; CSSContainerRule: any; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontFeatureValuesRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImageValue: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSKeywordValue: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMathClamp: any; CSSMathInvert: any; CSSMathMax: any; CSSMathMin: any; CSSMathNegate: any; CSSMathProduct: any; CSSMathSum: any; CSSMathValue: any; CSSMatrixComponent: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSNumericArray: any; CSSNumericValue: any; CSSPageRule: any; CSSPerspective: any; CSSPropertyRule: any; CSSRotate: any; CSSRule: any; CSSRuleList: any; CSSScale: any; CSSScopeRule: any; CSSSkew: any; CSSSkewX: any; CSSSkewY: any; CSSStartingStyleRule: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSStyleValue: any; CSSSupportsRule: any; CSSTransformComponent: any; CSSTransformValue: any; CSSTransition: any; CSSTranslate: any; CSSUnitValue: any; CSSUnparsedValue: any; CSSVariableReferenceValue: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; CompressionStream: any; ConstantSourceNode: any; ContentVisibilityAutoStateChangeEvent: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: any; CustomStateSet: any; DOMException: any; DOMImplementation: any; DOMMatrix: any; SVGMatrix: any; WebKitCSSMatrix: any; DOMMatrixReadOnly: any; DOMParser: any; DOMPoint: any; SVGPoint: any; DOMPointReadOnly: any; DOMQuad: any; DOMRect: any; SVGRect: any; DOMRectList: any; DOMRectReadOnly: any; DOMStringList: any; DOMStringMap: any; DOMTokenList: any; DataTransfer: any; DataTransferItem: any; DataTransferItemList: any; DecompressionStream: any; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; EncodedVideoChunk: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: any; External: any; File: any; FileList: any; FileReader: any; FileSystem: any; FileSystemDirectoryEntry: any; FileSystemDirectoryHandle: any; FileSystemDirectoryReader: any; FileSystemEntry: any; FileSystemFileEntry: any; FileSystemFileHandle: any; FileSystemHandle: any; FileSystemWritableFileStream: any; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: any; HTMLAllCollection: any; HTMLAnchorElement: any; HTMLAreaElement: any; HTMLAudioElement: any; HTMLBRElement: any; HTMLBaseElement: any; HTMLBodyElement: any; HTMLButtonElement: any; HTMLCanvasElement: any; HTMLCollection: any; HTMLDListElement: any; HTMLDataElement: any; HTMLDataListElement: any; HTMLDetailsElement: any; HTMLDialogElement: any; HTMLDirectoryElement: any; HTMLDivElement: any; HTMLDocument: any; HTMLElement: any; HTMLEmbedElement: any; HTMLFieldSetElement: any; HTMLFontElement: any; HTMLFormControlsCollection: any; HTMLFormElement: any; HTMLFrameElement: any; HTMLFrameSetElement: any; HTMLHRElement: any; HTMLHeadElement: any; HTMLHeadingElement: any; HTMLHtmlElement: any; HTMLIFrameElement: any; HTMLImageElement: any; HTMLInputElement: any; HTMLLIElement: any; HTMLLabelElement: any; HTMLLegendElement: any; HTMLLinkElement: any; HTMLMapElement: any; HTMLMarqueeElement: any; HTMLMediaElement: any; HTMLMenuElement: any; HTMLMetaElement: any; HTMLMeterElement: any; HTMLModElement: any; HTMLOListElement: any; HTMLObjectElement: any; HTMLOptGroupElement: any; HTMLOptionElement: any; HTMLOptionsCollection: any; HTMLOutputElement: any; HTMLParagraphElement: any; HTMLParamElement: any; HTMLPictureElement: any; HTMLPreElement: any; HTMLProgressElement: any; HTMLQuoteElement: any; HTMLScriptElement: any; HTMLSelectElement: any; HTMLSlotElement: any; HTMLSourceElement: any; HTMLSpanElement: any; HTMLStyleElement: any; HTMLTableCaptionElement: any; HTMLTableCellElement: any; HTMLTableColElement: any; HTMLTableElement: any; HTMLTableRowElement: any; HTMLTableSectionElement: any; HTMLTemplateElement: any; HTMLTextAreaElement: any; HTMLTimeElement: any; HTMLTitleElement: any; HTMLTrackElement: any; HTMLUListElement: any; HTMLUnknownElement: any; HTMLVideoElement: any; HashChangeEvent: any; Headers: any; Highlight: any; HighlightRegistry: any; History: any; IDBCursor: any; IDBCursorWithValue: any; IDBDatabase: any; IDBFactory: any; IDBIndex: any; IDBKeyRange: any; IDBObjectStore: any; IDBOpenDBRequest: any; IDBRequest: any; IDBTransaction: any; IDBVersionChangeEvent: any; IIRFilterNode: any; IdleDeadline: any; ImageBitmap: any; ImageBitmapRenderingContext: any; ImageData: any; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; LargestContentfulPaint: any; Location: any; Lock: any; LockManager: any; MIDIAccess: any; MIDIConnectionEvent: any; MIDIInput: any; MIDIInputMap: any; MIDIMessageEvent: any; MIDIOutput: any; MIDIOutputMap: any; MIDIPort: any; MathMLElement: any; MediaCapabilities: any; MediaDeviceInfo: any; MediaDevices: any; MediaElementAudioSourceNode: any; MediaEncryptedEvent: any; MediaError: any; MediaKeyMessageEvent: any; MediaKeySession: any; MediaKeyStatusMap: any; MediaKeySystemAccess: any; MediaKeys: any; MediaList: any; MediaMetadata: any; MediaQueryList: any; MediaQueryListEvent: any; MediaRecorder: any; MediaSession: any; MediaSource: any; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OffscreenCanvas: any; OffscreenCanvasRenderingContext2D: any; OscillatorNode: any; OverconstrainedError: any; PageTransitionEvent: any; PannerNode: any; Path2D: any; PaymentMethodChangeEvent: any; PaymentRequest: any; PaymentRequestUpdateEvent: any; PaymentResponse: any; Performance: any; PerformanceEntry: any; PerformanceEventTiming: any; PerformanceMark: any; PerformanceMeasure: any; PerformanceNavigation: any; PerformanceNavigationTiming: any; PerformanceObserver: any; PerformanceObserverEntryList: any; PerformancePaintTiming: any; PerformanceResourceTiming: any; PerformanceServerTiming: any; PerformanceTiming: any; PeriodicWave: any; PermissionStatus: any; Permissions: any; PictureInPictureEvent: any; PictureInPictureWindow: any; Plugin: any; PluginArray: any; PointerEvent: any; PopStateEvent: any; ProcessingInstruction: any; ProgressEvent: any; PromiseRejectionEvent: any; PublicKeyCredential: any; PushManager: any; PushSubscription: any; PushSubscriptionOptions: any; RTCCertificate: any; RTCDTMFSender: any; RTCDTMFToneChangeEvent: any; RTCDataChannel: any; RTCDataChannelEvent: any; RTCDtlsTransport: any; RTCEncodedAudioFrame: any; RTCEncodedVideoFrame: any; RTCError: any; RTCErrorEvent: any; RTCIceCandidate: any; RTCIceTransport: any; RTCPeerConnection: any; RTCPeerConnectionIceErrorEvent: any; RTCPeerConnectionIceEvent: any; RTCRtpReceiver: any; RTCRtpScriptTransform: any; RTCRtpSender: any; RTCRtpTransceiver: any; RTCSctpTransport: any; RTCSessionDescription: any; RTCStatsReport: any; RTCTrackEvent: any; RadioNodeList: any; Range: any; ReadableByteStreamController: any; ReadableStream: any; ReadableStreamBYOBReader: any; ReadableStreamBYOBRequest: any; ReadableStreamDefaultController: any; ReadableStreamDefaultReader: any; RemotePlayback: any; Report: any; ReportBody: any; ReportingObserver: any; Request: any; ResizeObserver: any; ResizeObserverEntry: any; ResizeObserverSize: any; Response: any; SVGAElement: any; SVGAngle: any; SVGAnimateElement: any; SVGAnimateMotionElement: any; SVGAnimateTransformElement: any; SVGAnimatedAngle: any; SVGAnimatedBoolean: any; SVGAnimatedEnumeration: any; SVGAnimatedInteger: any; SVGAnimatedLength: any; SVGAnimatedLengthList: any; SVGAnimatedNumber: any; SVGAnimatedNumberList: any; SVGAnimatedPreserveAspectRatio: any; SVGAnimatedRect: any; SVGAnimatedString: any; SVGAnimatedTransformList: any; SVGAnimationElement: any; SVGCircleElement: any; SVGClipPathElement: any; SVGComponentTransferFunctionElement: any; SVGDefsElement: any; SVGDescElement: any; SVGElement: any; SVGEllipseElement: any; SVGFEBlendElement: any; SVGFEColorMatrixElement: any; SVGFEComponentTransferElement: any; SVGFECompositeElement: any; SVGFEConvolveMatrixElement: any; SVGFEDiffuseLightingElement: any; SVGFEDisplacementMapElement: any; SVGFEDistantLightElement: any; SVGFEDropShadowElement: any; SVGFEFloodElement: any; SVGFEFuncAElement: any; SVGFEFuncBElement: any; SVGFEFuncGElement: any; SVGFEFuncRElement: any; SVGFEGaussianBlurElement: any; SVGFEImageElement: any; SVGFEMergeElement: any; SVGFEMergeNodeElement: any; SVGFEMorphologyElement: any; SVGFEOffsetElement: any; SVGFEPointLightElement: any; SVGFESpecularLightingElement: any; SVGFESpotLightElement: any; SVGFETileElement: any; SVGFETurbulenceElement: any; SVGFilterElement: any; SVGForeignObjectElement: any; SVGGElement: any; SVGGeometryElement: any; SVGGradientElement: any; SVGGraphicsElement: any; SVGImageElement: any; SVGLength: any; SVGLengthList: any; SVGLineElement: any; SVGLinearGradientElement: any; SVGMPathElement: any; SVGMarkerElement: any; SVGMaskElement: any; SVGMetadataElement: any; SVGNumber: any; SVGNumberList: any; SVGPathElement: any; SVGPatternElement: any; SVGPointList: any; SVGPolygonElement: any; SVGPolylineElement: any; SVGPreserveAspectRatio: any; SVGRadialGradientElement: any; SVGRectElement: any; SVGSVGElement: any; SVGScriptElement: any; SVGSetElement: any; SVGStopElement: any; SVGStringList: any; SVGStyleElement: any; SVGSwitchElement: any; SVGSymbolElement: any; SVGTSpanElement: any; SVGTextContentElement: any; SVGTextElement: any; SVGTextPathElement: any; SVGTextPositioningElement: any; SVGTitleElement: any; SVGTransform: any; SVGTransformList: any; SVGUnitTypes: any; SVGUseElement: any; SVGViewElement: any; Screen: any; ScreenOrientation: any; ScriptProcessorNode: any; SecurityPolicyViolationEvent: any; Selection: any; ServiceWorker: any; ServiceWorkerContainer: any; ServiceWorkerRegistration: any; ShadowRoot: any; SharedWorker: any; SourceBuffer: any; SourceBufferList: any; SpeechRecognitionAlternative: any; SpeechRecognitionResult: any; SpeechRecognitionResultList: any; SpeechSynthesis: any; SpeechSynthesisErrorEvent: any; SpeechSynthesisEvent: any; SpeechSynthesisUtterance: any; SpeechSynthesisVoice: any; StaticRange: any; StereoPannerNode: any; Storage: any; StorageEvent: any; StorageManager: any; StylePropertyMap: any; StylePropertyMapReadOnly: any; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: any; ToggleEvent: any; Touch: any; TouchEvent: any; TouchList: any; TrackEvent: any; TransformStream: any; TransformStreamDefaultController: any; TransitionEvent: any; TreeWalker: any; UIEvent: any; URL: any; webkitURL: any; URLSearchParams: any; UserActivation: any; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoDecoder: any; VideoEncoder: any; VideoFrame: any; VideoPlaybackQuality: any; VisualViewport: any; WakeLock: any; WakeLockSentinel: any; WaveShaperNode: any; WebGL2RenderingContext: any; WebGLActiveInfo: any; WebGLBuffer: any; WebGLContextEvent: any; WebGLFramebuffer: any; WebGLProgram: any; WebGLQuery: any; WebGLRenderbuffer: any; WebGLRenderingContext: any; WebGLSampler: any; WebGLShader: any; WebGLShaderPrecisionFormat: any; WebGLSync: any; WebGLTexture: any; WebGLTransformFeedback: any; WebGLUniformLocation: any; WebGLVertexArrayObject: any; WebSocket: any; WebTransport: any; WebTransportBidirectionalStream: any; WebTransportDatagramDuplexStream: any; WebTransportError: any; WheelEvent: any; Window: any; Worker: any; Worklet: any; WritableStream: any; WritableStreamDefaultController: any; WritableStreamDefaultWriter: any; XMLDocument: any; XMLHttpRequest: any; XMLHttpRequestEventTarget: any; XMLHttpRequestUpload: any; XMLSerializer: any; XPathEvaluator: any; XPathExpression: any; XPathResult: any; XSLTProcessor: any; console: any; CSS: any; WebAssembly: any; Audio: any; Image: any; Option: any; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: any; undefined: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly ownerDocument: unknown; readonly pictureInPictureEnabled: { valueOf: any; }; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { currentScale: any; readonly currentTranslate: any; readonly height: any; readonly width: any; readonly x: any; readonly y: any; animationsPaused: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; execCommand: unknown; exitFullscreen: unknown; exitPictureInPicture: unknown; exitPointerLock: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; hasStorageAccess: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; requestStorageAccess: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; adoptedStyleSheets: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pictureInPictureElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pointerLockElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly styleSheets: { readonly length: any; item: any; }; elementFromPoint: unknown; elementsFromPoint: unknown; getAnimations: unknown; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onbeforetoggle: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncopy: unknown; oncuechange: unknown; oncut: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; onformdata: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpaste: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onscrollend: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onslotchange: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwebkitanimationend: unknown; onwebkitanimationiteration: unknown; onwebkitanimationstart: unknown; onwebkittransitionend: unknown; onwheel: unknown; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->out2 : { onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; fetchPriority: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly href: any; }; readonly defaultView: { clientInformation: any; closed: any; customElements: any; devicePixelRatio: any; document: any; event: any; external: any; frameElement: any; frames: any; history: any; innerHeight: any; innerWidth: any; length: any; location: any; locationbar: any; menubar: any; name: any; navigator: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onorientationchange: any; opener: any; orientation: any; outerHeight: any; outerWidth: any; pageXOffset: any; pageYOffset: any; parent: any; personalbar: any; screen: any; screenLeft: any; screenTop: any; screenX: any; screenY: any; scrollX: any; scrollY: any; scrollbars: any; self: any; speechSynthesis: any; status: any; statusbar: any; toolbar: any; top: any; visualViewport: any; window: any; alert: any; blur: any; cancelIdleCallback: any; captureEvents: any; close: any; confirm: any; focus: any; getComputedStyle: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestIdleCallback: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; localStorage: any; caches: any; crossOriginIsolated: any; crypto: any; indexedDB: any; isSecureContext: any; origin: any; performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; reportError: any; setInterval: any; setTimeout: any; structuredClone: any; sessionStorage: any; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: any; Symbol: any; Object: any; Function: any; String: any; Boolean: any; Number: any; Math: any; Date: any; RegExp: any; Error: any; EvalError: any; RangeError: any; ReferenceError: any; SyntaxError: any; TypeError: any; URIError: any; JSON: any; Array: any; Promise: any; ArrayBuffer: any; DataView: any; Int8Array: any; Uint8Array: any; Uint8ClampedArray: any; Int16Array: any; Uint16Array: any; Int32Array: any; Uint32Array: any; Float32Array: any; Float64Array: any; Intl: any; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: any; AudioListener: any; AudioNode: any; AudioParam: any; AudioParamMap: any; AudioProcessingEvent: any; AudioScheduledSourceNode: any; AudioWorklet: any; AudioWorkletNode: any; AuthenticatorAssertionResponse: any; AuthenticatorAttestationResponse: any; AuthenticatorResponse: any; BarProp: any; BaseAudioContext: any; BeforeUnloadEvent: any; BiquadFilterNode: any; Blob: any; BlobEvent: any; BroadcastChannel: any; ByteLengthQueuingStrategy: any; CDATASection: any; CSSAnimation: any; CSSConditionRule: any; CSSContainerRule: any; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontFeatureValuesRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImageValue: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSKeywordValue: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMathClamp: any; CSSMathInvert: any; CSSMathMax: any; CSSMathMin: any; CSSMathNegate: any; CSSMathProduct: any; CSSMathSum: any; CSSMathValue: any; CSSMatrixComponent: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSNumericArray: any; CSSNumericValue: any; CSSPageRule: any; CSSPerspective: any; CSSPropertyRule: any; CSSRotate: any; CSSRule: any; CSSRuleList: any; CSSScale: any; CSSScopeRule: any; CSSSkew: any; CSSSkewX: any; CSSSkewY: any; CSSStartingStyleRule: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSStyleValue: any; CSSSupportsRule: any; CSSTransformComponent: any; CSSTransformValue: any; CSSTransition: any; CSSTranslate: any; CSSUnitValue: any; CSSUnparsedValue: any; CSSVariableReferenceValue: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; CompressionStream: any; ConstantSourceNode: any; ContentVisibilityAutoStateChangeEvent: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: any; CustomStateSet: any; DOMException: any; DOMImplementation: any; DOMMatrix: any; SVGMatrix: any; WebKitCSSMatrix: any; DOMMatrixReadOnly: any; DOMParser: any; DOMPoint: any; SVGPoint: any; DOMPointReadOnly: any; DOMQuad: any; DOMRect: any; SVGRect: any; DOMRectList: any; DOMRectReadOnly: any; DOMStringList: any; DOMStringMap: any; DOMTokenList: any; DataTransfer: any; DataTransferItem: any; DataTransferItemList: any; DecompressionStream: any; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; EncodedVideoChunk: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: any; External: any; File: any; FileList: any; FileReader: any; FileSystem: any; FileSystemDirectoryEntry: any; FileSystemDirectoryHandle: any; FileSystemDirectoryReader: any; FileSystemEntry: any; FileSystemFileEntry: any; FileSystemFileHandle: any; FileSystemHandle: any; FileSystemWritableFileStream: any; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: any; HTMLAllCollection: any; HTMLAnchorElement: any; HTMLAreaElement: any; HTMLAudioElement: any; HTMLBRElement: any; HTMLBaseElement: any; HTMLBodyElement: any; HTMLButtonElement: any; HTMLCanvasElement: any; HTMLCollection: any; HTMLDListElement: any; HTMLDataElement: any; HTMLDataListElement: any; HTMLDetailsElement: any; HTMLDialogElement: any; HTMLDirectoryElement: any; HTMLDivElement: any; HTMLDocument: any; HTMLElement: any; HTMLEmbedElement: any; HTMLFieldSetElement: any; HTMLFontElement: any; HTMLFormControlsCollection: any; HTMLFormElement: any; HTMLFrameElement: any; HTMLFrameSetElement: any; HTMLHRElement: any; HTMLHeadElement: any; HTMLHeadingElement: any; HTMLHtmlElement: any; HTMLIFrameElement: any; HTMLImageElement: any; HTMLInputElement: any; HTMLLIElement: any; HTMLLabelElement: any; HTMLLegendElement: any; HTMLLinkElement: any; HTMLMapElement: any; HTMLMarqueeElement: any; HTMLMediaElement: any; HTMLMenuElement: any; HTMLMetaElement: any; HTMLMeterElement: any; HTMLModElement: any; HTMLOListElement: any; HTMLObjectElement: any; HTMLOptGroupElement: any; HTMLOptionElement: any; HTMLOptionsCollection: any; HTMLOutputElement: any; HTMLParagraphElement: any; HTMLParamElement: any; HTMLPictureElement: any; HTMLPreElement: any; HTMLProgressElement: any; HTMLQuoteElement: any; HTMLScriptElement: any; HTMLSelectElement: any; HTMLSlotElement: any; HTMLSourceElement: any; HTMLSpanElement: any; HTMLStyleElement: any; HTMLTableCaptionElement: any; HTMLTableCellElement: any; HTMLTableColElement: any; HTMLTableElement: any; HTMLTableRowElement: any; HTMLTableSectionElement: any; HTMLTemplateElement: any; HTMLTextAreaElement: any; HTMLTimeElement: any; HTMLTitleElement: any; HTMLTrackElement: any; HTMLUListElement: any; HTMLUnknownElement: any; HTMLVideoElement: any; HashChangeEvent: any; Headers: any; Highlight: any; HighlightRegistry: any; History: any; IDBCursor: any; IDBCursorWithValue: any; IDBDatabase: any; IDBFactory: any; IDBIndex: any; IDBKeyRange: any; IDBObjectStore: any; IDBOpenDBRequest: any; IDBRequest: any; IDBTransaction: any; IDBVersionChangeEvent: any; IIRFilterNode: any; IdleDeadline: any; ImageBitmap: any; ImageBitmapRenderingContext: any; ImageData: any; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; LargestContentfulPaint: any; Location: any; Lock: any; LockManager: any; MIDIAccess: any; MIDIConnectionEvent: any; MIDIInput: any; MIDIInputMap: any; MIDIMessageEvent: any; MIDIOutput: any; MIDIOutputMap: any; MIDIPort: any; MathMLElement: any; MediaCapabilities: any; MediaDeviceInfo: any; MediaDevices: any; MediaElementAudioSourceNode: any; MediaEncryptedEvent: any; MediaError: any; MediaKeyMessageEvent: any; MediaKeySession: any; MediaKeyStatusMap: any; MediaKeySystemAccess: any; MediaKeys: any; MediaList: any; MediaMetadata: any; MediaQueryList: any; MediaQueryListEvent: any; MediaRecorder: any; MediaSession: any; MediaSource: any; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OffscreenCanvas: any; OffscreenCanvasRenderingContext2D: any; OscillatorNode: any; OverconstrainedError: any; PageTransitionEvent: any; PannerNode: any; Path2D: any; PaymentMethodChangeEvent: any; PaymentRequest: any; PaymentRequestUpdateEvent: any; PaymentResponse: any; Performance: any; PerformanceEntry: any; PerformanceEventTiming: any; PerformanceMark: any; PerformanceMeasure: any; PerformanceNavigation: any; PerformanceNavigationTiming: any; PerformanceObserver: any; PerformanceObserverEntryList: any; PerformancePaintTiming: any; PerformanceResourceTiming: any; PerformanceServerTiming: any; PerformanceTiming: any; PeriodicWave: any; PermissionStatus: any; Permissions: any; PictureInPictureEvent: any; PictureInPictureWindow: any; Plugin: any; PluginArray: any; PointerEvent: any; PopStateEvent: any; ProcessingInstruction: any; ProgressEvent: any; PromiseRejectionEvent: any; PublicKeyCredential: any; PushManager: any; PushSubscription: any; PushSubscriptionOptions: any; RTCCertificate: any; RTCDTMFSender: any; RTCDTMFToneChangeEvent: any; RTCDataChannel: any; RTCDataChannelEvent: any; RTCDtlsTransport: any; RTCEncodedAudioFrame: any; RTCEncodedVideoFrame: any; RTCError: any; RTCErrorEvent: any; RTCIceCandidate: any; RTCIceTransport: any; RTCPeerConnection: any; RTCPeerConnectionIceErrorEvent: any; RTCPeerConnectionIceEvent: any; RTCRtpReceiver: any; RTCRtpScriptTransform: any; RTCRtpSender: any; RTCRtpTransceiver: any; RTCSctpTransport: any; RTCSessionDescription: any; RTCStatsReport: any; RTCTrackEvent: any; RadioNodeList: any; Range: any; ReadableByteStreamController: any; ReadableStream: any; ReadableStreamBYOBReader: any; ReadableStreamBYOBRequest: any; ReadableStreamDefaultController: any; ReadableStreamDefaultReader: any; RemotePlayback: any; Report: any; ReportBody: any; ReportingObserver: any; Request: any; ResizeObserver: any; ResizeObserverEntry: any; ResizeObserverSize: any; Response: any; SVGAElement: any; SVGAngle: any; SVGAnimateElement: any; SVGAnimateMotionElement: any; SVGAnimateTransformElement: any; SVGAnimatedAngle: any; SVGAnimatedBoolean: any; SVGAnimatedEnumeration: any; SVGAnimatedInteger: any; SVGAnimatedLength: any; SVGAnimatedLengthList: any; SVGAnimatedNumber: any; SVGAnimatedNumberList: any; SVGAnimatedPreserveAspectRatio: any; SVGAnimatedRect: any; SVGAnimatedString: any; SVGAnimatedTransformList: any; SVGAnimationElement: any; SVGCircleElement: any; SVGClipPathElement: any; SVGComponentTransferFunctionElement: any; SVGDefsElement: any; SVGDescElement: any; SVGElement: any; SVGEllipseElement: any; SVGFEBlendElement: any; SVGFEColorMatrixElement: any; SVGFEComponentTransferElement: any; SVGFECompositeElement: any; SVGFEConvolveMatrixElement: any; SVGFEDiffuseLightingElement: any; SVGFEDisplacementMapElement: any; SVGFEDistantLightElement: any; SVGFEDropShadowElement: any; SVGFEFloodElement: any; SVGFEFuncAElement: any; SVGFEFuncBElement: any; SVGFEFuncGElement: any; SVGFEFuncRElement: any; SVGFEGaussianBlurElement: any; SVGFEImageElement: any; SVGFEMergeElement: any; SVGFEMergeNodeElement: any; SVGFEMorphologyElement: any; SVGFEOffsetElement: any; SVGFEPointLightElement: any; SVGFESpecularLightingElement: any; SVGFESpotLightElement: any; SVGFETileElement: any; SVGFETurbulenceElement: any; SVGFilterElement: any; SVGForeignObjectElement: any; SVGGElement: any; SVGGeometryElement: any; SVGGradientElement: any; SVGGraphicsElement: any; SVGImageElement: any; SVGLength: any; SVGLengthList: any; SVGLineElement: any; SVGLinearGradientElement: any; SVGMPathElement: any; SVGMarkerElement: any; SVGMaskElement: any; SVGMetadataElement: any; SVGNumber: any; SVGNumberList: any; SVGPathElement: any; SVGPatternElement: any; SVGPointList: any; SVGPolygonElement: any; SVGPolylineElement: any; SVGPreserveAspectRatio: any; SVGRadialGradientElement: any; SVGRectElement: any; SVGSVGElement: any; SVGScriptElement: any; SVGSetElement: any; SVGStopElement: any; SVGStringList: any; SVGStyleElement: any; SVGSwitchElement: any; SVGSymbolElement: any; SVGTSpanElement: any; SVGTextContentElement: any; SVGTextElement: any; SVGTextPathElement: any; SVGTextPositioningElement: any; SVGTitleElement: any; SVGTransform: any; SVGTransformList: any; SVGUnitTypes: any; SVGUseElement: any; SVGViewElement: any; Screen: any; ScreenOrientation: any; ScriptProcessorNode: any; SecurityPolicyViolationEvent: any; Selection: any; ServiceWorker: any; ServiceWorkerContainer: any; ServiceWorkerRegistration: any; ShadowRoot: any; SharedWorker: any; SourceBuffer: any; SourceBufferList: any; SpeechRecognitionAlternative: any; SpeechRecognitionResult: any; SpeechRecognitionResultList: any; SpeechSynthesis: any; SpeechSynthesisErrorEvent: any; SpeechSynthesisEvent: any; SpeechSynthesisUtterance: any; SpeechSynthesisVoice: any; StaticRange: any; StereoPannerNode: any; Storage: any; StorageEvent: any; StorageManager: any; StylePropertyMap: any; StylePropertyMapReadOnly: any; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: any; ToggleEvent: any; Touch: any; TouchEvent: any; TouchList: any; TrackEvent: any; TransformStream: any; TransformStreamDefaultController: any; TransitionEvent: any; TreeWalker: any; UIEvent: any; URL: any; webkitURL: any; URLSearchParams: any; UserActivation: any; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoDecoder: any; VideoEncoder: any; VideoFrame: any; VideoPlaybackQuality: any; VisualViewport: any; WakeLock: any; WakeLockSentinel: any; WaveShaperNode: any; WebGL2RenderingContext: any; WebGLActiveInfo: any; WebGLBuffer: any; WebGLContextEvent: any; WebGLFramebuffer: any; WebGLProgram: any; WebGLQuery: any; WebGLRenderbuffer: any; WebGLRenderingContext: any; WebGLSampler: any; WebGLShader: any; WebGLShaderPrecisionFormat: any; WebGLSync: any; WebGLTexture: any; WebGLTransformFeedback: any; WebGLUniformLocation: any; WebGLVertexArrayObject: any; WebSocket: any; WebTransport: any; WebTransportBidirectionalStream: any; WebTransportDatagramDuplexStream: any; WebTransportError: any; WheelEvent: any; Window: any; Worker: any; Worklet: any; WritableStream: any; WritableStreamDefaultController: any; WritableStreamDefaultWriter: any; XMLDocument: any; XMLHttpRequest: any; XMLHttpRequestEventTarget: any; XMLHttpRequestUpload: any; XMLSerializer: any; XPathEvaluator: any; XPathExpression: any; XPathResult: any; XSLTProcessor: any; console: any; CSS: any; WebAssembly: any; Audio: any; Image: any; Option: any; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: any; undefined: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly ownerDocument: unknown; readonly pictureInPictureEnabled: { valueOf: any; }; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { currentScale: any; readonly currentTranslate: any; readonly height: any; readonly width: any; readonly x: any; readonly y: any; animationsPaused: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; execCommand: unknown; exitFullscreen: unknown; exitPictureInPicture: unknown; exitPointerLock: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; hasStorageAccess: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; requestStorageAccess: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; adoptedStyleSheets: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pictureInPictureElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pointerLockElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly styleSheets: { readonly length: any; item: any; }; elementFromPoint: unknown; elementsFromPoint: unknown; getAnimations: unknown; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onbeforetoggle: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncopy: unknown; oncuechange: unknown; oncut: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; onformdata: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpaste: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onscrollend: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onslotchange: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwebkitanimationend: unknown; onwebkitanimationiteration: unknown; onwebkitanimationstart: unknown; onwebkittransitionend: unknown; onwheel: unknown; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; fetchPriority: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly href: any; }; readonly defaultView: { clientInformation: any; closed: any; customElements: any; devicePixelRatio: any; document: any; event: any; external: any; frameElement: any; frames: any; history: any; innerHeight: any; innerWidth: any; length: any; location: any; locationbar: any; menubar: any; name: any; navigator: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onorientationchange: any; opener: any; orientation: any; outerHeight: any; outerWidth: any; pageXOffset: any; pageYOffset: any; parent: any; personalbar: any; screen: any; screenLeft: any; screenTop: any; screenX: any; screenY: any; scrollX: any; scrollY: any; scrollbars: any; self: any; speechSynthesis: any; status: any; statusbar: any; toolbar: any; top: any; visualViewport: any; window: any; alert: any; blur: any; cancelIdleCallback: any; captureEvents: any; close: any; confirm: any; focus: any; getComputedStyle: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestIdleCallback: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; localStorage: any; caches: any; crossOriginIsolated: any; crypto: any; indexedDB: any; isSecureContext: any; origin: any; performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; reportError: any; setInterval: any; setTimeout: any; structuredClone: any; sessionStorage: any; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: any; Symbol: any; Object: any; Function: any; String: any; Boolean: any; Number: any; Math: any; Date: any; RegExp: any; Error: any; EvalError: any; RangeError: any; ReferenceError: any; SyntaxError: any; TypeError: any; URIError: any; JSON: any; Array: any; Promise: any; ArrayBuffer: any; DataView: any; Int8Array: any; Uint8Array: any; Uint8ClampedArray: any; Int16Array: any; Uint16Array: any; Int32Array: any; Uint32Array: any; Float32Array: any; Float64Array: any; Intl: any; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: any; AudioListener: any; AudioNode: any; AudioParam: any; AudioParamMap: any; AudioProcessingEvent: any; AudioScheduledSourceNode: any; AudioWorklet: any; AudioWorkletNode: any; AuthenticatorAssertionResponse: any; AuthenticatorAttestationResponse: any; AuthenticatorResponse: any; BarProp: any; BaseAudioContext: any; BeforeUnloadEvent: any; BiquadFilterNode: any; Blob: any; BlobEvent: any; BroadcastChannel: any; ByteLengthQueuingStrategy: any; CDATASection: any; CSSAnimation: any; CSSConditionRule: any; CSSContainerRule: any; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontFeatureValuesRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImageValue: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSKeywordValue: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMathClamp: any; CSSMathInvert: any; CSSMathMax: any; CSSMathMin: any; CSSMathNegate: any; CSSMathProduct: any; CSSMathSum: any; CSSMathValue: any; CSSMatrixComponent: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSNumericArray: any; CSSNumericValue: any; CSSPageRule: any; CSSPerspective: any; CSSPropertyRule: any; CSSRotate: any; CSSRule: any; CSSRuleList: any; CSSScale: any; CSSScopeRule: any; CSSSkew: any; CSSSkewX: any; CSSSkewY: any; CSSStartingStyleRule: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSStyleValue: any; CSSSupportsRule: any; CSSTransformComponent: any; CSSTransformValue: any; CSSTransition: any; CSSTranslate: any; CSSUnitValue: any; CSSUnparsedValue: any; CSSVariableReferenceValue: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; CompressionStream: any; ConstantSourceNode: any; ContentVisibilityAutoStateChangeEvent: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: any; CustomStateSet: any; DOMException: any; DOMImplementation: any; DOMMatrix: any; SVGMatrix: any; WebKitCSSMatrix: any; DOMMatrixReadOnly: any; DOMParser: any; DOMPoint: any; SVGPoint: any; DOMPointReadOnly: any; DOMQuad: any; DOMRect: any; SVGRect: any; DOMRectList: any; DOMRectReadOnly: any; DOMStringList: any; DOMStringMap: any; DOMTokenList: any; DataTransfer: any; DataTransferItem: any; DataTransferItemList: any; DecompressionStream: any; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; EncodedVideoChunk: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: any; External: any; File: any; FileList: any; FileReader: any; FileSystem: any; FileSystemDirectoryEntry: any; FileSystemDirectoryHandle: any; FileSystemDirectoryReader: any; FileSystemEntry: any; FileSystemFileEntry: any; FileSystemFileHandle: any; FileSystemHandle: any; FileSystemWritableFileStream: any; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: any; HTMLAllCollection: any; HTMLAnchorElement: any; HTMLAreaElement: any; HTMLAudioElement: any; HTMLBRElement: any; HTMLBaseElement: any; HTMLBodyElement: any; HTMLButtonElement: any; HTMLCanvasElement: any; HTMLCollection: any; HTMLDListElement: any; HTMLDataElement: any; HTMLDataListElement: any; HTMLDetailsElement: any; HTMLDialogElement: any; HTMLDirectoryElement: any; HTMLDivElement: any; HTMLDocument: any; HTMLElement: any; HTMLEmbedElement: any; HTMLFieldSetElement: any; HTMLFontElement: any; HTMLFormControlsCollection: any; HTMLFormElement: any; HTMLFrameElement: any; HTMLFrameSetElement: any; HTMLHRElement: any; HTMLHeadElement: any; HTMLHeadingElement: any; HTMLHtmlElement: any; HTMLIFrameElement: any; HTMLImageElement: any; HTMLInputElement: any; HTMLLIElement: any; HTMLLabelElement: any; HTMLLegendElement: any; HTMLLinkElement: any; HTMLMapElement: any; HTMLMarqueeElement: any; HTMLMediaElement: any; HTMLMenuElement: any; HTMLMetaElement: any; HTMLMeterElement: any; HTMLModElement: any; HTMLOListElement: any; HTMLObjectElement: any; HTMLOptGroupElement: any; HTMLOptionElement: any; HTMLOptionsCollection: any; HTMLOutputElement: any; HTMLParagraphElement: any; HTMLParamElement: any; HTMLPictureElement: any; HTMLPreElement: any; HTMLProgressElement: any; HTMLQuoteElement: any; HTMLScriptElement: any; HTMLSelectElement: any; HTMLSlotElement: any; HTMLSourceElement: any; HTMLSpanElement: any; HTMLStyleElement: any; HTMLTableCaptionElement: any; HTMLTableCellElement: any; HTMLTableColElement: any; HTMLTableElement: any; HTMLTableRowElement: any; HTMLTableSectionElement: any; HTMLTemplateElement: any; HTMLTextAreaElement: any; HTMLTimeElement: any; HTMLTitleElement: any; HTMLTrackElement: any; HTMLUListElement: any; HTMLUnknownElement: any; HTMLVideoElement: any; HashChangeEvent: any; Headers: any; Highlight: any; HighlightRegistry: any; History: any; IDBCursor: any; IDBCursorWithValue: any; IDBDatabase: any; IDBFactory: any; IDBIndex: any; IDBKeyRange: any; IDBObjectStore: any; IDBOpenDBRequest: any; IDBRequest: any; IDBTransaction: any; IDBVersionChangeEvent: any; IIRFilterNode: any; IdleDeadline: any; ImageBitmap: any; ImageBitmapRenderingContext: any; ImageData: any; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; LargestContentfulPaint: any; Location: any; Lock: any; LockManager: any; MIDIAccess: any; MIDIConnectionEvent: any; MIDIInput: any; MIDIInputMap: any; MIDIMessageEvent: any; MIDIOutput: any; MIDIOutputMap: any; MIDIPort: any; MathMLElement: any; MediaCapabilities: any; MediaDeviceInfo: any; MediaDevices: any; MediaElementAudioSourceNode: any; MediaEncryptedEvent: any; MediaError: any; MediaKeyMessageEvent: any; MediaKeySession: any; MediaKeyStatusMap: any; MediaKeySystemAccess: any; MediaKeys: any; MediaList: any; MediaMetadata: any; MediaQueryList: any; MediaQueryListEvent: any; MediaRecorder: any; MediaSession: any; MediaSource: any; MediaSourceHandle: any; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OffscreenCanvas: any; OffscreenCanvasRenderingContext2D: any; OscillatorNode: any; OverconstrainedError: any; PageTransitionEvent: any; PannerNode: any; Path2D: any; PaymentMethodChangeEvent: any; PaymentRequest: any; PaymentRequestUpdateEvent: any; PaymentResponse: any; Performance: any; PerformanceEntry: any; PerformanceEventTiming: any; PerformanceMark: any; PerformanceMeasure: any; PerformanceNavigation: any; PerformanceNavigationTiming: any; PerformanceObserver: any; PerformanceObserverEntryList: any; PerformancePaintTiming: any; PerformanceResourceTiming: any; PerformanceServerTiming: any; PerformanceTiming: any; PeriodicWave: any; PermissionStatus: any; Permissions: any; PictureInPictureEvent: any; PictureInPictureWindow: any; Plugin: any; PluginArray: any; PointerEvent: any; PopStateEvent: any; ProcessingInstruction: any; ProgressEvent: any; PromiseRejectionEvent: any; PublicKeyCredential: any; PushManager: any; PushSubscription: any; PushSubscriptionOptions: any; RTCCertificate: any; RTCDTMFSender: any; RTCDTMFToneChangeEvent: any; RTCDataChannel: any; RTCDataChannelEvent: any; RTCDtlsTransport: any; RTCEncodedAudioFrame: any; RTCEncodedVideoFrame: any; RTCError: any; RTCErrorEvent: any; RTCIceCandidate: any; RTCIceTransport: any; RTCPeerConnection: any; RTCPeerConnectionIceErrorEvent: any; RTCPeerConnectionIceEvent: any; RTCRtpReceiver: any; RTCRtpScriptTransform: any; RTCRtpSender: any; RTCRtpTransceiver: any; RTCSctpTransport: any; RTCSessionDescription: any; RTCStatsReport: any; RTCTrackEvent: any; RadioNodeList: any; Range: any; ReadableByteStreamController: any; ReadableStream: any; ReadableStreamBYOBReader: any; ReadableStreamBYOBRequest: any; ReadableStreamDefaultController: any; ReadableStreamDefaultReader: any; RemotePlayback: any; Report: any; ReportBody: any; ReportingObserver: any; Request: any; ResizeObserver: any; ResizeObserverEntry: any; ResizeObserverSize: any; Response: any; SVGAElement: any; SVGAngle: any; SVGAnimateElement: any; SVGAnimateMotionElement: any; SVGAnimateTransformElement: any; SVGAnimatedAngle: any; SVGAnimatedBoolean: any; SVGAnimatedEnumeration: any; SVGAnimatedInteger: any; SVGAnimatedLength: any; SVGAnimatedLengthList: any; SVGAnimatedNumber: any; SVGAnimatedNumberList: any; SVGAnimatedPreserveAspectRatio: any; SVGAnimatedRect: any; SVGAnimatedString: any; SVGAnimatedTransformList: any; SVGAnimationElement: any; SVGCircleElement: any; SVGClipPathElement: any; SVGComponentTransferFunctionElement: any; SVGDefsElement: any; SVGDescElement: any; SVGElement: any; SVGEllipseElement: any; SVGFEBlendElement: any; SVGFEColorMatrixElement: any; SVGFEComponentTransferElement: any; SVGFECompositeElement: any; SVGFEConvolveMatrixElement: any; SVGFEDiffuseLightingElement: any; SVGFEDisplacementMapElement: any; SVGFEDistantLightElement: any; SVGFEDropShadowElement: any; SVGFEFloodElement: any; SVGFEFuncAElement: any; SVGFEFuncBElement: any; SVGFEFuncGElement: any; SVGFEFuncRElement: any; SVGFEGaussianBlurElement: any; SVGFEImageElement: any; SVGFEMergeElement: any; SVGFEMergeNodeElement: any; SVGFEMorphologyElement: any; SVGFEOffsetElement: any; SVGFEPointLightElement: any; SVGFESpecularLightingElement: any; SVGFESpotLightElement: any; SVGFETileElement: any; SVGFETurbulenceElement: any; SVGFilterElement: any; SVGForeignObjectElement: any; SVGGElement: any; SVGGeometryElement: any; SVGGradientElement: any; SVGGraphicsElement: any; SVGImageElement: any; SVGLength: any; SVGLengthList: any; SVGLineElement: any; SVGLinearGradientElement: any; SVGMPathElement: any; SVGMarkerElement: any; SVGMaskElement: any; SVGMetadataElement: any; SVGNumber: any; SVGNumberList: any; SVGPathElement: any; SVGPatternElement: any; SVGPointList: any; SVGPolygonElement: any; SVGPolylineElement: any; SVGPreserveAspectRatio: any; SVGRadialGradientElement: any; SVGRectElement: any; SVGSVGElement: any; SVGScriptElement: any; SVGSetElement: any; SVGStopElement: any; SVGStringList: any; SVGStyleElement: any; SVGSwitchElement: any; SVGSymbolElement: any; SVGTSpanElement: any; SVGTextContentElement: any; SVGTextElement: any; SVGTextPathElement: any; SVGTextPositioningElement: any; SVGTitleElement: any; SVGTransform: any; SVGTransformList: any; SVGUnitTypes: any; SVGUseElement: any; SVGViewElement: any; Screen: any; ScreenOrientation: any; ScriptProcessorNode: any; SecurityPolicyViolationEvent: any; Selection: any; ServiceWorker: any; ServiceWorkerContainer: any; ServiceWorkerRegistration: any; ShadowRoot: any; SharedWorker: any; SourceBuffer: any; SourceBufferList: any; SpeechRecognitionAlternative: any; SpeechRecognitionResult: any; SpeechRecognitionResultList: any; SpeechSynthesis: any; SpeechSynthesisErrorEvent: any; SpeechSynthesisEvent: any; SpeechSynthesisUtterance: any; SpeechSynthesisVoice: any; StaticRange: any; StereoPannerNode: any; Storage: any; StorageEvent: any; StorageManager: any; StylePropertyMap: any; StylePropertyMapReadOnly: any; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextEvent: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: any; ToggleEvent: any; Touch: any; TouchEvent: any; TouchList: any; TrackEvent: any; TransformStream: any; TransformStreamDefaultController: any; TransitionEvent: any; TreeWalker: any; UIEvent: any; URL: any; webkitURL: any; URLSearchParams: any; UserActivation: any; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoDecoder: any; VideoEncoder: any; VideoFrame: any; VideoPlaybackQuality: any; ViewTransition: any; VisualViewport: any; WakeLock: any; WakeLockSentinel: any; WaveShaperNode: any; WebGL2RenderingContext: any; WebGLActiveInfo: any; WebGLBuffer: any; WebGLContextEvent: any; WebGLFramebuffer: any; WebGLProgram: any; WebGLQuery: any; WebGLRenderbuffer: any; WebGLRenderingContext: any; WebGLSampler: any; WebGLShader: any; WebGLShaderPrecisionFormat: any; WebGLSync: any; WebGLTexture: any; WebGLTransformFeedback: any; WebGLUniformLocation: any; WebGLVertexArrayObject: any; WebSocket: any; WebTransport: any; WebTransportBidirectionalStream: any; WebTransportDatagramDuplexStream: any; WebTransportError: any; WheelEvent: any; Window: any; Worker: any; Worklet: any; WritableStream: any; WritableStreamDefaultController: any; WritableStreamDefaultWriter: any; XMLDocument: any; XMLHttpRequest: any; XMLHttpRequestEventTarget: any; XMLHttpRequestUpload: any; XMLSerializer: any; XPathEvaluator: any; XPathExpression: any; XPathResult: any; XSLTProcessor: any; console: any; CSS: any; WebAssembly: any; Audio: any; Image: any; Option: any; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: any; undefined: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly ownerDocument: unknown; readonly pictureInPictureEnabled: { valueOf: any; }; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { currentScale: any; readonly currentTranslate: any; readonly height: any; readonly width: any; readonly x: any; readonly y: any; animationsPaused: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; execCommand: unknown; exitFullscreen: unknown; exitPictureInPicture: unknown; exitPointerLock: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; hasStorageAccess: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; requestStorageAccess: unknown; startViewTransition: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; adoptedStyleSheets: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pictureInPictureElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pointerLockElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly styleSheets: { readonly length: any; item: any; }; elementFromPoint: unknown; elementsFromPoint: unknown; getAnimations: unknown; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onbeforetoggle: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextlost: unknown; oncontextmenu: unknown; oncontextrestored: unknown; oncopy: unknown; oncuechange: unknown; oncut: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; onformdata: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpaste: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onscrollend: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onslotchange: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwebkitanimationend: unknown; onwebkitanimationiteration: unknown; onwebkitanimationstart: unknown; onwebkittransitionend: unknown; onwheel: unknown; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>out2 : { onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; fetchPriority: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly href: any; }; readonly defaultView: { clientInformation: any; closed: any; customElements: any; devicePixelRatio: any; document: any; event: any; external: any; frameElement: any; frames: any; history: any; innerHeight: any; innerWidth: any; length: any; location: any; locationbar: any; menubar: any; name: any; navigator: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onorientationchange: any; opener: any; orientation: any; outerHeight: any; outerWidth: any; pageXOffset: any; pageYOffset: any; parent: any; personalbar: any; screen: any; screenLeft: any; screenTop: any; screenX: any; screenY: any; scrollX: any; scrollY: any; scrollbars: any; self: any; speechSynthesis: any; status: any; statusbar: any; toolbar: any; top: any; visualViewport: any; window: any; alert: any; blur: any; cancelIdleCallback: any; captureEvents: any; close: any; confirm: any; focus: any; getComputedStyle: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestIdleCallback: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; localStorage: any; caches: any; crossOriginIsolated: any; crypto: any; indexedDB: any; isSecureContext: any; origin: any; performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; reportError: any; setInterval: any; setTimeout: any; structuredClone: any; sessionStorage: any; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: any; Symbol: any; Object: any; Function: any; String: any; Boolean: any; Number: any; Math: any; Date: any; RegExp: any; Error: any; EvalError: any; RangeError: any; ReferenceError: any; SyntaxError: any; TypeError: any; URIError: any; JSON: any; Array: any; Promise: any; ArrayBuffer: any; DataView: any; Int8Array: any; Uint8Array: any; Uint8ClampedArray: any; Int16Array: any; Uint16Array: any; Int32Array: any; Uint32Array: any; Float32Array: any; Float64Array: any; Intl: any; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: any; AudioListener: any; AudioNode: any; AudioParam: any; AudioParamMap: any; AudioProcessingEvent: any; AudioScheduledSourceNode: any; AudioWorklet: any; AudioWorkletNode: any; AuthenticatorAssertionResponse: any; AuthenticatorAttestationResponse: any; AuthenticatorResponse: any; BarProp: any; BaseAudioContext: any; BeforeUnloadEvent: any; BiquadFilterNode: any; Blob: any; BlobEvent: any; BroadcastChannel: any; ByteLengthQueuingStrategy: any; CDATASection: any; CSSAnimation: any; CSSConditionRule: any; CSSContainerRule: any; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontFeatureValuesRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImageValue: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSKeywordValue: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMathClamp: any; CSSMathInvert: any; CSSMathMax: any; CSSMathMin: any; CSSMathNegate: any; CSSMathProduct: any; CSSMathSum: any; CSSMathValue: any; CSSMatrixComponent: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSNumericArray: any; CSSNumericValue: any; CSSPageRule: any; CSSPerspective: any; CSSPropertyRule: any; CSSRotate: any; CSSRule: any; CSSRuleList: any; CSSScale: any; CSSScopeRule: any; CSSSkew: any; CSSSkewX: any; CSSSkewY: any; CSSStartingStyleRule: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSStyleValue: any; CSSSupportsRule: any; CSSTransformComponent: any; CSSTransformValue: any; CSSTransition: any; CSSTranslate: any; CSSUnitValue: any; CSSUnparsedValue: any; CSSVariableReferenceValue: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; CompressionStream: any; ConstantSourceNode: any; ContentVisibilityAutoStateChangeEvent: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: any; CustomStateSet: any; DOMException: any; DOMImplementation: any; DOMMatrix: any; SVGMatrix: any; WebKitCSSMatrix: any; DOMMatrixReadOnly: any; DOMParser: any; DOMPoint: any; SVGPoint: any; DOMPointReadOnly: any; DOMQuad: any; DOMRect: any; SVGRect: any; DOMRectList: any; DOMRectReadOnly: any; DOMStringList: any; DOMStringMap: any; DOMTokenList: any; DataTransfer: any; DataTransferItem: any; DataTransferItemList: any; DecompressionStream: any; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; EncodedVideoChunk: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: any; External: any; File: any; FileList: any; FileReader: any; FileSystem: any; FileSystemDirectoryEntry: any; FileSystemDirectoryHandle: any; FileSystemDirectoryReader: any; FileSystemEntry: any; FileSystemFileEntry: any; FileSystemFileHandle: any; FileSystemHandle: any; FileSystemWritableFileStream: any; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: any; HTMLAllCollection: any; HTMLAnchorElement: any; HTMLAreaElement: any; HTMLAudioElement: any; HTMLBRElement: any; HTMLBaseElement: any; HTMLBodyElement: any; HTMLButtonElement: any; HTMLCanvasElement: any; HTMLCollection: any; HTMLDListElement: any; HTMLDataElement: any; HTMLDataListElement: any; HTMLDetailsElement: any; HTMLDialogElement: any; HTMLDirectoryElement: any; HTMLDivElement: any; HTMLDocument: any; HTMLElement: any; HTMLEmbedElement: any; HTMLFieldSetElement: any; HTMLFontElement: any; HTMLFormControlsCollection: any; HTMLFormElement: any; HTMLFrameElement: any; HTMLFrameSetElement: any; HTMLHRElement: any; HTMLHeadElement: any; HTMLHeadingElement: any; HTMLHtmlElement: any; HTMLIFrameElement: any; HTMLImageElement: any; HTMLInputElement: any; HTMLLIElement: any; HTMLLabelElement: any; HTMLLegendElement: any; HTMLLinkElement: any; HTMLMapElement: any; HTMLMarqueeElement: any; HTMLMediaElement: any; HTMLMenuElement: any; HTMLMetaElement: any; HTMLMeterElement: any; HTMLModElement: any; HTMLOListElement: any; HTMLObjectElement: any; HTMLOptGroupElement: any; HTMLOptionElement: any; HTMLOptionsCollection: any; HTMLOutputElement: any; HTMLParagraphElement: any; HTMLParamElement: any; HTMLPictureElement: any; HTMLPreElement: any; HTMLProgressElement: any; HTMLQuoteElement: any; HTMLScriptElement: any; HTMLSelectElement: any; HTMLSlotElement: any; HTMLSourceElement: any; HTMLSpanElement: any; HTMLStyleElement: any; HTMLTableCaptionElement: any; HTMLTableCellElement: any; HTMLTableColElement: any; HTMLTableElement: any; HTMLTableRowElement: any; HTMLTableSectionElement: any; HTMLTemplateElement: any; HTMLTextAreaElement: any; HTMLTimeElement: any; HTMLTitleElement: any; HTMLTrackElement: any; HTMLUListElement: any; HTMLUnknownElement: any; HTMLVideoElement: any; HashChangeEvent: any; Headers: any; Highlight: any; HighlightRegistry: any; History: any; IDBCursor: any; IDBCursorWithValue: any; IDBDatabase: any; IDBFactory: any; IDBIndex: any; IDBKeyRange: any; IDBObjectStore: any; IDBOpenDBRequest: any; IDBRequest: any; IDBTransaction: any; IDBVersionChangeEvent: any; IIRFilterNode: any; IdleDeadline: any; ImageBitmap: any; ImageBitmapRenderingContext: any; ImageData: any; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; LargestContentfulPaint: any; Location: any; Lock: any; LockManager: any; MIDIAccess: any; MIDIConnectionEvent: any; MIDIInput: any; MIDIInputMap: any; MIDIMessageEvent: any; MIDIOutput: any; MIDIOutputMap: any; MIDIPort: any; MathMLElement: any; MediaCapabilities: any; MediaDeviceInfo: any; MediaDevices: any; MediaElementAudioSourceNode: any; MediaEncryptedEvent: any; MediaError: any; MediaKeyMessageEvent: any; MediaKeySession: any; MediaKeyStatusMap: any; MediaKeySystemAccess: any; MediaKeys: any; MediaList: any; MediaMetadata: any; MediaQueryList: any; MediaQueryListEvent: any; MediaRecorder: any; MediaSession: any; MediaSource: any; MediaSourceHandle: any; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OffscreenCanvas: any; OffscreenCanvasRenderingContext2D: any; OscillatorNode: any; OverconstrainedError: any; PageTransitionEvent: any; PannerNode: any; Path2D: any; PaymentMethodChangeEvent: any; PaymentRequest: any; PaymentRequestUpdateEvent: any; PaymentResponse: any; Performance: any; PerformanceEntry: any; PerformanceEventTiming: any; PerformanceMark: any; PerformanceMeasure: any; PerformanceNavigation: any; PerformanceNavigationTiming: any; PerformanceObserver: any; PerformanceObserverEntryList: any; PerformancePaintTiming: any; PerformanceResourceTiming: any; PerformanceServerTiming: any; PerformanceTiming: any; PeriodicWave: any; PermissionStatus: any; Permissions: any; PictureInPictureEvent: any; PictureInPictureWindow: any; Plugin: any; PluginArray: any; PointerEvent: any; PopStateEvent: any; ProcessingInstruction: any; ProgressEvent: any; PromiseRejectionEvent: any; PublicKeyCredential: any; PushManager: any; PushSubscription: any; PushSubscriptionOptions: any; RTCCertificate: any; RTCDTMFSender: any; RTCDTMFToneChangeEvent: any; RTCDataChannel: any; RTCDataChannelEvent: any; RTCDtlsTransport: any; RTCEncodedAudioFrame: any; RTCEncodedVideoFrame: any; RTCError: any; RTCErrorEvent: any; RTCIceCandidate: any; RTCIceTransport: any; RTCPeerConnection: any; RTCPeerConnectionIceErrorEvent: any; RTCPeerConnectionIceEvent: any; RTCRtpReceiver: any; RTCRtpScriptTransform: any; RTCRtpSender: any; RTCRtpTransceiver: any; RTCSctpTransport: any; RTCSessionDescription: any; RTCStatsReport: any; RTCTrackEvent: any; RadioNodeList: any; Range: any; ReadableByteStreamController: any; ReadableStream: any; ReadableStreamBYOBReader: any; ReadableStreamBYOBRequest: any; ReadableStreamDefaultController: any; ReadableStreamDefaultReader: any; RemotePlayback: any; Report: any; ReportBody: any; ReportingObserver: any; Request: any; ResizeObserver: any; ResizeObserverEntry: any; ResizeObserverSize: any; Response: any; SVGAElement: any; SVGAngle: any; SVGAnimateElement: any; SVGAnimateMotionElement: any; SVGAnimateTransformElement: any; SVGAnimatedAngle: any; SVGAnimatedBoolean: any; SVGAnimatedEnumeration: any; SVGAnimatedInteger: any; SVGAnimatedLength: any; SVGAnimatedLengthList: any; SVGAnimatedNumber: any; SVGAnimatedNumberList: any; SVGAnimatedPreserveAspectRatio: any; SVGAnimatedRect: any; SVGAnimatedString: any; SVGAnimatedTransformList: any; SVGAnimationElement: any; SVGCircleElement: any; SVGClipPathElement: any; SVGComponentTransferFunctionElement: any; SVGDefsElement: any; SVGDescElement: any; SVGElement: any; SVGEllipseElement: any; SVGFEBlendElement: any; SVGFEColorMatrixElement: any; SVGFEComponentTransferElement: any; SVGFECompositeElement: any; SVGFEConvolveMatrixElement: any; SVGFEDiffuseLightingElement: any; SVGFEDisplacementMapElement: any; SVGFEDistantLightElement: any; SVGFEDropShadowElement: any; SVGFEFloodElement: any; SVGFEFuncAElement: any; SVGFEFuncBElement: any; SVGFEFuncGElement: any; SVGFEFuncRElement: any; SVGFEGaussianBlurElement: any; SVGFEImageElement: any; SVGFEMergeElement: any; SVGFEMergeNodeElement: any; SVGFEMorphologyElement: any; SVGFEOffsetElement: any; SVGFEPointLightElement: any; SVGFESpecularLightingElement: any; SVGFESpotLightElement: any; SVGFETileElement: any; SVGFETurbulenceElement: any; SVGFilterElement: any; SVGForeignObjectElement: any; SVGGElement: any; SVGGeometryElement: any; SVGGradientElement: any; SVGGraphicsElement: any; SVGImageElement: any; SVGLength: any; SVGLengthList: any; SVGLineElement: any; SVGLinearGradientElement: any; SVGMPathElement: any; SVGMarkerElement: any; SVGMaskElement: any; SVGMetadataElement: any; SVGNumber: any; SVGNumberList: any; SVGPathElement: any; SVGPatternElement: any; SVGPointList: any; SVGPolygonElement: any; SVGPolylineElement: any; SVGPreserveAspectRatio: any; SVGRadialGradientElement: any; SVGRectElement: any; SVGSVGElement: any; SVGScriptElement: any; SVGSetElement: any; SVGStopElement: any; SVGStringList: any; SVGStyleElement: any; SVGSwitchElement: any; SVGSymbolElement: any; SVGTSpanElement: any; SVGTextContentElement: any; SVGTextElement: any; SVGTextPathElement: any; SVGTextPositioningElement: any; SVGTitleElement: any; SVGTransform: any; SVGTransformList: any; SVGUnitTypes: any; SVGUseElement: any; SVGViewElement: any; Screen: any; ScreenOrientation: any; ScriptProcessorNode: any; SecurityPolicyViolationEvent: any; Selection: any; ServiceWorker: any; ServiceWorkerContainer: any; ServiceWorkerRegistration: any; ShadowRoot: any; SharedWorker: any; SourceBuffer: any; SourceBufferList: any; SpeechRecognitionAlternative: any; SpeechRecognitionResult: any; SpeechRecognitionResultList: any; SpeechSynthesis: any; SpeechSynthesisErrorEvent: any; SpeechSynthesisEvent: any; SpeechSynthesisUtterance: any; SpeechSynthesisVoice: any; StaticRange: any; StereoPannerNode: any; Storage: any; StorageEvent: any; StorageManager: any; StylePropertyMap: any; StylePropertyMapReadOnly: any; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextEvent: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: any; ToggleEvent: any; Touch: any; TouchEvent: any; TouchList: any; TrackEvent: any; TransformStream: any; TransformStreamDefaultController: any; TransitionEvent: any; TreeWalker: any; UIEvent: any; URL: any; webkitURL: any; URLSearchParams: any; UserActivation: any; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoDecoder: any; VideoEncoder: any; VideoFrame: any; VideoPlaybackQuality: any; ViewTransition: any; VisualViewport: any; WakeLock: any; WakeLockSentinel: any; WaveShaperNode: any; WebGL2RenderingContext: any; WebGLActiveInfo: any; WebGLBuffer: any; WebGLContextEvent: any; WebGLFramebuffer: any; WebGLProgram: any; WebGLQuery: any; WebGLRenderbuffer: any; WebGLRenderingContext: any; WebGLSampler: any; WebGLShader: any; WebGLShaderPrecisionFormat: any; WebGLSync: any; WebGLTexture: any; WebGLTransformFeedback: any; WebGLUniformLocation: any; WebGLVertexArrayObject: any; WebSocket: any; WebTransport: any; WebTransportBidirectionalStream: any; WebTransportDatagramDuplexStream: any; WebTransportError: any; WheelEvent: any; Window: any; Worker: any; Worklet: any; WritableStream: any; WritableStreamDefaultController: any; WritableStreamDefaultWriter: any; XMLDocument: any; XMLHttpRequest: any; XMLHttpRequestEventTarget: any; XMLHttpRequestUpload: any; XMLSerializer: any; XPathEvaluator: any; XPathExpression: any; XPathResult: any; XSLTProcessor: any; console: any; CSS: any; WebAssembly: any; Audio: any; Image: any; Option: any; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: any; undefined: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly ownerDocument: unknown; readonly pictureInPictureEnabled: { valueOf: any; }; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { currentScale: any; readonly currentTranslate: any; readonly height: any; readonly width: any; readonly x: any; readonly y: any; animationsPaused: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; execCommand: unknown; exitFullscreen: unknown; exitPictureInPicture: unknown; exitPointerLock: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; hasStorageAccess: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; requestStorageAccess: unknown; startViewTransition: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; adoptedStyleSheets: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pictureInPictureElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pointerLockElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly styleSheets: { readonly length: any; item: any; }; elementFromPoint: unknown; elementsFromPoint: unknown; getAnimations: unknown; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onbeforetoggle: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextlost: unknown; oncontextmenu: unknown; oncontextrestored: unknown; oncopy: unknown; oncuechange: unknown; oncut: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; onformdata: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpaste: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onscrollend: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onslotchange: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwebkitanimationend: unknown; onwebkitanimationiteration: unknown; onwebkitanimationstart: unknown; onwebkittransitionend: unknown; onwheel: unknown; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ out2.responseXML.activeElement.className.length >out2.responseXML.activeElement.className.length : { toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >out2.responseXML.activeElement.className : { toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->out2.responseXML.activeElement : { readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; fetchPriority: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly href: any; }; readonly defaultView: { clientInformation: any; closed: any; customElements: any; devicePixelRatio: any; document: any; event: any; external: any; frameElement: any; frames: any; history: any; innerHeight: any; innerWidth: any; length: any; location: any; locationbar: any; menubar: any; name: any; navigator: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onorientationchange: any; opener: any; orientation: any; outerHeight: any; outerWidth: any; pageXOffset: any; pageYOffset: any; parent: any; personalbar: any; screen: any; screenLeft: any; screenTop: any; screenX: any; screenY: any; scrollX: any; scrollY: any; scrollbars: any; self: any; speechSynthesis: any; status: any; statusbar: any; toolbar: any; top: any; visualViewport: any; window: any; alert: any; blur: any; cancelIdleCallback: any; captureEvents: any; close: any; confirm: any; focus: any; getComputedStyle: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestIdleCallback: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; localStorage: any; caches: any; crossOriginIsolated: any; crypto: any; indexedDB: any; isSecureContext: any; origin: any; performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; reportError: any; setInterval: any; setTimeout: any; structuredClone: any; sessionStorage: any; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: any; Symbol: any; Object: any; Function: any; String: any; Boolean: any; Number: any; Math: any; Date: any; RegExp: any; Error: any; EvalError: any; RangeError: any; ReferenceError: any; SyntaxError: any; TypeError: any; URIError: any; JSON: any; Array: any; Promise: any; ArrayBuffer: any; DataView: any; Int8Array: any; Uint8Array: any; Uint8ClampedArray: any; Int16Array: any; Uint16Array: any; Int32Array: any; Uint32Array: any; Float32Array: any; Float64Array: any; Intl: any; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: any; AudioListener: any; AudioNode: any; AudioParam: any; AudioParamMap: any; AudioProcessingEvent: any; AudioScheduledSourceNode: any; AudioWorklet: any; AudioWorkletNode: any; AuthenticatorAssertionResponse: any; AuthenticatorAttestationResponse: any; AuthenticatorResponse: any; BarProp: any; BaseAudioContext: any; BeforeUnloadEvent: any; BiquadFilterNode: any; Blob: any; BlobEvent: any; BroadcastChannel: any; ByteLengthQueuingStrategy: any; CDATASection: any; CSSAnimation: any; CSSConditionRule: any; CSSContainerRule: any; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontFeatureValuesRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImageValue: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSKeywordValue: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMathClamp: any; CSSMathInvert: any; CSSMathMax: any; CSSMathMin: any; CSSMathNegate: any; CSSMathProduct: any; CSSMathSum: any; CSSMathValue: any; CSSMatrixComponent: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSNumericArray: any; CSSNumericValue: any; CSSPageRule: any; CSSPerspective: any; CSSPropertyRule: any; CSSRotate: any; CSSRule: any; CSSRuleList: any; CSSScale: any; CSSScopeRule: any; CSSSkew: any; CSSSkewX: any; CSSSkewY: any; CSSStartingStyleRule: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSStyleValue: any; CSSSupportsRule: any; CSSTransformComponent: any; CSSTransformValue: any; CSSTransition: any; CSSTranslate: any; CSSUnitValue: any; CSSUnparsedValue: any; CSSVariableReferenceValue: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; CompressionStream: any; ConstantSourceNode: any; ContentVisibilityAutoStateChangeEvent: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: any; CustomStateSet: any; DOMException: any; DOMImplementation: any; DOMMatrix: any; SVGMatrix: any; WebKitCSSMatrix: any; DOMMatrixReadOnly: any; DOMParser: any; DOMPoint: any; SVGPoint: any; DOMPointReadOnly: any; DOMQuad: any; DOMRect: any; SVGRect: any; DOMRectList: any; DOMRectReadOnly: any; DOMStringList: any; DOMStringMap: any; DOMTokenList: any; DataTransfer: any; DataTransferItem: any; DataTransferItemList: any; DecompressionStream: any; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; EncodedVideoChunk: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: any; External: any; File: any; FileList: any; FileReader: any; FileSystem: any; FileSystemDirectoryEntry: any; FileSystemDirectoryHandle: any; FileSystemDirectoryReader: any; FileSystemEntry: any; FileSystemFileEntry: any; FileSystemFileHandle: any; FileSystemHandle: any; FileSystemWritableFileStream: any; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: any; HTMLAllCollection: any; HTMLAnchorElement: any; HTMLAreaElement: any; HTMLAudioElement: any; HTMLBRElement: any; HTMLBaseElement: any; HTMLBodyElement: any; HTMLButtonElement: any; HTMLCanvasElement: any; HTMLCollection: any; HTMLDListElement: any; HTMLDataElement: any; HTMLDataListElement: any; HTMLDetailsElement: any; HTMLDialogElement: any; HTMLDirectoryElement: any; HTMLDivElement: any; HTMLDocument: any; HTMLElement: any; HTMLEmbedElement: any; HTMLFieldSetElement: any; HTMLFontElement: any; HTMLFormControlsCollection: any; HTMLFormElement: any; HTMLFrameElement: any; HTMLFrameSetElement: any; HTMLHRElement: any; HTMLHeadElement: any; HTMLHeadingElement: any; HTMLHtmlElement: any; HTMLIFrameElement: any; HTMLImageElement: any; HTMLInputElement: any; HTMLLIElement: any; HTMLLabelElement: any; HTMLLegendElement: any; HTMLLinkElement: any; HTMLMapElement: any; HTMLMarqueeElement: any; HTMLMediaElement: any; HTMLMenuElement: any; HTMLMetaElement: any; HTMLMeterElement: any; HTMLModElement: any; HTMLOListElement: any; HTMLObjectElement: any; HTMLOptGroupElement: any; HTMLOptionElement: any; HTMLOptionsCollection: any; HTMLOutputElement: any; HTMLParagraphElement: any; HTMLParamElement: any; HTMLPictureElement: any; HTMLPreElement: any; HTMLProgressElement: any; HTMLQuoteElement: any; HTMLScriptElement: any; HTMLSelectElement: any; HTMLSlotElement: any; HTMLSourceElement: any; HTMLSpanElement: any; HTMLStyleElement: any; HTMLTableCaptionElement: any; HTMLTableCellElement: any; HTMLTableColElement: any; HTMLTableElement: any; HTMLTableRowElement: any; HTMLTableSectionElement: any; HTMLTemplateElement: any; HTMLTextAreaElement: any; HTMLTimeElement: any; HTMLTitleElement: any; HTMLTrackElement: any; HTMLUListElement: any; HTMLUnknownElement: any; HTMLVideoElement: any; HashChangeEvent: any; Headers: any; Highlight: any; HighlightRegistry: any; History: any; IDBCursor: any; IDBCursorWithValue: any; IDBDatabase: any; IDBFactory: any; IDBIndex: any; IDBKeyRange: any; IDBObjectStore: any; IDBOpenDBRequest: any; IDBRequest: any; IDBTransaction: any; IDBVersionChangeEvent: any; IIRFilterNode: any; IdleDeadline: any; ImageBitmap: any; ImageBitmapRenderingContext: any; ImageData: any; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; LargestContentfulPaint: any; Location: any; Lock: any; LockManager: any; MIDIAccess: any; MIDIConnectionEvent: any; MIDIInput: any; MIDIInputMap: any; MIDIMessageEvent: any; MIDIOutput: any; MIDIOutputMap: any; MIDIPort: any; MathMLElement: any; MediaCapabilities: any; MediaDeviceInfo: any; MediaDevices: any; MediaElementAudioSourceNode: any; MediaEncryptedEvent: any; MediaError: any; MediaKeyMessageEvent: any; MediaKeySession: any; MediaKeyStatusMap: any; MediaKeySystemAccess: any; MediaKeys: any; MediaList: any; MediaMetadata: any; MediaQueryList: any; MediaQueryListEvent: any; MediaRecorder: any; MediaSession: any; MediaSource: any; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OffscreenCanvas: any; OffscreenCanvasRenderingContext2D: any; OscillatorNode: any; OverconstrainedError: any; PageTransitionEvent: any; PannerNode: any; Path2D: any; PaymentMethodChangeEvent: any; PaymentRequest: any; PaymentRequestUpdateEvent: any; PaymentResponse: any; Performance: any; PerformanceEntry: any; PerformanceEventTiming: any; PerformanceMark: any; PerformanceMeasure: any; PerformanceNavigation: any; PerformanceNavigationTiming: any; PerformanceObserver: any; PerformanceObserverEntryList: any; PerformancePaintTiming: any; PerformanceResourceTiming: any; PerformanceServerTiming: any; PerformanceTiming: any; PeriodicWave: any; PermissionStatus: any; Permissions: any; PictureInPictureEvent: any; PictureInPictureWindow: any; Plugin: any; PluginArray: any; PointerEvent: any; PopStateEvent: any; ProcessingInstruction: any; ProgressEvent: any; PromiseRejectionEvent: any; PublicKeyCredential: any; PushManager: any; PushSubscription: any; PushSubscriptionOptions: any; RTCCertificate: any; RTCDTMFSender: any; RTCDTMFToneChangeEvent: any; RTCDataChannel: any; RTCDataChannelEvent: any; RTCDtlsTransport: any; RTCEncodedAudioFrame: any; RTCEncodedVideoFrame: any; RTCError: any; RTCErrorEvent: any; RTCIceCandidate: any; RTCIceTransport: any; RTCPeerConnection: any; RTCPeerConnectionIceErrorEvent: any; RTCPeerConnectionIceEvent: any; RTCRtpReceiver: any; RTCRtpScriptTransform: any; RTCRtpSender: any; RTCRtpTransceiver: any; RTCSctpTransport: any; RTCSessionDescription: any; RTCStatsReport: any; RTCTrackEvent: any; RadioNodeList: any; Range: any; ReadableByteStreamController: any; ReadableStream: any; ReadableStreamBYOBReader: any; ReadableStreamBYOBRequest: any; ReadableStreamDefaultController: any; ReadableStreamDefaultReader: any; RemotePlayback: any; Report: any; ReportBody: any; ReportingObserver: any; Request: any; ResizeObserver: any; ResizeObserverEntry: any; ResizeObserverSize: any; Response: any; SVGAElement: any; SVGAngle: any; SVGAnimateElement: any; SVGAnimateMotionElement: any; SVGAnimateTransformElement: any; SVGAnimatedAngle: any; SVGAnimatedBoolean: any; SVGAnimatedEnumeration: any; SVGAnimatedInteger: any; SVGAnimatedLength: any; SVGAnimatedLengthList: any; SVGAnimatedNumber: any; SVGAnimatedNumberList: any; SVGAnimatedPreserveAspectRatio: any; SVGAnimatedRect: any; SVGAnimatedString: any; SVGAnimatedTransformList: any; SVGAnimationElement: any; SVGCircleElement: any; SVGClipPathElement: any; SVGComponentTransferFunctionElement: any; SVGDefsElement: any; SVGDescElement: any; SVGElement: any; SVGEllipseElement: any; SVGFEBlendElement: any; SVGFEColorMatrixElement: any; SVGFEComponentTransferElement: any; SVGFECompositeElement: any; SVGFEConvolveMatrixElement: any; SVGFEDiffuseLightingElement: any; SVGFEDisplacementMapElement: any; SVGFEDistantLightElement: any; SVGFEDropShadowElement: any; SVGFEFloodElement: any; SVGFEFuncAElement: any; SVGFEFuncBElement: any; SVGFEFuncGElement: any; SVGFEFuncRElement: any; SVGFEGaussianBlurElement: any; SVGFEImageElement: any; SVGFEMergeElement: any; SVGFEMergeNodeElement: any; SVGFEMorphologyElement: any; SVGFEOffsetElement: any; SVGFEPointLightElement: any; SVGFESpecularLightingElement: any; SVGFESpotLightElement: any; SVGFETileElement: any; SVGFETurbulenceElement: any; SVGFilterElement: any; SVGForeignObjectElement: any; SVGGElement: any; SVGGeometryElement: any; SVGGradientElement: any; SVGGraphicsElement: any; SVGImageElement: any; SVGLength: any; SVGLengthList: any; SVGLineElement: any; SVGLinearGradientElement: any; SVGMPathElement: any; SVGMarkerElement: any; SVGMaskElement: any; SVGMetadataElement: any; SVGNumber: any; SVGNumberList: any; SVGPathElement: any; SVGPatternElement: any; SVGPointList: any; SVGPolygonElement: any; SVGPolylineElement: any; SVGPreserveAspectRatio: any; SVGRadialGradientElement: any; SVGRectElement: any; SVGSVGElement: any; SVGScriptElement: any; SVGSetElement: any; SVGStopElement: any; SVGStringList: any; SVGStyleElement: any; SVGSwitchElement: any; SVGSymbolElement: any; SVGTSpanElement: any; SVGTextContentElement: any; SVGTextElement: any; SVGTextPathElement: any; SVGTextPositioningElement: any; SVGTitleElement: any; SVGTransform: any; SVGTransformList: any; SVGUnitTypes: any; SVGUseElement: any; SVGViewElement: any; Screen: any; ScreenOrientation: any; ScriptProcessorNode: any; SecurityPolicyViolationEvent: any; Selection: any; ServiceWorker: any; ServiceWorkerContainer: any; ServiceWorkerRegistration: any; ShadowRoot: any; SharedWorker: any; SourceBuffer: any; SourceBufferList: any; SpeechRecognitionAlternative: any; SpeechRecognitionResult: any; SpeechRecognitionResultList: any; SpeechSynthesis: any; SpeechSynthesisErrorEvent: any; SpeechSynthesisEvent: any; SpeechSynthesisUtterance: any; SpeechSynthesisVoice: any; StaticRange: any; StereoPannerNode: any; Storage: any; StorageEvent: any; StorageManager: any; StylePropertyMap: any; StylePropertyMapReadOnly: any; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: any; ToggleEvent: any; Touch: any; TouchEvent: any; TouchList: any; TrackEvent: any; TransformStream: any; TransformStreamDefaultController: any; TransitionEvent: any; TreeWalker: any; UIEvent: any; URL: any; webkitURL: any; URLSearchParams: any; UserActivation: any; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoDecoder: any; VideoEncoder: any; VideoFrame: any; VideoPlaybackQuality: any; VisualViewport: any; WakeLock: any; WakeLockSentinel: any; WaveShaperNode: any; WebGL2RenderingContext: any; WebGLActiveInfo: any; WebGLBuffer: any; WebGLContextEvent: any; WebGLFramebuffer: any; WebGLProgram: any; WebGLQuery: any; WebGLRenderbuffer: any; WebGLRenderingContext: any; WebGLSampler: any; WebGLShader: any; WebGLShaderPrecisionFormat: any; WebGLSync: any; WebGLTexture: any; WebGLTransformFeedback: any; WebGLUniformLocation: any; WebGLVertexArrayObject: any; WebSocket: any; WebTransport: any; WebTransportBidirectionalStream: any; WebTransportDatagramDuplexStream: any; WebTransportError: any; WheelEvent: any; Window: any; Worker: any; Worklet: any; WritableStream: any; WritableStreamDefaultController: any; WritableStreamDefaultWriter: any; XMLDocument: any; XMLHttpRequest: any; XMLHttpRequestEventTarget: any; XMLHttpRequestUpload: any; XMLSerializer: any; XPathEvaluator: any; XPathExpression: any; XPathResult: any; XSLTProcessor: any; console: any; CSS: any; WebAssembly: any; Audio: any; Image: any; Option: any; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: any; undefined: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly ownerDocument: unknown; readonly pictureInPictureEnabled: { valueOf: any; }; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { currentScale: any; readonly currentTranslate: any; readonly height: any; readonly width: any; readonly x: any; readonly y: any; animationsPaused: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; execCommand: unknown; exitFullscreen: unknown; exitPictureInPicture: unknown; exitPointerLock: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; hasStorageAccess: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; requestStorageAccess: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; adoptedStyleSheets: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pictureInPictureElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pointerLockElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly styleSheets: { readonly length: any; item: any; }; elementFromPoint: unknown; elementsFromPoint: unknown; getAnimations: unknown; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onbeforetoggle: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncopy: unknown; oncuechange: unknown; oncut: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; onformdata: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpaste: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onscrollend: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onslotchange: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwebkitanimationend: unknown; onwebkitanimationiteration: unknown; onwebkitanimationstart: unknown; onwebkittransitionend: unknown; onwheel: unknown; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->out2 : { onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; fetchPriority: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly href: any; }; readonly defaultView: { clientInformation: any; closed: any; customElements: any; devicePixelRatio: any; document: any; event: any; external: any; frameElement: any; frames: any; history: any; innerHeight: any; innerWidth: any; length: any; location: any; locationbar: any; menubar: any; name: any; navigator: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onorientationchange: any; opener: any; orientation: any; outerHeight: any; outerWidth: any; pageXOffset: any; pageYOffset: any; parent: any; personalbar: any; screen: any; screenLeft: any; screenTop: any; screenX: any; screenY: any; scrollX: any; scrollY: any; scrollbars: any; self: any; speechSynthesis: any; status: any; statusbar: any; toolbar: any; top: any; visualViewport: any; window: any; alert: any; blur: any; cancelIdleCallback: any; captureEvents: any; close: any; confirm: any; focus: any; getComputedStyle: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestIdleCallback: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; localStorage: any; caches: any; crossOriginIsolated: any; crypto: any; indexedDB: any; isSecureContext: any; origin: any; performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; reportError: any; setInterval: any; setTimeout: any; structuredClone: any; sessionStorage: any; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: any; Symbol: any; Object: any; Function: any; String: any; Boolean: any; Number: any; Math: any; Date: any; RegExp: any; Error: any; EvalError: any; RangeError: any; ReferenceError: any; SyntaxError: any; TypeError: any; URIError: any; JSON: any; Array: any; Promise: any; ArrayBuffer: any; DataView: any; Int8Array: any; Uint8Array: any; Uint8ClampedArray: any; Int16Array: any; Uint16Array: any; Int32Array: any; Uint32Array: any; Float32Array: any; Float64Array: any; Intl: any; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: any; AudioListener: any; AudioNode: any; AudioParam: any; AudioParamMap: any; AudioProcessingEvent: any; AudioScheduledSourceNode: any; AudioWorklet: any; AudioWorkletNode: any; AuthenticatorAssertionResponse: any; AuthenticatorAttestationResponse: any; AuthenticatorResponse: any; BarProp: any; BaseAudioContext: any; BeforeUnloadEvent: any; BiquadFilterNode: any; Blob: any; BlobEvent: any; BroadcastChannel: any; ByteLengthQueuingStrategy: any; CDATASection: any; CSSAnimation: any; CSSConditionRule: any; CSSContainerRule: any; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontFeatureValuesRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImageValue: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSKeywordValue: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMathClamp: any; CSSMathInvert: any; CSSMathMax: any; CSSMathMin: any; CSSMathNegate: any; CSSMathProduct: any; CSSMathSum: any; CSSMathValue: any; CSSMatrixComponent: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSNumericArray: any; CSSNumericValue: any; CSSPageRule: any; CSSPerspective: any; CSSPropertyRule: any; CSSRotate: any; CSSRule: any; CSSRuleList: any; CSSScale: any; CSSScopeRule: any; CSSSkew: any; CSSSkewX: any; CSSSkewY: any; CSSStartingStyleRule: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSStyleValue: any; CSSSupportsRule: any; CSSTransformComponent: any; CSSTransformValue: any; CSSTransition: any; CSSTranslate: any; CSSUnitValue: any; CSSUnparsedValue: any; CSSVariableReferenceValue: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; CompressionStream: any; ConstantSourceNode: any; ContentVisibilityAutoStateChangeEvent: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: any; CustomStateSet: any; DOMException: any; DOMImplementation: any; DOMMatrix: any; SVGMatrix: any; WebKitCSSMatrix: any; DOMMatrixReadOnly: any; DOMParser: any; DOMPoint: any; SVGPoint: any; DOMPointReadOnly: any; DOMQuad: any; DOMRect: any; SVGRect: any; DOMRectList: any; DOMRectReadOnly: any; DOMStringList: any; DOMStringMap: any; DOMTokenList: any; DataTransfer: any; DataTransferItem: any; DataTransferItemList: any; DecompressionStream: any; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; EncodedVideoChunk: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: any; External: any; File: any; FileList: any; FileReader: any; FileSystem: any; FileSystemDirectoryEntry: any; FileSystemDirectoryHandle: any; FileSystemDirectoryReader: any; FileSystemEntry: any; FileSystemFileEntry: any; FileSystemFileHandle: any; FileSystemHandle: any; FileSystemWritableFileStream: any; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: any; HTMLAllCollection: any; HTMLAnchorElement: any; HTMLAreaElement: any; HTMLAudioElement: any; HTMLBRElement: any; HTMLBaseElement: any; HTMLBodyElement: any; HTMLButtonElement: any; HTMLCanvasElement: any; HTMLCollection: any; HTMLDListElement: any; HTMLDataElement: any; HTMLDataListElement: any; HTMLDetailsElement: any; HTMLDialogElement: any; HTMLDirectoryElement: any; HTMLDivElement: any; HTMLDocument: any; HTMLElement: any; HTMLEmbedElement: any; HTMLFieldSetElement: any; HTMLFontElement: any; HTMLFormControlsCollection: any; HTMLFormElement: any; HTMLFrameElement: any; HTMLFrameSetElement: any; HTMLHRElement: any; HTMLHeadElement: any; HTMLHeadingElement: any; HTMLHtmlElement: any; HTMLIFrameElement: any; HTMLImageElement: any; HTMLInputElement: any; HTMLLIElement: any; HTMLLabelElement: any; HTMLLegendElement: any; HTMLLinkElement: any; HTMLMapElement: any; HTMLMarqueeElement: any; HTMLMediaElement: any; HTMLMenuElement: any; HTMLMetaElement: any; HTMLMeterElement: any; HTMLModElement: any; HTMLOListElement: any; HTMLObjectElement: any; HTMLOptGroupElement: any; HTMLOptionElement: any; HTMLOptionsCollection: any; HTMLOutputElement: any; HTMLParagraphElement: any; HTMLParamElement: any; HTMLPictureElement: any; HTMLPreElement: any; HTMLProgressElement: any; HTMLQuoteElement: any; HTMLScriptElement: any; HTMLSelectElement: any; HTMLSlotElement: any; HTMLSourceElement: any; HTMLSpanElement: any; HTMLStyleElement: any; HTMLTableCaptionElement: any; HTMLTableCellElement: any; HTMLTableColElement: any; HTMLTableElement: any; HTMLTableRowElement: any; HTMLTableSectionElement: any; HTMLTemplateElement: any; HTMLTextAreaElement: any; HTMLTimeElement: any; HTMLTitleElement: any; HTMLTrackElement: any; HTMLUListElement: any; HTMLUnknownElement: any; HTMLVideoElement: any; HashChangeEvent: any; Headers: any; Highlight: any; HighlightRegistry: any; History: any; IDBCursor: any; IDBCursorWithValue: any; IDBDatabase: any; IDBFactory: any; IDBIndex: any; IDBKeyRange: any; IDBObjectStore: any; IDBOpenDBRequest: any; IDBRequest: any; IDBTransaction: any; IDBVersionChangeEvent: any; IIRFilterNode: any; IdleDeadline: any; ImageBitmap: any; ImageBitmapRenderingContext: any; ImageData: any; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; LargestContentfulPaint: any; Location: any; Lock: any; LockManager: any; MIDIAccess: any; MIDIConnectionEvent: any; MIDIInput: any; MIDIInputMap: any; MIDIMessageEvent: any; MIDIOutput: any; MIDIOutputMap: any; MIDIPort: any; MathMLElement: any; MediaCapabilities: any; MediaDeviceInfo: any; MediaDevices: any; MediaElementAudioSourceNode: any; MediaEncryptedEvent: any; MediaError: any; MediaKeyMessageEvent: any; MediaKeySession: any; MediaKeyStatusMap: any; MediaKeySystemAccess: any; MediaKeys: any; MediaList: any; MediaMetadata: any; MediaQueryList: any; MediaQueryListEvent: any; MediaRecorder: any; MediaSession: any; MediaSource: any; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OffscreenCanvas: any; OffscreenCanvasRenderingContext2D: any; OscillatorNode: any; OverconstrainedError: any; PageTransitionEvent: any; PannerNode: any; Path2D: any; PaymentMethodChangeEvent: any; PaymentRequest: any; PaymentRequestUpdateEvent: any; PaymentResponse: any; Performance: any; PerformanceEntry: any; PerformanceEventTiming: any; PerformanceMark: any; PerformanceMeasure: any; PerformanceNavigation: any; PerformanceNavigationTiming: any; PerformanceObserver: any; PerformanceObserverEntryList: any; PerformancePaintTiming: any; PerformanceResourceTiming: any; PerformanceServerTiming: any; PerformanceTiming: any; PeriodicWave: any; PermissionStatus: any; Permissions: any; PictureInPictureEvent: any; PictureInPictureWindow: any; Plugin: any; PluginArray: any; PointerEvent: any; PopStateEvent: any; ProcessingInstruction: any; ProgressEvent: any; PromiseRejectionEvent: any; PublicKeyCredential: any; PushManager: any; PushSubscription: any; PushSubscriptionOptions: any; RTCCertificate: any; RTCDTMFSender: any; RTCDTMFToneChangeEvent: any; RTCDataChannel: any; RTCDataChannelEvent: any; RTCDtlsTransport: any; RTCEncodedAudioFrame: any; RTCEncodedVideoFrame: any; RTCError: any; RTCErrorEvent: any; RTCIceCandidate: any; RTCIceTransport: any; RTCPeerConnection: any; RTCPeerConnectionIceErrorEvent: any; RTCPeerConnectionIceEvent: any; RTCRtpReceiver: any; RTCRtpScriptTransform: any; RTCRtpSender: any; RTCRtpTransceiver: any; RTCSctpTransport: any; RTCSessionDescription: any; RTCStatsReport: any; RTCTrackEvent: any; RadioNodeList: any; Range: any; ReadableByteStreamController: any; ReadableStream: any; ReadableStreamBYOBReader: any; ReadableStreamBYOBRequest: any; ReadableStreamDefaultController: any; ReadableStreamDefaultReader: any; RemotePlayback: any; Report: any; ReportBody: any; ReportingObserver: any; Request: any; ResizeObserver: any; ResizeObserverEntry: any; ResizeObserverSize: any; Response: any; SVGAElement: any; SVGAngle: any; SVGAnimateElement: any; SVGAnimateMotionElement: any; SVGAnimateTransformElement: any; SVGAnimatedAngle: any; SVGAnimatedBoolean: any; SVGAnimatedEnumeration: any; SVGAnimatedInteger: any; SVGAnimatedLength: any; SVGAnimatedLengthList: any; SVGAnimatedNumber: any; SVGAnimatedNumberList: any; SVGAnimatedPreserveAspectRatio: any; SVGAnimatedRect: any; SVGAnimatedString: any; SVGAnimatedTransformList: any; SVGAnimationElement: any; SVGCircleElement: any; SVGClipPathElement: any; SVGComponentTransferFunctionElement: any; SVGDefsElement: any; SVGDescElement: any; SVGElement: any; SVGEllipseElement: any; SVGFEBlendElement: any; SVGFEColorMatrixElement: any; SVGFEComponentTransferElement: any; SVGFECompositeElement: any; SVGFEConvolveMatrixElement: any; SVGFEDiffuseLightingElement: any; SVGFEDisplacementMapElement: any; SVGFEDistantLightElement: any; SVGFEDropShadowElement: any; SVGFEFloodElement: any; SVGFEFuncAElement: any; SVGFEFuncBElement: any; SVGFEFuncGElement: any; SVGFEFuncRElement: any; SVGFEGaussianBlurElement: any; SVGFEImageElement: any; SVGFEMergeElement: any; SVGFEMergeNodeElement: any; SVGFEMorphologyElement: any; SVGFEOffsetElement: any; SVGFEPointLightElement: any; SVGFESpecularLightingElement: any; SVGFESpotLightElement: any; SVGFETileElement: any; SVGFETurbulenceElement: any; SVGFilterElement: any; SVGForeignObjectElement: any; SVGGElement: any; SVGGeometryElement: any; SVGGradientElement: any; SVGGraphicsElement: any; SVGImageElement: any; SVGLength: any; SVGLengthList: any; SVGLineElement: any; SVGLinearGradientElement: any; SVGMPathElement: any; SVGMarkerElement: any; SVGMaskElement: any; SVGMetadataElement: any; SVGNumber: any; SVGNumberList: any; SVGPathElement: any; SVGPatternElement: any; SVGPointList: any; SVGPolygonElement: any; SVGPolylineElement: any; SVGPreserveAspectRatio: any; SVGRadialGradientElement: any; SVGRectElement: any; SVGSVGElement: any; SVGScriptElement: any; SVGSetElement: any; SVGStopElement: any; SVGStringList: any; SVGStyleElement: any; SVGSwitchElement: any; SVGSymbolElement: any; SVGTSpanElement: any; SVGTextContentElement: any; SVGTextElement: any; SVGTextPathElement: any; SVGTextPositioningElement: any; SVGTitleElement: any; SVGTransform: any; SVGTransformList: any; SVGUnitTypes: any; SVGUseElement: any; SVGViewElement: any; Screen: any; ScreenOrientation: any; ScriptProcessorNode: any; SecurityPolicyViolationEvent: any; Selection: any; ServiceWorker: any; ServiceWorkerContainer: any; ServiceWorkerRegistration: any; ShadowRoot: any; SharedWorker: any; SourceBuffer: any; SourceBufferList: any; SpeechRecognitionAlternative: any; SpeechRecognitionResult: any; SpeechRecognitionResultList: any; SpeechSynthesis: any; SpeechSynthesisErrorEvent: any; SpeechSynthesisEvent: any; SpeechSynthesisUtterance: any; SpeechSynthesisVoice: any; StaticRange: any; StereoPannerNode: any; Storage: any; StorageEvent: any; StorageManager: any; StylePropertyMap: any; StylePropertyMapReadOnly: any; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: any; ToggleEvent: any; Touch: any; TouchEvent: any; TouchList: any; TrackEvent: any; TransformStream: any; TransformStreamDefaultController: any; TransitionEvent: any; TreeWalker: any; UIEvent: any; URL: any; webkitURL: any; URLSearchParams: any; UserActivation: any; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoDecoder: any; VideoEncoder: any; VideoFrame: any; VideoPlaybackQuality: any; VisualViewport: any; WakeLock: any; WakeLockSentinel: any; WaveShaperNode: any; WebGL2RenderingContext: any; WebGLActiveInfo: any; WebGLBuffer: any; WebGLContextEvent: any; WebGLFramebuffer: any; WebGLProgram: any; WebGLQuery: any; WebGLRenderbuffer: any; WebGLRenderingContext: any; WebGLSampler: any; WebGLShader: any; WebGLShaderPrecisionFormat: any; WebGLSync: any; WebGLTexture: any; WebGLTransformFeedback: any; WebGLUniformLocation: any; WebGLVertexArrayObject: any; WebSocket: any; WebTransport: any; WebTransportBidirectionalStream: any; WebTransportDatagramDuplexStream: any; WebTransportError: any; WheelEvent: any; Window: any; Worker: any; Worklet: any; WritableStream: any; WritableStreamDefaultController: any; WritableStreamDefaultWriter: any; XMLDocument: any; XMLHttpRequest: any; XMLHttpRequestEventTarget: any; XMLHttpRequestUpload: any; XMLSerializer: any; XPathEvaluator: any; XPathExpression: any; XPathResult: any; XSLTProcessor: any; console: any; CSS: any; WebAssembly: any; Audio: any; Image: any; Option: any; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: any; undefined: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly ownerDocument: unknown; readonly pictureInPictureEnabled: { valueOf: any; }; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { currentScale: any; readonly currentTranslate: any; readonly height: any; readonly width: any; readonly x: any; readonly y: any; animationsPaused: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; execCommand: unknown; exitFullscreen: unknown; exitPictureInPicture: unknown; exitPointerLock: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; hasStorageAccess: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; requestStorageAccess: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; adoptedStyleSheets: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pictureInPictureElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pointerLockElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly styleSheets: { readonly length: any; item: any; }; elementFromPoint: unknown; elementsFromPoint: unknown; getAnimations: unknown; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onbeforetoggle: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextmenu: unknown; oncopy: unknown; oncuechange: unknown; oncut: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; onformdata: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpaste: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onscrollend: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onslotchange: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwebkitanimationend: unknown; onwebkitanimationiteration: unknown; onwebkitanimationstart: unknown; onwebkittransitionend: unknown; onwheel: unknown; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->activeElement : { readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; readonly mode: any; onslotchange: any; readonly slotAssignment: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; innerHTML: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; innerHTML: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextmenu: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>out2.responseXML.activeElement : { readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; innerHTML: any; readonly mode: any; onslotchange: any; readonly serializable: any; readonly slotAssignment: any; getHTML: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getHTML: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>out2.responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; fetchPriority: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly href: any; }; readonly defaultView: { clientInformation: any; closed: any; customElements: any; devicePixelRatio: any; document: any; event: any; external: any; frameElement: any; frames: any; history: any; innerHeight: any; innerWidth: any; length: any; location: any; locationbar: any; menubar: any; name: any; navigator: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onorientationchange: any; opener: any; orientation: any; outerHeight: any; outerWidth: any; pageXOffset: any; pageYOffset: any; parent: any; personalbar: any; screen: any; screenLeft: any; screenTop: any; screenX: any; screenY: any; scrollX: any; scrollY: any; scrollbars: any; self: any; speechSynthesis: any; status: any; statusbar: any; toolbar: any; top: any; visualViewport: any; window: any; alert: any; blur: any; cancelIdleCallback: any; captureEvents: any; close: any; confirm: any; focus: any; getComputedStyle: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestIdleCallback: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; localStorage: any; caches: any; crossOriginIsolated: any; crypto: any; indexedDB: any; isSecureContext: any; origin: any; performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; reportError: any; setInterval: any; setTimeout: any; structuredClone: any; sessionStorage: any; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: any; Symbol: any; Object: any; Function: any; String: any; Boolean: any; Number: any; Math: any; Date: any; RegExp: any; Error: any; EvalError: any; RangeError: any; ReferenceError: any; SyntaxError: any; TypeError: any; URIError: any; JSON: any; Array: any; Promise: any; ArrayBuffer: any; DataView: any; Int8Array: any; Uint8Array: any; Uint8ClampedArray: any; Int16Array: any; Uint16Array: any; Int32Array: any; Uint32Array: any; Float32Array: any; Float64Array: any; Intl: any; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: any; AudioListener: any; AudioNode: any; AudioParam: any; AudioParamMap: any; AudioProcessingEvent: any; AudioScheduledSourceNode: any; AudioWorklet: any; AudioWorkletNode: any; AuthenticatorAssertionResponse: any; AuthenticatorAttestationResponse: any; AuthenticatorResponse: any; BarProp: any; BaseAudioContext: any; BeforeUnloadEvent: any; BiquadFilterNode: any; Blob: any; BlobEvent: any; BroadcastChannel: any; ByteLengthQueuingStrategy: any; CDATASection: any; CSSAnimation: any; CSSConditionRule: any; CSSContainerRule: any; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontFeatureValuesRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImageValue: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSKeywordValue: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMathClamp: any; CSSMathInvert: any; CSSMathMax: any; CSSMathMin: any; CSSMathNegate: any; CSSMathProduct: any; CSSMathSum: any; CSSMathValue: any; CSSMatrixComponent: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSNumericArray: any; CSSNumericValue: any; CSSPageRule: any; CSSPerspective: any; CSSPropertyRule: any; CSSRotate: any; CSSRule: any; CSSRuleList: any; CSSScale: any; CSSScopeRule: any; CSSSkew: any; CSSSkewX: any; CSSSkewY: any; CSSStartingStyleRule: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSStyleValue: any; CSSSupportsRule: any; CSSTransformComponent: any; CSSTransformValue: any; CSSTransition: any; CSSTranslate: any; CSSUnitValue: any; CSSUnparsedValue: any; CSSVariableReferenceValue: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; CompressionStream: any; ConstantSourceNode: any; ContentVisibilityAutoStateChangeEvent: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: any; CustomStateSet: any; DOMException: any; DOMImplementation: any; DOMMatrix: any; SVGMatrix: any; WebKitCSSMatrix: any; DOMMatrixReadOnly: any; DOMParser: any; DOMPoint: any; SVGPoint: any; DOMPointReadOnly: any; DOMQuad: any; DOMRect: any; SVGRect: any; DOMRectList: any; DOMRectReadOnly: any; DOMStringList: any; DOMStringMap: any; DOMTokenList: any; DataTransfer: any; DataTransferItem: any; DataTransferItemList: any; DecompressionStream: any; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; EncodedVideoChunk: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: any; External: any; File: any; FileList: any; FileReader: any; FileSystem: any; FileSystemDirectoryEntry: any; FileSystemDirectoryHandle: any; FileSystemDirectoryReader: any; FileSystemEntry: any; FileSystemFileEntry: any; FileSystemFileHandle: any; FileSystemHandle: any; FileSystemWritableFileStream: any; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: any; HTMLAllCollection: any; HTMLAnchorElement: any; HTMLAreaElement: any; HTMLAudioElement: any; HTMLBRElement: any; HTMLBaseElement: any; HTMLBodyElement: any; HTMLButtonElement: any; HTMLCanvasElement: any; HTMLCollection: any; HTMLDListElement: any; HTMLDataElement: any; HTMLDataListElement: any; HTMLDetailsElement: any; HTMLDialogElement: any; HTMLDirectoryElement: any; HTMLDivElement: any; HTMLDocument: any; HTMLElement: any; HTMLEmbedElement: any; HTMLFieldSetElement: any; HTMLFontElement: any; HTMLFormControlsCollection: any; HTMLFormElement: any; HTMLFrameElement: any; HTMLFrameSetElement: any; HTMLHRElement: any; HTMLHeadElement: any; HTMLHeadingElement: any; HTMLHtmlElement: any; HTMLIFrameElement: any; HTMLImageElement: any; HTMLInputElement: any; HTMLLIElement: any; HTMLLabelElement: any; HTMLLegendElement: any; HTMLLinkElement: any; HTMLMapElement: any; HTMLMarqueeElement: any; HTMLMediaElement: any; HTMLMenuElement: any; HTMLMetaElement: any; HTMLMeterElement: any; HTMLModElement: any; HTMLOListElement: any; HTMLObjectElement: any; HTMLOptGroupElement: any; HTMLOptionElement: any; HTMLOptionsCollection: any; HTMLOutputElement: any; HTMLParagraphElement: any; HTMLParamElement: any; HTMLPictureElement: any; HTMLPreElement: any; HTMLProgressElement: any; HTMLQuoteElement: any; HTMLScriptElement: any; HTMLSelectElement: any; HTMLSlotElement: any; HTMLSourceElement: any; HTMLSpanElement: any; HTMLStyleElement: any; HTMLTableCaptionElement: any; HTMLTableCellElement: any; HTMLTableColElement: any; HTMLTableElement: any; HTMLTableRowElement: any; HTMLTableSectionElement: any; HTMLTemplateElement: any; HTMLTextAreaElement: any; HTMLTimeElement: any; HTMLTitleElement: any; HTMLTrackElement: any; HTMLUListElement: any; HTMLUnknownElement: any; HTMLVideoElement: any; HashChangeEvent: any; Headers: any; Highlight: any; HighlightRegistry: any; History: any; IDBCursor: any; IDBCursorWithValue: any; IDBDatabase: any; IDBFactory: any; IDBIndex: any; IDBKeyRange: any; IDBObjectStore: any; IDBOpenDBRequest: any; IDBRequest: any; IDBTransaction: any; IDBVersionChangeEvent: any; IIRFilterNode: any; IdleDeadline: any; ImageBitmap: any; ImageBitmapRenderingContext: any; ImageData: any; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; LargestContentfulPaint: any; Location: any; Lock: any; LockManager: any; MIDIAccess: any; MIDIConnectionEvent: any; MIDIInput: any; MIDIInputMap: any; MIDIMessageEvent: any; MIDIOutput: any; MIDIOutputMap: any; MIDIPort: any; MathMLElement: any; MediaCapabilities: any; MediaDeviceInfo: any; MediaDevices: any; MediaElementAudioSourceNode: any; MediaEncryptedEvent: any; MediaError: any; MediaKeyMessageEvent: any; MediaKeySession: any; MediaKeyStatusMap: any; MediaKeySystemAccess: any; MediaKeys: any; MediaList: any; MediaMetadata: any; MediaQueryList: any; MediaQueryListEvent: any; MediaRecorder: any; MediaSession: any; MediaSource: any; MediaSourceHandle: any; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OffscreenCanvas: any; OffscreenCanvasRenderingContext2D: any; OscillatorNode: any; OverconstrainedError: any; PageTransitionEvent: any; PannerNode: any; Path2D: any; PaymentMethodChangeEvent: any; PaymentRequest: any; PaymentRequestUpdateEvent: any; PaymentResponse: any; Performance: any; PerformanceEntry: any; PerformanceEventTiming: any; PerformanceMark: any; PerformanceMeasure: any; PerformanceNavigation: any; PerformanceNavigationTiming: any; PerformanceObserver: any; PerformanceObserverEntryList: any; PerformancePaintTiming: any; PerformanceResourceTiming: any; PerformanceServerTiming: any; PerformanceTiming: any; PeriodicWave: any; PermissionStatus: any; Permissions: any; PictureInPictureEvent: any; PictureInPictureWindow: any; Plugin: any; PluginArray: any; PointerEvent: any; PopStateEvent: any; ProcessingInstruction: any; ProgressEvent: any; PromiseRejectionEvent: any; PublicKeyCredential: any; PushManager: any; PushSubscription: any; PushSubscriptionOptions: any; RTCCertificate: any; RTCDTMFSender: any; RTCDTMFToneChangeEvent: any; RTCDataChannel: any; RTCDataChannelEvent: any; RTCDtlsTransport: any; RTCEncodedAudioFrame: any; RTCEncodedVideoFrame: any; RTCError: any; RTCErrorEvent: any; RTCIceCandidate: any; RTCIceTransport: any; RTCPeerConnection: any; RTCPeerConnectionIceErrorEvent: any; RTCPeerConnectionIceEvent: any; RTCRtpReceiver: any; RTCRtpScriptTransform: any; RTCRtpSender: any; RTCRtpTransceiver: any; RTCSctpTransport: any; RTCSessionDescription: any; RTCStatsReport: any; RTCTrackEvent: any; RadioNodeList: any; Range: any; ReadableByteStreamController: any; ReadableStream: any; ReadableStreamBYOBReader: any; ReadableStreamBYOBRequest: any; ReadableStreamDefaultController: any; ReadableStreamDefaultReader: any; RemotePlayback: any; Report: any; ReportBody: any; ReportingObserver: any; Request: any; ResizeObserver: any; ResizeObserverEntry: any; ResizeObserverSize: any; Response: any; SVGAElement: any; SVGAngle: any; SVGAnimateElement: any; SVGAnimateMotionElement: any; SVGAnimateTransformElement: any; SVGAnimatedAngle: any; SVGAnimatedBoolean: any; SVGAnimatedEnumeration: any; SVGAnimatedInteger: any; SVGAnimatedLength: any; SVGAnimatedLengthList: any; SVGAnimatedNumber: any; SVGAnimatedNumberList: any; SVGAnimatedPreserveAspectRatio: any; SVGAnimatedRect: any; SVGAnimatedString: any; SVGAnimatedTransformList: any; SVGAnimationElement: any; SVGCircleElement: any; SVGClipPathElement: any; SVGComponentTransferFunctionElement: any; SVGDefsElement: any; SVGDescElement: any; SVGElement: any; SVGEllipseElement: any; SVGFEBlendElement: any; SVGFEColorMatrixElement: any; SVGFEComponentTransferElement: any; SVGFECompositeElement: any; SVGFEConvolveMatrixElement: any; SVGFEDiffuseLightingElement: any; SVGFEDisplacementMapElement: any; SVGFEDistantLightElement: any; SVGFEDropShadowElement: any; SVGFEFloodElement: any; SVGFEFuncAElement: any; SVGFEFuncBElement: any; SVGFEFuncGElement: any; SVGFEFuncRElement: any; SVGFEGaussianBlurElement: any; SVGFEImageElement: any; SVGFEMergeElement: any; SVGFEMergeNodeElement: any; SVGFEMorphologyElement: any; SVGFEOffsetElement: any; SVGFEPointLightElement: any; SVGFESpecularLightingElement: any; SVGFESpotLightElement: any; SVGFETileElement: any; SVGFETurbulenceElement: any; SVGFilterElement: any; SVGForeignObjectElement: any; SVGGElement: any; SVGGeometryElement: any; SVGGradientElement: any; SVGGraphicsElement: any; SVGImageElement: any; SVGLength: any; SVGLengthList: any; SVGLineElement: any; SVGLinearGradientElement: any; SVGMPathElement: any; SVGMarkerElement: any; SVGMaskElement: any; SVGMetadataElement: any; SVGNumber: any; SVGNumberList: any; SVGPathElement: any; SVGPatternElement: any; SVGPointList: any; SVGPolygonElement: any; SVGPolylineElement: any; SVGPreserveAspectRatio: any; SVGRadialGradientElement: any; SVGRectElement: any; SVGSVGElement: any; SVGScriptElement: any; SVGSetElement: any; SVGStopElement: any; SVGStringList: any; SVGStyleElement: any; SVGSwitchElement: any; SVGSymbolElement: any; SVGTSpanElement: any; SVGTextContentElement: any; SVGTextElement: any; SVGTextPathElement: any; SVGTextPositioningElement: any; SVGTitleElement: any; SVGTransform: any; SVGTransformList: any; SVGUnitTypes: any; SVGUseElement: any; SVGViewElement: any; Screen: any; ScreenOrientation: any; ScriptProcessorNode: any; SecurityPolicyViolationEvent: any; Selection: any; ServiceWorker: any; ServiceWorkerContainer: any; ServiceWorkerRegistration: any; ShadowRoot: any; SharedWorker: any; SourceBuffer: any; SourceBufferList: any; SpeechRecognitionAlternative: any; SpeechRecognitionResult: any; SpeechRecognitionResultList: any; SpeechSynthesis: any; SpeechSynthesisErrorEvent: any; SpeechSynthesisEvent: any; SpeechSynthesisUtterance: any; SpeechSynthesisVoice: any; StaticRange: any; StereoPannerNode: any; Storage: any; StorageEvent: any; StorageManager: any; StylePropertyMap: any; StylePropertyMapReadOnly: any; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextEvent: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: any; ToggleEvent: any; Touch: any; TouchEvent: any; TouchList: any; TrackEvent: any; TransformStream: any; TransformStreamDefaultController: any; TransitionEvent: any; TreeWalker: any; UIEvent: any; URL: any; webkitURL: any; URLSearchParams: any; UserActivation: any; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoDecoder: any; VideoEncoder: any; VideoFrame: any; VideoPlaybackQuality: any; ViewTransition: any; VisualViewport: any; WakeLock: any; WakeLockSentinel: any; WaveShaperNode: any; WebGL2RenderingContext: any; WebGLActiveInfo: any; WebGLBuffer: any; WebGLContextEvent: any; WebGLFramebuffer: any; WebGLProgram: any; WebGLQuery: any; WebGLRenderbuffer: any; WebGLRenderingContext: any; WebGLSampler: any; WebGLShader: any; WebGLShaderPrecisionFormat: any; WebGLSync: any; WebGLTexture: any; WebGLTransformFeedback: any; WebGLUniformLocation: any; WebGLVertexArrayObject: any; WebSocket: any; WebTransport: any; WebTransportBidirectionalStream: any; WebTransportDatagramDuplexStream: any; WebTransportError: any; WheelEvent: any; Window: any; Worker: any; Worklet: any; WritableStream: any; WritableStreamDefaultController: any; WritableStreamDefaultWriter: any; XMLDocument: any; XMLHttpRequest: any; XMLHttpRequestEventTarget: any; XMLHttpRequestUpload: any; XMLSerializer: any; XPathEvaluator: any; XPathExpression: any; XPathResult: any; XSLTProcessor: any; console: any; CSS: any; WebAssembly: any; Audio: any; Image: any; Option: any; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: any; undefined: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly ownerDocument: unknown; readonly pictureInPictureEnabled: { valueOf: any; }; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { currentScale: any; readonly currentTranslate: any; readonly height: any; readonly width: any; readonly x: any; readonly y: any; animationsPaused: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; execCommand: unknown; exitFullscreen: unknown; exitPictureInPicture: unknown; exitPointerLock: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; hasStorageAccess: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; requestStorageAccess: unknown; startViewTransition: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; adoptedStyleSheets: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pictureInPictureElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pointerLockElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly styleSheets: { readonly length: any; item: any; }; elementFromPoint: unknown; elementsFromPoint: unknown; getAnimations: unknown; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onbeforetoggle: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextlost: unknown; oncontextmenu: unknown; oncontextrestored: unknown; oncopy: unknown; oncuechange: unknown; oncut: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; onformdata: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpaste: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onscrollend: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onslotchange: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwebkitanimationend: unknown; onwebkitanimationiteration: unknown; onwebkitanimationstart: unknown; onwebkittransitionend: unknown; onwheel: unknown; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>out2 : { onreadystatechange: unknown; readonly readyState: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly response: unknown; readonly responseText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; responseType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseURL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly responseXML: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly status: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly statusText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; timeout: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly upload: { addEventListener: any; removeEventListener: any; onabort: any; onerror: any; onload: any; onloadend: any; onloadstart: any; onprogress: any; ontimeout: any; dispatchEvent: any; }; withCredentials: { valueOf: any; }; abort: unknown; getAllResponseHeaders: unknown; getResponseHeader: unknown; open: unknown; overrideMimeType: unknown; send: unknown; setRequestHeader: unknown; readonly UNSENT: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly OPENED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly HEADERS_RECEIVED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly LOADING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DONE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; addEventListener: unknown; removeEventListener: unknown; onabort: unknown; onerror: unknown; onload: unknown; onloadend: unknown; onloadstart: unknown; onprogress: unknown; ontimeout: unknown; dispatchEvent: unknown; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>responseXML : { readonly URL: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; alinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly all: { readonly length: any; item: any; namedItem: any; }; readonly anchors: { item: any; namedItem: any; readonly length: any; }; readonly applets: { namedItem: any; readonly length: any; item: any; }; bgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; body: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly characterSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly charset: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly compatMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly contentType: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; cookie: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly currentScript: { async: any; charset: any; crossOrigin: any; defer: any; event: any; fetchPriority: any; htmlFor: any; integrity: any; noModule: any; referrerPolicy: any; src: any; text: any; type: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; } | { type: any; addEventListener: any; removeEventListener: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly href: any; }; readonly defaultView: { clientInformation: any; closed: any; customElements: any; devicePixelRatio: any; document: any; event: any; external: any; frameElement: any; frames: any; history: any; innerHeight: any; innerWidth: any; length: any; location: any; locationbar: any; menubar: any; name: any; navigator: any; ondevicemotion: any; ondeviceorientation: any; ondeviceorientationabsolute: any; onorientationchange: any; opener: any; orientation: any; outerHeight: any; outerWidth: any; pageXOffset: any; pageYOffset: any; parent: any; personalbar: any; screen: any; screenLeft: any; screenTop: any; screenX: any; screenY: any; scrollX: any; scrollY: any; scrollbars: any; self: any; speechSynthesis: any; status: any; statusbar: any; toolbar: any; top: any; visualViewport: any; window: any; alert: any; blur: any; cancelIdleCallback: any; captureEvents: any; close: any; confirm: any; focus: any; getComputedStyle: any; getSelection: any; matchMedia: any; moveBy: any; moveTo: any; open: any; postMessage: any; print: any; prompt: any; releaseEvents: any; requestIdleCallback: any; resizeBy: any; resizeTo: any; scroll: any; scrollBy: any; scrollTo: any; stop: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; cancelAnimationFrame: any; requestAnimationFrame: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; localStorage: any; caches: any; crossOriginIsolated: any; crypto: any; indexedDB: any; isSecureContext: any; origin: any; performance: any; atob: any; btoa: any; clearInterval: any; clearTimeout: any; createImageBitmap: any; fetch: any; queueMicrotask: any; reportError: any; setInterval: any; setTimeout: any; structuredClone: any; sessionStorage: any; readonly globalThis: any; eval: any; parseInt: any; parseFloat: any; isNaN: any; isFinite: any; decodeURI: any; decodeURIComponent: any; encodeURI: any; encodeURIComponent: any; escape: any; unescape: any; NaN: any; Infinity: any; Symbol: any; Object: any; Function: any; String: any; Boolean: any; Number: any; Math: any; Date: any; RegExp: any; Error: any; EvalError: any; RangeError: any; ReferenceError: any; SyntaxError: any; TypeError: any; URIError: any; JSON: any; Array: any; Promise: any; ArrayBuffer: any; DataView: any; Int8Array: any; Uint8Array: any; Uint8ClampedArray: any; Int16Array: any; Uint16Array: any; Int32Array: any; Uint32Array: any; Float32Array: any; Float64Array: any; Intl: any; toString: any; NodeFilter: any; AbortController: any; AbortSignal: any; AbstractRange: any; AnalyserNode: any; Animation: any; AnimationEffect: any; AnimationEvent: any; AnimationPlaybackEvent: any; AnimationTimeline: any; Attr: any; AudioBuffer: any; AudioBufferSourceNode: any; AudioContext: any; AudioDestinationNode: any; AudioListener: any; AudioNode: any; AudioParam: any; AudioParamMap: any; AudioProcessingEvent: any; AudioScheduledSourceNode: any; AudioWorklet: any; AudioWorkletNode: any; AuthenticatorAssertionResponse: any; AuthenticatorAttestationResponse: any; AuthenticatorResponse: any; BarProp: any; BaseAudioContext: any; BeforeUnloadEvent: any; BiquadFilterNode: any; Blob: any; BlobEvent: any; BroadcastChannel: any; ByteLengthQueuingStrategy: any; CDATASection: any; CSSAnimation: any; CSSConditionRule: any; CSSContainerRule: any; CSSCounterStyleRule: any; CSSFontFaceRule: any; CSSFontFeatureValuesRule: any; CSSFontPaletteValuesRule: any; CSSGroupingRule: any; CSSImageValue: any; CSSImportRule: any; CSSKeyframeRule: any; CSSKeyframesRule: any; CSSKeywordValue: any; CSSLayerBlockRule: any; CSSLayerStatementRule: any; CSSMathClamp: any; CSSMathInvert: any; CSSMathMax: any; CSSMathMin: any; CSSMathNegate: any; CSSMathProduct: any; CSSMathSum: any; CSSMathValue: any; CSSMatrixComponent: any; CSSMediaRule: any; CSSNamespaceRule: any; CSSNumericArray: any; CSSNumericValue: any; CSSPageRule: any; CSSPerspective: any; CSSPropertyRule: any; CSSRotate: any; CSSRule: any; CSSRuleList: any; CSSScale: any; CSSScopeRule: any; CSSSkew: any; CSSSkewX: any; CSSSkewY: any; CSSStartingStyleRule: any; CSSStyleDeclaration: any; CSSStyleRule: any; CSSStyleSheet: any; CSSStyleValue: any; CSSSupportsRule: any; CSSTransformComponent: any; CSSTransformValue: any; CSSTransition: any; CSSTranslate: any; CSSUnitValue: any; CSSUnparsedValue: any; CSSVariableReferenceValue: any; Cache: any; CacheStorage: any; CanvasCaptureMediaStreamTrack: any; CanvasGradient: any; CanvasPattern: any; CanvasRenderingContext2D: any; ChannelMergerNode: any; ChannelSplitterNode: any; CharacterData: any; Clipboard: any; ClipboardEvent: any; ClipboardItem: any; CloseEvent: any; Comment: any; CompositionEvent: any; CompressionStream: any; ConstantSourceNode: any; ContentVisibilityAutoStateChangeEvent: any; ConvolverNode: any; CountQueuingStrategy: any; Credential: any; CredentialsContainer: any; Crypto: any; CryptoKey: any; CustomElementRegistry: any; CustomEvent: any; CustomStateSet: any; DOMException: any; DOMImplementation: any; DOMMatrix: any; SVGMatrix: any; WebKitCSSMatrix: any; DOMMatrixReadOnly: any; DOMParser: any; DOMPoint: any; SVGPoint: any; DOMPointReadOnly: any; DOMQuad: any; DOMRect: any; SVGRect: any; DOMRectList: any; DOMRectReadOnly: any; DOMStringList: any; DOMStringMap: any; DOMTokenList: any; DataTransfer: any; DataTransferItem: any; DataTransferItemList: any; DecompressionStream: any; DelayNode: any; DeviceMotionEvent: any; DeviceOrientationEvent: any; Document: any; DocumentFragment: any; DocumentTimeline: any; DocumentType: any; DragEvent: any; DynamicsCompressorNode: any; Element: any; ElementInternals: any; EncodedVideoChunk: any; ErrorEvent: any; Event: any; EventCounts: any; EventSource: any; EventTarget: any; External: any; File: any; FileList: any; FileReader: any; FileSystem: any; FileSystemDirectoryEntry: any; FileSystemDirectoryHandle: any; FileSystemDirectoryReader: any; FileSystemEntry: any; FileSystemFileEntry: any; FileSystemFileHandle: any; FileSystemHandle: any; FileSystemWritableFileStream: any; FocusEvent: any; FontFace: any; FontFaceSet: any; FontFaceSetLoadEvent: any; FormData: any; FormDataEvent: any; GainNode: any; Gamepad: any; GamepadButton: any; GamepadEvent: any; GamepadHapticActuator: any; Geolocation: any; GeolocationCoordinates: any; GeolocationPosition: any; GeolocationPositionError: any; HTMLAllCollection: any; HTMLAnchorElement: any; HTMLAreaElement: any; HTMLAudioElement: any; HTMLBRElement: any; HTMLBaseElement: any; HTMLBodyElement: any; HTMLButtonElement: any; HTMLCanvasElement: any; HTMLCollection: any; HTMLDListElement: any; HTMLDataElement: any; HTMLDataListElement: any; HTMLDetailsElement: any; HTMLDialogElement: any; HTMLDirectoryElement: any; HTMLDivElement: any; HTMLDocument: any; HTMLElement: any; HTMLEmbedElement: any; HTMLFieldSetElement: any; HTMLFontElement: any; HTMLFormControlsCollection: any; HTMLFormElement: any; HTMLFrameElement: any; HTMLFrameSetElement: any; HTMLHRElement: any; HTMLHeadElement: any; HTMLHeadingElement: any; HTMLHtmlElement: any; HTMLIFrameElement: any; HTMLImageElement: any; HTMLInputElement: any; HTMLLIElement: any; HTMLLabelElement: any; HTMLLegendElement: any; HTMLLinkElement: any; HTMLMapElement: any; HTMLMarqueeElement: any; HTMLMediaElement: any; HTMLMenuElement: any; HTMLMetaElement: any; HTMLMeterElement: any; HTMLModElement: any; HTMLOListElement: any; HTMLObjectElement: any; HTMLOptGroupElement: any; HTMLOptionElement: any; HTMLOptionsCollection: any; HTMLOutputElement: any; HTMLParagraphElement: any; HTMLParamElement: any; HTMLPictureElement: any; HTMLPreElement: any; HTMLProgressElement: any; HTMLQuoteElement: any; HTMLScriptElement: any; HTMLSelectElement: any; HTMLSlotElement: any; HTMLSourceElement: any; HTMLSpanElement: any; HTMLStyleElement: any; HTMLTableCaptionElement: any; HTMLTableCellElement: any; HTMLTableColElement: any; HTMLTableElement: any; HTMLTableRowElement: any; HTMLTableSectionElement: any; HTMLTemplateElement: any; HTMLTextAreaElement: any; HTMLTimeElement: any; HTMLTitleElement: any; HTMLTrackElement: any; HTMLUListElement: any; HTMLUnknownElement: any; HTMLVideoElement: any; HashChangeEvent: any; Headers: any; Highlight: any; HighlightRegistry: any; History: any; IDBCursor: any; IDBCursorWithValue: any; IDBDatabase: any; IDBFactory: any; IDBIndex: any; IDBKeyRange: any; IDBObjectStore: any; IDBOpenDBRequest: any; IDBRequest: any; IDBTransaction: any; IDBVersionChangeEvent: any; IIRFilterNode: any; IdleDeadline: any; ImageBitmap: any; ImageBitmapRenderingContext: any; ImageData: any; InputDeviceInfo: any; InputEvent: any; IntersectionObserver: any; IntersectionObserverEntry: any; KeyboardEvent: any; KeyframeEffect: any; LargestContentfulPaint: any; Location: any; Lock: any; LockManager: any; MIDIAccess: any; MIDIConnectionEvent: any; MIDIInput: any; MIDIInputMap: any; MIDIMessageEvent: any; MIDIOutput: any; MIDIOutputMap: any; MIDIPort: any; MathMLElement: any; MediaCapabilities: any; MediaDeviceInfo: any; MediaDevices: any; MediaElementAudioSourceNode: any; MediaEncryptedEvent: any; MediaError: any; MediaKeyMessageEvent: any; MediaKeySession: any; MediaKeyStatusMap: any; MediaKeySystemAccess: any; MediaKeys: any; MediaList: any; MediaMetadata: any; MediaQueryList: any; MediaQueryListEvent: any; MediaRecorder: any; MediaSession: any; MediaSource: any; MediaSourceHandle: any; MediaStream: any; MediaStreamAudioDestinationNode: any; MediaStreamAudioSourceNode: any; MediaStreamTrack: any; MediaStreamTrackEvent: any; MessageChannel: any; MessageEvent: any; MessagePort: any; MimeType: any; MimeTypeArray: any; MouseEvent: any; MutationEvent: any; MutationObserver: any; MutationRecord: any; NamedNodeMap: any; NavigationPreloadManager: any; Navigator: any; Node: any; NodeIterator: any; NodeList: any; Notification: any; OfflineAudioCompletionEvent: any; OfflineAudioContext: any; OffscreenCanvas: any; OffscreenCanvasRenderingContext2D: any; OscillatorNode: any; OverconstrainedError: any; PageTransitionEvent: any; PannerNode: any; Path2D: any; PaymentMethodChangeEvent: any; PaymentRequest: any; PaymentRequestUpdateEvent: any; PaymentResponse: any; Performance: any; PerformanceEntry: any; PerformanceEventTiming: any; PerformanceMark: any; PerformanceMeasure: any; PerformanceNavigation: any; PerformanceNavigationTiming: any; PerformanceObserver: any; PerformanceObserverEntryList: any; PerformancePaintTiming: any; PerformanceResourceTiming: any; PerformanceServerTiming: any; PerformanceTiming: any; PeriodicWave: any; PermissionStatus: any; Permissions: any; PictureInPictureEvent: any; PictureInPictureWindow: any; Plugin: any; PluginArray: any; PointerEvent: any; PopStateEvent: any; ProcessingInstruction: any; ProgressEvent: any; PromiseRejectionEvent: any; PublicKeyCredential: any; PushManager: any; PushSubscription: any; PushSubscriptionOptions: any; RTCCertificate: any; RTCDTMFSender: any; RTCDTMFToneChangeEvent: any; RTCDataChannel: any; RTCDataChannelEvent: any; RTCDtlsTransport: any; RTCEncodedAudioFrame: any; RTCEncodedVideoFrame: any; RTCError: any; RTCErrorEvent: any; RTCIceCandidate: any; RTCIceTransport: any; RTCPeerConnection: any; RTCPeerConnectionIceErrorEvent: any; RTCPeerConnectionIceEvent: any; RTCRtpReceiver: any; RTCRtpScriptTransform: any; RTCRtpSender: any; RTCRtpTransceiver: any; RTCSctpTransport: any; RTCSessionDescription: any; RTCStatsReport: any; RTCTrackEvent: any; RadioNodeList: any; Range: any; ReadableByteStreamController: any; ReadableStream: any; ReadableStreamBYOBReader: any; ReadableStreamBYOBRequest: any; ReadableStreamDefaultController: any; ReadableStreamDefaultReader: any; RemotePlayback: any; Report: any; ReportBody: any; ReportingObserver: any; Request: any; ResizeObserver: any; ResizeObserverEntry: any; ResizeObserverSize: any; Response: any; SVGAElement: any; SVGAngle: any; SVGAnimateElement: any; SVGAnimateMotionElement: any; SVGAnimateTransformElement: any; SVGAnimatedAngle: any; SVGAnimatedBoolean: any; SVGAnimatedEnumeration: any; SVGAnimatedInteger: any; SVGAnimatedLength: any; SVGAnimatedLengthList: any; SVGAnimatedNumber: any; SVGAnimatedNumberList: any; SVGAnimatedPreserveAspectRatio: any; SVGAnimatedRect: any; SVGAnimatedString: any; SVGAnimatedTransformList: any; SVGAnimationElement: any; SVGCircleElement: any; SVGClipPathElement: any; SVGComponentTransferFunctionElement: any; SVGDefsElement: any; SVGDescElement: any; SVGElement: any; SVGEllipseElement: any; SVGFEBlendElement: any; SVGFEColorMatrixElement: any; SVGFEComponentTransferElement: any; SVGFECompositeElement: any; SVGFEConvolveMatrixElement: any; SVGFEDiffuseLightingElement: any; SVGFEDisplacementMapElement: any; SVGFEDistantLightElement: any; SVGFEDropShadowElement: any; SVGFEFloodElement: any; SVGFEFuncAElement: any; SVGFEFuncBElement: any; SVGFEFuncGElement: any; SVGFEFuncRElement: any; SVGFEGaussianBlurElement: any; SVGFEImageElement: any; SVGFEMergeElement: any; SVGFEMergeNodeElement: any; SVGFEMorphologyElement: any; SVGFEOffsetElement: any; SVGFEPointLightElement: any; SVGFESpecularLightingElement: any; SVGFESpotLightElement: any; SVGFETileElement: any; SVGFETurbulenceElement: any; SVGFilterElement: any; SVGForeignObjectElement: any; SVGGElement: any; SVGGeometryElement: any; SVGGradientElement: any; SVGGraphicsElement: any; SVGImageElement: any; SVGLength: any; SVGLengthList: any; SVGLineElement: any; SVGLinearGradientElement: any; SVGMPathElement: any; SVGMarkerElement: any; SVGMaskElement: any; SVGMetadataElement: any; SVGNumber: any; SVGNumberList: any; SVGPathElement: any; SVGPatternElement: any; SVGPointList: any; SVGPolygonElement: any; SVGPolylineElement: any; SVGPreserveAspectRatio: any; SVGRadialGradientElement: any; SVGRectElement: any; SVGSVGElement: any; SVGScriptElement: any; SVGSetElement: any; SVGStopElement: any; SVGStringList: any; SVGStyleElement: any; SVGSwitchElement: any; SVGSymbolElement: any; SVGTSpanElement: any; SVGTextContentElement: any; SVGTextElement: any; SVGTextPathElement: any; SVGTextPositioningElement: any; SVGTitleElement: any; SVGTransform: any; SVGTransformList: any; SVGUnitTypes: any; SVGUseElement: any; SVGViewElement: any; Screen: any; ScreenOrientation: any; ScriptProcessorNode: any; SecurityPolicyViolationEvent: any; Selection: any; ServiceWorker: any; ServiceWorkerContainer: any; ServiceWorkerRegistration: any; ShadowRoot: any; SharedWorker: any; SourceBuffer: any; SourceBufferList: any; SpeechRecognitionAlternative: any; SpeechRecognitionResult: any; SpeechRecognitionResultList: any; SpeechSynthesis: any; SpeechSynthesisErrorEvent: any; SpeechSynthesisEvent: any; SpeechSynthesisUtterance: any; SpeechSynthesisVoice: any; StaticRange: any; StereoPannerNode: any; Storage: any; StorageEvent: any; StorageManager: any; StylePropertyMap: any; StylePropertyMapReadOnly: any; StyleSheet: any; StyleSheetList: any; SubmitEvent: any; SubtleCrypto: any; Text: any; TextDecoder: any; TextDecoderStream: any; TextEncoder: any; TextEncoderStream: any; TextEvent: any; TextMetrics: any; TextTrack: any; TextTrackCue: any; TextTrackCueList: any; TextTrackList: any; TimeRanges: any; ToggleEvent: any; Touch: any; TouchEvent: any; TouchList: any; TrackEvent: any; TransformStream: any; TransformStreamDefaultController: any; TransitionEvent: any; TreeWalker: any; UIEvent: any; URL: any; webkitURL: any; URLSearchParams: any; UserActivation: any; VTTCue: any; VTTRegion: any; ValidityState: any; VideoColorSpace: any; VideoDecoder: any; VideoEncoder: any; VideoFrame: any; VideoPlaybackQuality: any; ViewTransition: any; VisualViewport: any; WakeLock: any; WakeLockSentinel: any; WaveShaperNode: any; WebGL2RenderingContext: any; WebGLActiveInfo: any; WebGLBuffer: any; WebGLContextEvent: any; WebGLFramebuffer: any; WebGLProgram: any; WebGLQuery: any; WebGLRenderbuffer: any; WebGLRenderingContext: any; WebGLSampler: any; WebGLShader: any; WebGLShaderPrecisionFormat: any; WebGLSync: any; WebGLTexture: any; WebGLTransformFeedback: any; WebGLUniformLocation: any; WebGLVertexArrayObject: any; WebSocket: any; WebTransport: any; WebTransportBidirectionalStream: any; WebTransportDatagramDuplexStream: any; WebTransportError: any; WheelEvent: any; Window: any; Worker: any; Worklet: any; WritableStream: any; WritableStreamDefaultController: any; WritableStreamDefaultWriter: any; XMLDocument: any; XMLHttpRequest: any; XMLHttpRequestEventTarget: any; XMLHttpRequestUpload: any; XMLSerializer: any; XPathEvaluator: any; XPathExpression: any; XPathResult: any; XSLTProcessor: any; console: any; CSS: any; WebAssembly: any; Audio: any; Image: any; Option: any; Map: any; WeakMap: any; Set: any; WeakSet: any; Proxy: any; Reflect: any; foo: any; undefined: any; }; designMode: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; dir: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly doctype: { readonly name: any; readonly ownerDocument: any; readonly publicId: any; readonly systemId: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; after: any; before: any; remove: any; replaceWith: any; }; readonly documentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly documentURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; domain: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly embeds: { item: any; namedItem: any; readonly length: any; }; fgColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly forms: { item: any; namedItem: any; readonly length: any; }; readonly fullscreen: { valueOf: any; }; readonly fullscreenEnabled: { valueOf: any; }; readonly head: { addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly hidden: { valueOf: any; }; readonly images: { item: any; namedItem: any; readonly length: any; }; readonly implementation: { createDocument: any; createDocumentType: any; createHTMLDocument: any; hasFeature: any; }; readonly inputEncoding: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly lastModified: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; linkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly links: { item: any; namedItem: any; readonly length: any; }; location: { readonly ancestorOrigins: any; hash: any; host: any; hostname: any; href: any; toString: any; readonly origin: any; pathname: any; port: any; protocol: any; search: any; assign: any; reload: any; replace: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; onpointerlockchange: unknown; onpointerlockerror: unknown; onreadystatechange: unknown; onvisibilitychange: unknown; readonly ownerDocument: unknown; readonly pictureInPictureEnabled: { valueOf: any; }; readonly plugins: { item: any; namedItem: any; readonly length: any; }; readonly readyState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly referrer: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly rootElement: { currentScale: any; readonly currentTranslate: any; readonly height: any; readonly width: any; readonly x: any; readonly y: any; animationsPaused: any; checkEnclosure: any; checkIntersection: any; createSVGAngle: any; createSVGLength: any; createSVGMatrix: any; createSVGNumber: any; createSVGPoint: any; createSVGRect: any; createSVGTransform: any; createSVGTransformFromMatrix: any; deselectAll: any; forceRedraw: any; getCurrentTime: any; getElementById: any; getEnclosureList: any; getIntersectionList: any; pauseAnimations: any; setCurrentTime: any; suspendRedraw: any; unpauseAnimations: any; unsuspendRedraw: any; unsuspendRedrawAll: any; addEventListener: any; removeEventListener: any; readonly transform: any; getBBox: any; getCTM: any; getScreenCTM: any; readonly className: any; readonly ownerSVGElement: any; readonly viewportElement: any; readonly attributes: any; readonly classList: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; readonly requiredExtensions: any; readonly systemLanguage: any; readonly preserveAspectRatio: any; readonly viewBox: any; onafterprint: any; onbeforeprint: any; onbeforeunload: any; ongamepadconnected: any; ongamepaddisconnected: any; onhashchange: any; onlanguagechange: any; onmessage: any; onmessageerror: any; onoffline: any; ononline: any; onpagehide: any; onpageshow: any; onpopstate: any; onrejectionhandled: any; onstorage: any; onunhandledrejection: any; onunload: any; }; readonly scripts: { item: any; namedItem: any; readonly length: any; }; readonly scrollingElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly timeline: { readonly currentTime: any; }; title: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly visibilityState: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; vlinkColor: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; adoptNode: unknown; captureEvents: unknown; caretRangeFromPoint: unknown; clear: unknown; close: unknown; createAttribute: unknown; createAttributeNS: unknown; createCDATASection: unknown; createComment: unknown; createDocumentFragment: unknown; createElement: unknown; createElementNS: unknown; createEvent: unknown; createNodeIterator: unknown; createProcessingInstruction: unknown; createRange: unknown; createTextNode: unknown; createTreeWalker: unknown; execCommand: unknown; exitFullscreen: unknown; exitPictureInPicture: unknown; exitPointerLock: unknown; getElementById: unknown; getElementsByClassName: unknown; getElementsByName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getSelection: unknown; hasFocus: unknown; hasStorageAccess: unknown; importNode: unknown; open: unknown; queryCommandEnabled: unknown; queryCommandIndeterm: unknown; queryCommandState: unknown; queryCommandSupported: unknown; queryCommandValue: unknown; releaseEvents: unknown; requestStorageAccess: unknown; startViewTransition: unknown; write: unknown; writeln: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; readonly activeElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; adoptedStyleSheets: { readonly cssRules: any; readonly ownerRule: any; readonly rules: any; addRule: any; deleteRule: any; insertRule: any; removeRule: any; replace: any; replaceSync: any; disabled: any; readonly href: any; readonly media: any; readonly ownerNode: any; readonly parentStyleSheet: any; readonly title: any; readonly type: any; }[]; readonly fullscreenElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pictureInPictureElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly pointerLockElement: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly styleSheets: { readonly length: any; item: any; }; elementFromPoint: unknown; elementsFromPoint: unknown; getAnimations: unknown; readonly fonts: { onloading: any; onloadingdone: any; onloadingerror: any; readonly ready: any; readonly status: any; check: any; load: any; forEach: any; addEventListener: any; removeEventListener: any; dispatchEvent: any; }; onabort: unknown; onanimationcancel: unknown; onanimationend: unknown; onanimationiteration: unknown; onanimationstart: unknown; onauxclick: unknown; onbeforeinput: unknown; onbeforetoggle: unknown; onblur: unknown; oncancel: unknown; oncanplay: unknown; oncanplaythrough: unknown; onchange: unknown; onclick: unknown; onclose: unknown; oncontextlost: unknown; oncontextmenu: unknown; oncontextrestored: unknown; oncopy: unknown; oncuechange: unknown; oncut: unknown; ondblclick: unknown; ondrag: unknown; ondragend: unknown; ondragenter: unknown; ondragleave: unknown; ondragover: unknown; ondragstart: unknown; ondrop: unknown; ondurationchange: unknown; onemptied: unknown; onended: unknown; onerror: unknown; onfocus: unknown; onformdata: unknown; ongotpointercapture: unknown; oninput: unknown; oninvalid: unknown; onkeydown: unknown; onkeypress: unknown; onkeyup: unknown; onload: unknown; onloadeddata: unknown; onloadedmetadata: unknown; onloadstart: unknown; onlostpointercapture: unknown; onmousedown: unknown; onmouseenter: unknown; onmouseleave: unknown; onmousemove: unknown; onmouseout: unknown; onmouseover: unknown; onmouseup: unknown; onpaste: unknown; onpause: unknown; onplay: unknown; onplaying: unknown; onpointercancel: unknown; onpointerdown: unknown; onpointerenter: unknown; onpointerleave: unknown; onpointermove: unknown; onpointerout: unknown; onpointerover: unknown; onpointerup: unknown; onprogress: unknown; onratechange: unknown; onreset: unknown; onresize: unknown; onscroll: unknown; onscrollend: unknown; onsecuritypolicyviolation: unknown; onseeked: unknown; onseeking: unknown; onselect: unknown; onselectionchange: unknown; onselectstart: unknown; onslotchange: unknown; onstalled: unknown; onsubmit: unknown; onsuspend: unknown; ontimeupdate: unknown; ontoggle: unknown; ontouchcancel?: unknown; ontouchend?: unknown; ontouchmove?: unknown; ontouchstart?: unknown; ontransitioncancel: unknown; ontransitionend: unknown; ontransitionrun: unknown; ontransitionstart: unknown; onvolumechange: unknown; onwaiting: unknown; onwebkitanimationend: unknown; onwebkitanimationiteration: unknown; onwebkitanimationstart: unknown; onwebkittransitionend: unknown; onwheel: unknown; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; createExpression: unknown; createNSResolver: unknown; evaluate: unknown; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>activeElement : { readonly attributes: { readonly length: any; getNamedItem: any; getNamedItemNS: any; item: any; removeNamedItem: any; removeNamedItemNS: any; setNamedItem: any; setNamedItemNS: any; }; readonly classList: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; className: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly clientHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly clientWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; id: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; innerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly localName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly namespaceURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; onfullscreenchange: unknown; onfullscreenerror: unknown; outerHTML: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly ownerDocument: { readonly URL: any; alinkColor: any; readonly all: any; readonly anchors: any; readonly applets: any; bgColor: any; body: any; readonly characterSet: any; readonly charset: any; readonly compatMode: any; readonly contentType: any; cookie: any; readonly currentScript: any; readonly defaultView: any; designMode: any; dir: any; readonly doctype: any; readonly documentElement: any; readonly documentURI: any; domain: any; readonly embeds: any; fgColor: any; readonly forms: any; readonly fullscreen: any; readonly fullscreenEnabled: any; readonly head: any; readonly hidden: any; readonly images: any; readonly implementation: any; readonly inputEncoding: any; readonly lastModified: any; linkColor: any; readonly links: any; location: any; onfullscreenchange: any; onfullscreenerror: any; onpointerlockchange: any; onpointerlockerror: any; onreadystatechange: any; onvisibilitychange: any; readonly ownerDocument: any; readonly pictureInPictureEnabled: any; readonly plugins: any; readonly readyState: any; readonly referrer: any; readonly rootElement: any; readonly scripts: any; readonly scrollingElement: any; readonly timeline: any; title: any; readonly visibilityState: any; vlinkColor: any; adoptNode: any; captureEvents: any; caretRangeFromPoint: any; clear: any; close: any; createAttribute: any; createAttributeNS: any; createCDATASection: any; createComment: any; createDocumentFragment: any; createElement: any; createElementNS: any; createEvent: any; createNodeIterator: any; createProcessingInstruction: any; createRange: any; createTextNode: any; createTreeWalker: any; execCommand: any; exitFullscreen: any; exitPictureInPicture: any; exitPointerLock: any; getElementById: any; getElementsByClassName: any; getElementsByName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getSelection: any; hasFocus: any; hasStorageAccess: any; importNode: any; open: any; queryCommandEnabled: any; queryCommandIndeterm: any; queryCommandState: any; queryCommandSupported: any; queryCommandValue: any; releaseEvents: any; requestStorageAccess: any; startViewTransition: any; write: any; writeln: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; readonly fonts: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; createExpression: any; createNSResolver: any; evaluate: any; }; readonly part: { readonly length: any; value: any; toString: any; add: any; contains: any; item: any; remove: any; replace: any; supports: any; toggle: any; forEach: any; }; readonly prefix: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly scrollHeight: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollLeft: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; scrollTop: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly scrollWidth: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly shadowRoot: { readonly clonable: any; readonly delegatesFocus: any; readonly host: any; innerHTML: any; readonly mode: any; onslotchange: any; readonly serializable: any; readonly slotAssignment: any; getHTML: any; setHTMLUnsafe: any; addEventListener: any; removeEventListener: any; readonly ownerDocument: any; getElementById: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly activeElement: any; adoptedStyleSheets: any; readonly fullscreenElement: any; readonly pictureInPictureElement: any; readonly pointerLockElement: any; readonly styleSheets: any; elementFromPoint: any; elementsFromPoint: any; getAnimations: any; }; slot: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly tagName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; attachShadow: unknown; checkVisibility: unknown; closest: unknown; computedStyleMap: unknown; getAttribute: unknown; getAttributeNS: unknown; getAttributeNames: unknown; getAttributeNode: unknown; getAttributeNodeNS: unknown; getBoundingClientRect: unknown; getClientRects: unknown; getElementsByClassName: unknown; getElementsByTagName: unknown; getElementsByTagNameNS: unknown; getHTML: unknown; hasAttribute: unknown; hasAttributeNS: unknown; hasAttributes: unknown; hasPointerCapture: unknown; insertAdjacentElement: unknown; insertAdjacentHTML: unknown; insertAdjacentText: unknown; matches: unknown; releasePointerCapture: unknown; removeAttribute: unknown; removeAttributeNS: unknown; removeAttributeNode: unknown; requestFullscreen: unknown; requestPointerLock: unknown; scroll: unknown; scrollBy: unknown; scrollIntoView: unknown; scrollTo: unknown; setAttribute: unknown; setAttributeNS: unknown; setAttributeNode: unknown; setAttributeNodeNS: unknown; setHTMLUnsafe: unknown; setPointerCapture: unknown; toggleAttribute: unknown; webkitMatchesSelector: unknown; addEventListener: unknown; removeEventListener: unknown; readonly baseURI: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly childNodes: { item: any; forEach: any; readonly length: any; }; readonly firstChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly isConnected: { valueOf: any; }; readonly lastChild: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nextSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly nodeName: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly nodeType: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; nodeValue: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; readonly parentElement: { accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; addEventListener: any; removeEventListener: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; readonly parentNode: { readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; readonly previousSibling: { after: any; before: any; remove: any; replaceWith: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly ownerDocument: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; addEventListener: any; dispatchEvent: any; removeEventListener: any; }; textContent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; appendChild: unknown; cloneNode: unknown; compareDocumentPosition: unknown; contains: unknown; getRootNode: unknown; hasChildNodes: unknown; insertBefore: unknown; isDefaultNamespace: unknown; isEqualNode: unknown; isSameNode: unknown; lookupNamespaceURI: unknown; lookupPrefix: unknown; normalize: unknown; removeChild: unknown; replaceChild: unknown; readonly ELEMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ATTRIBUTE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly TEXT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly CDATA_SECTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_REFERENCE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly ENTITY_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly PROCESSING_INSTRUCTION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly COMMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_TYPE_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_FRAGMENT_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly NOTATION_NODE: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_DISCONNECTED: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_PRECEDING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_FOLLOWING: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINS: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_CONTAINED_BY: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; dispatchEvent: unknown; ariaAtomic: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaAutoComplete: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBrailleRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaBusy: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaChecked: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaColSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaCurrent: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaDisabled: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaExpanded: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHasPopup: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaHidden: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaInvalid: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaKeyShortcuts: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLabel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLevel: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaLive: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaModal: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiLine: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaMultiSelectable: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaOrientation: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPlaceholder: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPosInSet: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaPressed: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaReadOnly: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRequired: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRoleDescription: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowCount: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowIndex: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaRowSpan: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSelected: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSetSize: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaSort: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMax: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueMin: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueNow: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; ariaValueText: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; role: { toString: any; charAt: any; charCodeAt: any; concat: any; indexOf: any; lastIndexOf: any; localeCompare: any; match: any; replace: any; search: any; slice: any; split: any; substring: any; toLowerCase: any; toLocaleLowerCase: any; toUpperCase: any; toLocaleUpperCase: any; trim: any; readonly length: any; substr: any; valueOf: any; codePointAt: any; includes: any; endsWith: any; normalize: any; repeat: any; startsWith: any; anchor: any; big: any; blink: any; bold: any; fixed: any; fontcolor: any; fontsize: any; italics: any; link: any; small: any; strike: any; sub: any; sup: any; [Symbol.iterator]: any; }; animate: unknown; getAnimations: unknown; after: unknown; before: unknown; remove: unknown; replaceWith: unknown; readonly nextElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly previousElementSibling: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly childElementCount: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; readonly children: { namedItem: any; readonly length: any; item: any; }; readonly firstElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; readonly lastElementChild: { readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; addEventListener: any; removeEventListener: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; }; append: unknown; prepend: unknown; querySelector: unknown; querySelectorAll: unknown; replaceChildren: unknown; readonly assignedSlot: { name: any; assign: any; assignedElements: any; assignedNodes: any; addEventListener: any; removeEventListener: any; accessKey: any; readonly accessKeyLabel: any; autocapitalize: any; dir: any; draggable: any; hidden: any; inert: any; innerText: any; lang: any; readonly offsetHeight: any; readonly offsetLeft: any; readonly offsetParent: any; readonly offsetTop: any; readonly offsetWidth: any; outerText: any; popover: any; spellcheck: any; title: any; translate: any; attachInternals: any; click: any; hidePopover: any; showPopover: any; togglePopover: any; readonly attributes: any; readonly classList: any; className: any; readonly clientHeight: any; readonly clientLeft: any; readonly clientTop: any; readonly clientWidth: any; id: any; innerHTML: any; readonly localName: any; readonly namespaceURI: any; onfullscreenchange: any; onfullscreenerror: any; outerHTML: any; readonly ownerDocument: any; readonly part: any; readonly prefix: any; readonly scrollHeight: any; scrollLeft: any; scrollTop: any; readonly scrollWidth: any; readonly shadowRoot: any; slot: any; readonly tagName: any; attachShadow: any; checkVisibility: any; closest: any; computedStyleMap: any; getAttribute: any; getAttributeNS: any; getAttributeNames: any; getAttributeNode: any; getAttributeNodeNS: any; getBoundingClientRect: any; getClientRects: any; getElementsByClassName: any; getElementsByTagName: any; getElementsByTagNameNS: any; getHTML: any; hasAttribute: any; hasAttributeNS: any; hasAttributes: any; hasPointerCapture: any; insertAdjacentElement: any; insertAdjacentHTML: any; insertAdjacentText: any; matches: any; releasePointerCapture: any; removeAttribute: any; removeAttributeNS: any; removeAttributeNode: any; requestFullscreen: any; requestPointerLock: any; scroll: any; scrollBy: any; scrollIntoView: any; scrollTo: any; setAttribute: any; setAttributeNS: any; setAttributeNode: any; setAttributeNodeNS: any; setHTMLUnsafe: any; setPointerCapture: any; toggleAttribute: any; webkitMatchesSelector: any; readonly baseURI: any; readonly childNodes: any; readonly firstChild: any; readonly isConnected: any; readonly lastChild: any; readonly nextSibling: any; readonly nodeName: any; readonly nodeType: any; nodeValue: any; readonly parentElement: any; readonly parentNode: any; readonly previousSibling: any; textContent: any; appendChild: any; cloneNode: any; compareDocumentPosition: any; contains: any; getRootNode: any; hasChildNodes: any; insertBefore: any; isDefaultNamespace: any; isEqualNode: any; isSameNode: any; lookupNamespaceURI: any; lookupPrefix: any; normalize: any; removeChild: any; replaceChild: any; readonly ELEMENT_NODE: any; readonly ATTRIBUTE_NODE: any; readonly TEXT_NODE: any; readonly CDATA_SECTION_NODE: any; readonly ENTITY_REFERENCE_NODE: any; readonly ENTITY_NODE: any; readonly PROCESSING_INSTRUCTION_NODE: any; readonly COMMENT_NODE: any; readonly DOCUMENT_NODE: any; readonly DOCUMENT_TYPE_NODE: any; readonly DOCUMENT_FRAGMENT_NODE: any; readonly NOTATION_NODE: any; readonly DOCUMENT_POSITION_DISCONNECTED: any; readonly DOCUMENT_POSITION_PRECEDING: any; readonly DOCUMENT_POSITION_FOLLOWING: any; readonly DOCUMENT_POSITION_CONTAINS: any; readonly DOCUMENT_POSITION_CONTAINED_BY: any; readonly DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC: any; dispatchEvent: any; ariaAtomic: any; ariaAutoComplete: any; ariaBrailleLabel: any; ariaBrailleRoleDescription: any; ariaBusy: any; ariaChecked: any; ariaColCount: any; ariaColIndex: any; ariaColSpan: any; ariaCurrent: any; ariaDescription: any; ariaDisabled: any; ariaExpanded: any; ariaHasPopup: any; ariaHidden: any; ariaInvalid: any; ariaKeyShortcuts: any; ariaLabel: any; ariaLevel: any; ariaLive: any; ariaModal: any; ariaMultiLine: any; ariaMultiSelectable: any; ariaOrientation: any; ariaPlaceholder: any; ariaPosInSet: any; ariaPressed: any; ariaReadOnly: any; ariaRequired: any; ariaRoleDescription: any; ariaRowCount: any; ariaRowIndex: any; ariaRowSpan: any; ariaSelected: any; ariaSetSize: any; ariaSort: any; ariaValueMax: any; ariaValueMin: any; ariaValueNow: any; ariaValueText: any; role: any; animate: any; getAnimations: any; after: any; before: any; remove: any; replaceWith: any; readonly nextElementSibling: any; readonly previousElementSibling: any; readonly childElementCount: any; readonly children: any; readonly firstElementChild: any; readonly lastElementChild: any; append: any; prepend: any; querySelector: any; querySelectorAll: any; replaceChildren: any; readonly assignedSlot: any; readonly attributeStyleMap: any; readonly style: any; contentEditable: any; enterKeyHint: any; inputMode: any; readonly isContentEditable: any; onabort: any; onanimationcancel: any; onanimationend: any; onanimationiteration: any; onanimationstart: any; onauxclick: any; onbeforeinput: any; onbeforetoggle: any; onblur: any; oncancel: any; oncanplay: any; oncanplaythrough: any; onchange: any; onclick: any; onclose: any; oncontextlost: any; oncontextmenu: any; oncontextrestored: any; oncopy: any; oncuechange: any; oncut: any; ondblclick: any; ondrag: any; ondragend: any; ondragenter: any; ondragleave: any; ondragover: any; ondragstart: any; ondrop: any; ondurationchange: any; onemptied: any; onended: any; onerror: any; onfocus: any; onformdata: any; ongotpointercapture: any; oninput: any; oninvalid: any; onkeydown: any; onkeypress: any; onkeyup: any; onload: any; onloadeddata: any; onloadedmetadata: any; onloadstart: any; onlostpointercapture: any; onmousedown: any; onmouseenter: any; onmouseleave: any; onmousemove: any; onmouseout: any; onmouseover: any; onmouseup: any; onpaste: any; onpause: any; onplay: any; onplaying: any; onpointercancel: any; onpointerdown: any; onpointerenter: any; onpointerleave: any; onpointermove: any; onpointerout: any; onpointerover: any; onpointerup: any; onprogress: any; onratechange: any; onreset: any; onresize: any; onscroll: any; onscrollend: any; onsecuritypolicyviolation: any; onseeked: any; onseeking: any; onselect: any; onselectionchange: any; onselectstart: any; onslotchange: any; onstalled: any; onsubmit: any; onsuspend: any; ontimeupdate: any; ontoggle: any; ontouchcancel?: any; ontouchend?: any; ontouchmove?: any; ontouchstart?: any; ontransitioncancel: any; ontransitionend: any; ontransitionrun: any; ontransitionstart: any; onvolumechange: any; onwaiting: any; onwebkitanimationend: any; onwebkitanimationiteration: any; onwebkitanimationstart: any; onwebkittransitionend: any; onwheel: any; autofocus: any; readonly dataset: any; nonce?: any; tabIndex: any; blur: any; focus: any; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >className : { toString: unknown; charAt: unknown; charCodeAt: unknown; concat: unknown; indexOf: unknown; lastIndexOf: unknown; localeCompare: unknown; match: unknown; replace: unknown; search: unknown; slice: unknown; split: unknown; substring: unknown; toLowerCase: unknown; toLocaleLowerCase: unknown; toUpperCase: unknown; toLocaleUpperCase: unknown; trim: unknown; readonly length: { toString: any; toFixed: any; toExponential: any; toPrecision: any; valueOf: any; toLocaleString: any; }; substr: unknown; valueOf: unknown; codePointAt: unknown; includes: unknown; endsWith: unknown; normalize: unknown; repeat: unknown; startsWith: unknown; anchor: unknown; big: unknown; blink: unknown; bold: unknown; fixed: unknown; fontcolor: unknown; fontsize: unknown; italics: unknown; link: unknown; small: unknown; strike: unknown; sub: unknown; sup: unknown; [Symbol.iterator]: unknown; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >length : { toString: unknown; toFixed: unknown; toExponential: unknown; toPrecision: unknown; valueOf: unknown; toLocaleString: unknown; } From f8a7913c1e67cc7262c49b144a90b9d577a16fef Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Thu, 18 Jul 2024 14:16:07 -0700 Subject: [PATCH 36/89] Dont filter type aquisition when its not enabled (#59351) --- src/server/project.ts | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/server/project.ts b/src/server/project.ts index d6fb86425de..cf4167040cc 100644 --- a/src/server/project.ts +++ b/src/server/project.ts @@ -1077,7 +1077,7 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo } protected removeLocalTypingsFromTypeAcquisition(newTypeAcquisition: TypeAcquisition): TypeAcquisition { - if (!newTypeAcquisition || !newTypeAcquisition.include) { + if (!newTypeAcquisition.enable || !newTypeAcquisition.include) { // Nothing to filter out, so just return as-is return newTypeAcquisition; } @@ -1627,8 +1627,9 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo } protected removeExistingTypings(include: string[]): string[] { + if (!include.length) return include; const existing = getAutomaticTypeDirectiveNames(this.getCompilerOptions(), this.directoryStructureHost); - return include.filter(i => !existing.includes(i)); + return filter(include, i => !existing.includes(i)); } private updateGraphWorker() { From 6f530cc4cef9bb56f5c7b77ff9e393c21db0e733 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Fri, 19 Jul 2024 13:14:00 -0400 Subject: [PATCH 37/89] Add TReturn/TNext to Iterable et al (#58243) --- src/compiler/checker.ts | 135 +++++----- src/compiler/commandLineParser.ts | 10 + src/compiler/diagnosticMessages.json | 4 + src/compiler/types.ts | 3 +- src/compiler/utilities.ts | 7 + src/harness/collectionsImpl.ts | 3 + src/lib/dom.iterable.d.ts | 46 ++-- src/lib/es2015.generator.d.ts | 2 +- src/lib/es2015.iterable.d.ts | 136 +++++----- src/lib/es2018.asyncgenerator.d.ts | 2 +- src/lib/es2018.asynciterable.d.ts | 10 +- src/lib/es2020.bigint.d.ts | 16 +- src/lib/es2020.string.d.ts | 2 +- src/lib/es2020.symbol.wellknown.d.ts | 2 +- src/lib/es2022.intl.d.ts | 2 +- src/services/codefixes/addMissingAwait.ts | 2 +- src/testRunner/compilerRunner.ts | 60 ++--- .../reference/YieldStarExpression4_es6.types | 4 +- tests/baselines/reference/api/typescript.d.ts | 1 + .../argumentsObjectIterator02_ES6.types | 12 +- ...strictbuiltiniteratorreturn=false).symbols | 125 +++++++++ ...n(strictbuiltiniteratorreturn=false).types | 213 +++++++++++++++ ...(strictbuiltiniteratorreturn=true).symbols | 125 +++++++++ ...rn(strictbuiltiniteratorreturn=true).types | 213 +++++++++++++++ .../conditionalTypeDoesntSpinForever.types | 4 +- .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../strict/tsconfig.json | 1 + .../strictBuiltinIteratorReturn/tsconfig.json | 5 + .../reference/customAsyncIterator.js | 2 +- .../reference/customAsyncIterator.symbols | 2 +- .../reference/customAsyncIterator.types | 2 +- .../dependentDestructuredVariables.types | 16 +- .../destructuringAssignmentWithDefault2.types | 28 +- ...(exactoptionalpropertytypes=false).symbols | 7 +- ...y2(exactoptionalpropertytypes=false).types | 146 +++++----- ...2(exactoptionalpropertytypes=true).symbols | 7 +- ...ty2(exactoptionalpropertytypes=true).types | 146 +++++----- .../reference/emitArrowFunctionES6.types | 8 +- ....asyncGenerators.classMethods.es2015.types | 4 +- ....asyncGenerators.classMethods.es2018.types | 4 +- ...ter.asyncGenerators.classMethods.es5.types | 4 +- ...nerators.functionDeclarations.es2015.types | 4 +- ...nerators.functionDeclarations.es2018.types | 4 +- ...cGenerators.functionDeclarations.es5.types | 4 +- ...enerators.functionExpressions.es2015.types | 8 +- ...enerators.functionExpressions.es2018.types | 8 +- ...ncGenerators.functionExpressions.es5.types | 8 +- ...nerators.objectLiteralMethods.es2015.types | 12 +- ...nerators.objectLiteralMethods.es2018.types | 12 +- ...cGenerators.objectLiteralMethods.es5.types | 12 +- .../esNextWeakRefs_IterableWeakMap.types | 3 +- .../excessiveStackDepthFlatArray.types | 2 +- tests/baselines/reference/for-of29.errors.txt | 4 +- .../generatorReturnTypeFallback.1.types | 4 +- .../generatorReturnTypeFallback.3.errors.txt | 10 - .../generatorReturnTypeFallback.3.symbols | 4 +- .../generatorReturnTypeFallback.3.types | 7 +- .../generatorReturnTypeFallback.4.types | 4 +- .../generatorReturnTypeFallback.5.types | 3 +- .../generatorReturnTypeInference.types | 8 +- ...eneratorReturnTypeInferenceNonStrict.types | 8 +- .../reference/generatorTypeCheck11.js | 2 +- .../reference/generatorTypeCheck11.symbols | 2 +- .../reference/generatorTypeCheck11.types | 6 +- .../reference/generatorTypeCheck12.js | 2 +- .../reference/generatorTypeCheck12.symbols | 2 +- .../reference/generatorTypeCheck12.types | 6 +- .../reference/generatorTypeCheck13.js | 2 +- .../reference/generatorTypeCheck13.symbols | 2 +- .../reference/generatorTypeCheck13.types | 9 +- .../reference/generatorTypeCheck17.types | 6 +- .../reference/generatorTypeCheck18.types | 8 +- .../reference/generatorTypeCheck19.types | 3 +- .../reference/generatorTypeCheck20.types | 4 +- .../reference/generatorTypeCheck21.types | 4 +- .../reference/generatorTypeCheck22.types | 4 +- .../reference/generatorTypeCheck23.types | 4 +- .../reference/generatorTypeCheck24.types | 4 +- .../reference/generatorTypeCheck25.errors.txt | 8 +- .../reference/generatorTypeCheck25.types | 16 +- .../reference/generatorTypeCheck26.js | 2 +- .../reference/generatorTypeCheck26.symbols | 5 +- .../reference/generatorTypeCheck26.types | 29 +- .../reference/generatorTypeCheck27.types | 11 +- .../reference/generatorTypeCheck28.types | 11 +- .../reference/generatorTypeCheck29.types | 14 +- .../reference/generatorTypeCheck30.types | 14 +- .../reference/generatorTypeCheck31.types | 4 +- .../reference/generatorTypeCheck45.types | 7 +- .../reference/generatorTypeCheck46.types | 15 +- .../reference/generatorTypeCheck53.types | 4 +- .../reference/generatorTypeCheck54.types | 4 +- .../reference/generatorTypeCheck62.errors.txt | 69 +++++ .../reference/generatorTypeCheck62.js | 12 +- .../reference/generatorTypeCheck62.symbols | 10 +- .../reference/generatorTypeCheck62.types | 76 +++--- .../reference/generatorTypeCheck63.errors.txt | 60 +++-- .../reference/generatorTypeCheck63.js | 20 +- .../reference/generatorTypeCheck63.symbols | 14 +- .../reference/generatorTypeCheck63.types | 92 +++---- .../reference/generatorTypeCheck7.errors.txt | 4 +- .../reference/generatorTypeCheck8.errors.txt | 4 +- ...rtHelpersNoHelpersForAsyncGenerators.types | 4 +- ...alse,strictbuiltiniteratorreturn=false).js | 111 ++++++++ ...false,strictbuiltiniteratorreturn=true).js | 111 ++++++++ ...true,strictbuiltiniteratorreturn=false).js | 111 ++++++++ ...=true,strictbuiltiniteratorreturn=true).js | 111 ++++++++ ...Next(strictbuiltiniteratorreturn=false).js | 80 ++++++ ...strictbuiltiniteratorreturn=false).symbols | 152 +++++++++++ ...t(strictbuiltiniteratorreturn=false).types | 247 +++++++++++++++++ ...rictbuiltiniteratorreturn=true).errors.txt | 81 ++++++ ...TNext(strictbuiltiniteratorreturn=true).js | 80 ++++++ ...(strictbuiltiniteratorreturn=true).symbols | 152 +++++++++++ ...xt(strictbuiltiniteratorreturn=true).types | 254 ++++++++++++++++++ ...lationWithMapFileAsJsWithOutDir.errors.txt | 10 +- ...ileCompilationWithMapFileAsJsWithOutDir.js | 6 +- ...ompilationWithMapFileAsJsWithOutDir.js.map | 4 +- ...ionWithMapFileAsJsWithOutDir.sourcemap.txt | 33 ++- ...mpilationWithMapFileAsJsWithOutDir.symbols | 4 + ...CompilationWithMapFileAsJsWithOutDir.types | 5 + ...TypeWithAsClauseAndLateBoundProperty.types | 12 +- ...edTypeWithAsClauseAndLateBoundProperty2.js | 4 +- ...ypeWithAsClauseAndLateBoundProperty2.types | 12 +- ....asyncGenerators.classMethods.es2018.types | 4 +- ...nerators.functionDeclarations.es2018.types | 4 +- ...enerators.functionExpressions.es2018.types | 8 +- ...nerators.objectLiteralMethods.es2018.types | 12 +- .../reference/regexMatchAll-esnext.types | 4 +- tests/baselines/reference/regexMatchAll.types | 4 +- .../baselines/reference/stringMatchAll.types | 8 +- .../types.asyncGenerators.es2018.1.types | 194 ++++++------- .../types.asyncGenerators.es2018.2.errors.txt | 80 +++--- .../types.asyncGenerators.es2018.2.types | 164 +++++------ .../types.forAwait.es2018.2.errors.txt | 2 + tests/baselines/reference/uniqueSymbols.types | 21 +- .../reference/uniqueSymbolsDeclarations.types | 21 +- .../reference/yieldExpression1.types | 8 +- .../yieldExpressionInnerCommentEmit.types | 4 +- tests/cases/compiler/customAsyncIterator.ts | 2 +- .../discriminateWithOptionalProperty2.ts | 2 +- ...DeclarationsStrictBuiltinIteratorReturn.ts | 53 ++++ tests/cases/compiler/iterableTReturnTNext.ts | 50 ++++ ...ileCompilationWithMapFileAsJsWithOutDir.ts | 2 +- .../yieldExpressions/generatorTypeCheck11.ts | 2 +- .../yieldExpressions/generatorTypeCheck12.ts | 2 +- .../yieldExpressions/generatorTypeCheck13.ts | 2 +- .../yieldExpressions/generatorTypeCheck26.ts | 2 +- .../yieldExpressions/generatorTypeCheck62.ts | 8 +- .../yieldExpressions/generatorTypeCheck63.ts | 12 +- .../generatorReturnTypeFallback.3.ts | 2 - .../typeAliases/builtinIteratorReturn.ts | 32 +++ .../codeFixAddMissingProperties22.ts | 2 +- 163 files changed, 3476 insertions(+), 1056 deletions(-) create mode 100644 tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).symbols create mode 100644 tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).types create mode 100644 tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).symbols create mode 100644 tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).types create mode 100644 tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strictBuiltinIteratorReturn/tsconfig.json delete mode 100644 tests/baselines/reference/generatorReturnTypeFallback.3.errors.txt create mode 100644 tests/baselines/reference/generatorTypeCheck62.errors.txt create mode 100644 tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=false,strictbuiltiniteratorreturn=false).js create mode 100644 tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=false,strictbuiltiniteratorreturn=true).js create mode 100644 tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=true,strictbuiltiniteratorreturn=false).js create mode 100644 tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=true,strictbuiltiniteratorreturn=true).js create mode 100644 tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).js create mode 100644 tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).symbols create mode 100644 tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types create mode 100644 tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).errors.txt create mode 100644 tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).js create mode 100644 tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).symbols create mode 100644 tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types create mode 100644 tests/cases/compiler/isolatedDeclarationsStrictBuiltinIteratorReturn.ts create mode 100644 tests/cases/compiler/iterableTReturnTNext.ts create mode 100644 tests/cases/conformance/types/typeAliases/builtinIteratorReturn.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 5e38395c32d..b31f54a89b7 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1499,6 +1499,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { var strictFunctionTypes = getStrictOptionValue(compilerOptions, "strictFunctionTypes"); var strictBindCallApply = getStrictOptionValue(compilerOptions, "strictBindCallApply"); var strictPropertyInitialization = getStrictOptionValue(compilerOptions, "strictPropertyInitialization"); + var strictBuiltinIteratorReturn = getStrictOptionValue(compilerOptions, "strictBuiltinIteratorReturn"); var noImplicitAny = getStrictOptionValue(compilerOptions, "noImplicitAny"); var noImplicitThis = getStrictOptionValue(compilerOptions, "noImplicitThis"); var useUnknownInCatchVariables = getStrictOptionValue(compilerOptions, "useUnknownInCatchVariables"); @@ -1823,10 +1824,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { getOptionalType: () => optionalType, getPromiseType: () => getGlobalPromiseType(/*reportErrors*/ false), getPromiseLikeType: () => getGlobalPromiseLikeType(/*reportErrors*/ false), - getAsyncIterableType: () => { + getAnyAsyncIterableType: () => { const type = getGlobalAsyncIterableType(/*reportErrors*/ false); if (type === emptyGenericType) return undefined; - return type; + return createTypeReference(type, [anyType, anyType, anyType]); }, isSymbolAccessible, isArrayType, @@ -2150,8 +2151,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { }; var anyIterationTypes = createIterationTypes(anyType, anyType, anyType); - var anyIterationTypesExceptNext = createIterationTypes(anyType, anyType, unknownType); - var defaultIterationTypes = createIterationTypes(neverType, anyType, undefinedType); // default iteration types for `Iterator`. var asyncIterationTypesResolver: IterationTypesResolver = { iterableCacheKey: "iterationTypesOfAsyncIterable", @@ -6877,7 +6876,37 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } let typeArgumentNodes: readonly TypeNode[] | undefined; if (typeArguments.length > 0) { - const typeParameterCount = (type.target.typeParameters || emptyArray).length; + let typeParameterCount = 0; + if (type.target.typeParameters) { + typeParameterCount = Math.min(type.target.typeParameters.length, typeArguments.length); + + // Maybe we should do this for more types, but for now we only elide type arguments that are + // identical to their associated type parameters' defaults for `Iterable`, `IterableIterator`, + // `AsyncIterable`, and `AsyncIterableIterator` to provide backwards-compatible .d.ts emit due + // to each now having three type parameters instead of only one. + if ( + isReferenceToType(type, getGlobalIterableType(/*reportErrors*/ false)) || + isReferenceToType(type, getGlobalIterableIteratorType(/*reportErrors*/ false)) || + isReferenceToType(type, getGlobalAsyncIterableType(/*reportErrors*/ false)) || + isReferenceToType(type, getGlobalAsyncIterableIteratorType(/*reportErrors*/ false)) + ) { + if ( + !type.node || !isTypeReferenceNode(type.node) || !type.node.typeArguments || + type.node.typeArguments.length < typeParameterCount + ) { + while (typeParameterCount > 0) { + const typeArgument = typeArguments[typeParameterCount - 1]; + const typeParameter = type.target.typeParameters[typeParameterCount - 1]; + const defaultType = getDefaultFromTypeParameter(typeParameter); + if (!defaultType || !isTypeIdenticalTo(typeArgument, defaultType)) { + break; + } + typeParameterCount--; + } + } + } + } + typeArgumentNodes = mapToTypeNodes(typeArguments.slice(i, typeParameterCount), context); } const flags = context.flags; @@ -12943,7 +12972,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const typeNode = isJSDocTypeAlias(declaration) ? declaration.typeExpression : declaration.type; // If typeNode is missing, we will error in checkJSDocTypedefTag. let type = typeNode ? getTypeFromTypeNode(typeNode) : errorType; - if (popTypeResolution()) { const typeParameters = getLocalTypeParametersOfClassOrInterfaceOrTypeAlias(symbol); if (typeParameters) { @@ -12953,6 +12981,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { links.instantiations = new Map(); links.instantiations.set(getTypeListId(typeParameters), type); } + if (type === intrinsicMarkerType && symbol.escapedName === "BuiltinIteratorReturn") { + type = strictBuiltinIteratorReturn ? undefinedType : anyType; + } } else { type = errorType; @@ -16888,7 +16919,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function getGlobalAsyncIterableType(reportErrors: boolean) { - return (deferredGlobalAsyncIterableType ||= getGlobalType("AsyncIterable" as __String, /*arity*/ 1, reportErrors)) || emptyGenericType; + return (deferredGlobalAsyncIterableType ||= getGlobalType("AsyncIterable" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; } function getGlobalAsyncIteratorType(reportErrors: boolean) { @@ -16896,7 +16927,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function getGlobalAsyncIterableIteratorType(reportErrors: boolean) { - return (deferredGlobalAsyncIterableIteratorType ||= getGlobalType("AsyncIterableIterator" as __String, /*arity*/ 1, reportErrors)) || emptyGenericType; + return (deferredGlobalAsyncIterableIteratorType ||= getGlobalType("AsyncIterableIterator" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; } function getGlobalAsyncGeneratorType(reportErrors: boolean) { @@ -16904,7 +16935,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function getGlobalIterableType(reportErrors: boolean) { - return (deferredGlobalIterableType ||= getGlobalType("Iterable" as __String, /*arity*/ 1, reportErrors)) || emptyGenericType; + return (deferredGlobalIterableType ||= getGlobalType("Iterable" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; } function getGlobalIteratorType(reportErrors: boolean) { @@ -16912,7 +16943,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function getGlobalIterableIteratorType(reportErrors: boolean) { - return (deferredGlobalIterableIteratorType ||= getGlobalType("IterableIterator" as __String, /*arity*/ 1, reportErrors)) || emptyGenericType; + return (deferredGlobalIterableIteratorType ||= getGlobalType("IterableIterator" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; } function getGlobalGeneratorType(reportErrors: boolean) { @@ -17015,7 +17046,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function createIterableType(iteratedType: Type): Type { - return createTypeFromGenericGlobalType(getGlobalIterableType(/*reportErrors*/ true), [iteratedType]); + return createTypeFromGenericGlobalType(getGlobalIterableType(/*reportErrors*/ true), [iteratedType, voidType, undefinedType]); } function createArrayType(elementType: Type, readonly?: boolean): ObjectType { @@ -38209,28 +38240,14 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { returnType = resolver.resolveIterationType(returnType, /*errorNode*/ undefined) || unknownType; nextType = resolver.resolveIterationType(nextType, /*errorNode*/ undefined) || unknownType; if (globalGeneratorType === emptyGenericType) { - // Fall back to the global IterableIterator if returnType is assignable to the expected return iteration - // type of IterableIterator, and the expected next iteration type of IterableIterator is assignable to - // nextType. - const globalType = resolver.getGlobalIterableIteratorType(/*reportErrors*/ false); - const iterationTypes = globalType !== emptyGenericType ? getIterationTypesOfGlobalIterableType(globalType, resolver) : undefined; - const iterableIteratorReturnType = iterationTypes ? iterationTypes.returnType : anyType; - const iterableIteratorNextType = iterationTypes ? iterationTypes.nextType : undefinedType; - if ( - isTypeAssignableTo(returnType, iterableIteratorReturnType) && - isTypeAssignableTo(iterableIteratorNextType, nextType) - ) { - if (globalType !== emptyGenericType) { - return createTypeFromGenericGlobalType(globalType, [yieldType]); - } - - // The global IterableIterator type doesn't exist, so report an error - resolver.getGlobalIterableIteratorType(/*reportErrors*/ true); - return emptyObjectType; + // Fall back to the global IterableIterator type. + const globalIterableIteratorType = resolver.getGlobalIterableIteratorType(/*reportErrors*/ false); + if (globalIterableIteratorType !== emptyGenericType) { + return createTypeFromGenericGlobalType(globalIterableIteratorType, [yieldType, returnType, nextType]); } // The global Generator type doesn't exist, so report an error - resolver.getGlobalGeneratorType(/*reportErrors*/ true); + resolver.getGlobalIterableIteratorType(/*reportErrors*/ true); return emptyObjectType; } @@ -44740,12 +44757,6 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return getCachedIterationTypes(type, resolver.iterableCacheKey); } - function getIterationTypesOfGlobalIterableType(globalType: Type, resolver: IterationTypesResolver) { - const globalIterationTypes = getIterationTypesOfIterableCached(globalType, resolver) || - getIterationTypesOfIterableSlow(globalType, resolver, /*errorNode*/ undefined, /*errorOutputContainer*/ undefined, /*noCache*/ false); - return globalIterationTypes === noIterationTypes ? defaultIterationTypes : globalIterationTypes; - } - /** * Gets the *yield*, *return*, and *next* types of an `Iterable`-like or `AsyncIterable`-like * type from from common heuristics. @@ -44759,28 +44770,16 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { * `getIterationTypesOfIterable` instead. */ function getIterationTypesOfIterableFast(type: Type, resolver: IterationTypesResolver) { - // As an optimization, if the type is an instantiation of one of the following global types, then - // just grab its related type argument: - // - `Iterable` or `AsyncIterable` - // - `IterableIterator` or `AsyncIterableIterator` - let globalType: Type; - if ( - isReferenceToType(type, globalType = resolver.getGlobalIterableType(/*reportErrors*/ false)) || - isReferenceToType(type, globalType = resolver.getGlobalIterableIteratorType(/*reportErrors*/ false)) - ) { - const [yieldType] = getTypeArguments(type as GenericType); - // The "return" and "next" types of `Iterable` and `IterableIterator` are defined by the - // iteration types of their `[Symbol.iterator]()` method. The same is true for their async cousins. - // While we define these as `any` and `undefined` in our libs by default, a custom lib *could* use - // different definitions. - const { returnType, nextType } = getIterationTypesOfGlobalIterableType(globalType, resolver); - return setCachedIterationTypes(type, resolver.iterableCacheKey, createIterationTypes(resolver.resolveIterationType(yieldType, /*errorNode*/ undefined) || yieldType, resolver.resolveIterationType(returnType, /*errorNode*/ undefined) || returnType, nextType)); - } - // As an optimization, if the type is an instantiation of the following global type, then // just grab its related type arguments: + // - `Iterable` or `AsyncIterable` + // - `IterableIterator` or `AsyncIterableIterator` // - `Generator` or `AsyncGenerator` - if (isReferenceToType(type, resolver.getGlobalGeneratorType(/*reportErrors*/ false))) { + if ( + isReferenceToType(type, resolver.getGlobalIterableType(/*reportErrors*/ false)) || + isReferenceToType(type, resolver.getGlobalIterableIteratorType(/*reportErrors*/ false)) || + isReferenceToType(type, resolver.getGlobalGeneratorType(/*reportErrors*/ false)) + ) { const [yieldType, returnType, nextType] = getTypeArguments(type as GenericType); return setCachedIterationTypes(type, resolver.iterableCacheKey, createIterationTypes(resolver.resolveIterationType(yieldType, /*errorNode*/ undefined) || yieldType, resolver.resolveIterationType(returnType, /*errorNode*/ undefined) || returnType, nextType)); } @@ -44832,7 +44831,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { isForOfStatement(errorNode.parent) && errorNode.parent.expression === errorNode && getGlobalAsyncIterableType(/*reportErrors*/ false) !== emptyGenericType && - isTypeAssignableTo(type, getGlobalAsyncIterableType(/*reportErrors*/ false)) + isTypeAssignableTo(type, createTypeFromGenericGlobalType(getGlobalAsyncIterableType(/*reportErrors*/ false), [anyType, anyType, anyType])) ); return errorAndMaybeSuggestAwait(errorNode, suggestAwait, message, typeToString(type)); } @@ -44898,22 +44897,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { */ function getIterationTypesOfIteratorFast(type: Type, resolver: IterationTypesResolver) { // As an optimization, if the type is an instantiation of one of the following global types, - // then just grab its related type argument: - // - `IterableIterator` or `AsyncIterableIterator` + // then just grab its related type arguments: + // - `IterableIterator` or `AsyncIterableIterator` // - `Iterator` or `AsyncIterator` // - `Generator` or `AsyncGenerator` - const globalType = resolver.getGlobalIterableIteratorType(/*reportErrors*/ false); - if (isReferenceToType(type, globalType)) { - const [yieldType] = getTypeArguments(type as GenericType); - // The "return" and "next" types of `IterableIterator` and `AsyncIterableIterator` are defined by the - // iteration types of their `next`, `return`, and `throw` methods. While we define these as `any` - // and `undefined` in our libs by default, a custom lib *could* use different definitions. - const globalIterationTypes = getIterationTypesOfIteratorCached(globalType, resolver) || - getIterationTypesOfIteratorSlow(globalType, resolver, /*errorNode*/ undefined, /*errorOutputContainer*/ undefined, /*noCache*/ false); - const { returnType, nextType } = globalIterationTypes === noIterationTypes ? defaultIterationTypes : globalIterationTypes; - return setCachedIterationTypes(type, resolver.iteratorCacheKey, createIterationTypes(yieldType, returnType, nextType)); - } if ( + isReferenceToType(type, resolver.getGlobalIterableIteratorType(/*reportErrors*/ false)) || isReferenceToType(type, resolver.getGlobalIteratorType(/*reportErrors*/ false)) || isReferenceToType(type, resolver.getGlobalGeneratorType(/*reportErrors*/ false)) ) { @@ -45005,8 +44994,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { : undefined; if (isTypeAny(methodType)) { - // `return()` and `throw()` don't provide a *next* type. - return methodName === "next" ? anyIterationTypes : anyIterationTypesExceptNext; + return anyIterationTypes; } // Both async and non-async iterators *must* have a `next` method. @@ -46465,7 +46453,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { checkExportsOnMergedDeclarations(node); checkTypeParameters(node.typeParameters); if (node.type.kind === SyntaxKind.IntrinsicKeyword) { - if (!intrinsicTypeKinds.has(node.name.escapedText as string) || length(node.typeParameters) !== 1) { + const typeParameterCount = length(node.typeParameters); + const valid = typeParameterCount === 0 ? node.name.escapedText === "BuiltinIteratorReturn" : + typeParameterCount === 1 && intrinsicTypeKinds.has(node.name.escapedText as string); + if (!valid) { error(node.type, Diagnostics.The_intrinsic_keyword_can_only_be_used_to_declare_compiler_provided_intrinsic_types); } } diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 0bff09959fc..b4a09ea84ba 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -914,6 +914,16 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ description: Diagnostics.Check_for_class_properties_that_are_declared_but_not_set_in_the_constructor, defaultValueDescription: Diagnostics.false_unless_strict_is_set, }, + { + name: "strictBuiltinIteratorReturn", + type: "boolean", + affectsSemanticDiagnostics: true, + affectsBuildInfo: true, + strictFlag: true, + category: Diagnostics.Type_Checking, + description: Diagnostics.Built_in_iterators_are_instantiated_with_a_TReturn_type_of_undefined_instead_of_any, + defaultValueDescription: Diagnostics.false_unless_strict_is_set, + }, { name: "noImplicitThis", type: "boolean", diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index e311a07ab5d..8c40f2f860e 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -6372,6 +6372,10 @@ "code": 6719 }, + "Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'.": { + "category": "Message", + "code": 6720 + }, "Default catch clause variables as 'unknown' instead of 'any'.": { "category": "Message", "code": 6803 diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 558cb61cf23..28d69a39e4d 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -5238,7 +5238,7 @@ export interface TypeChecker { /** @internal */ createPromiseType(type: Type): Type; /** @internal */ getPromiseType(): Type; /** @internal */ getPromiseLikeType(): Type; - /** @internal */ getAsyncIterableType(): Type | undefined; + /** @internal */ getAnyAsyncIterableType(): Type | undefined; /** * Returns true if the "source" type is assignable to the "target" type. @@ -7408,6 +7408,7 @@ export interface CompilerOptions { strictBindCallApply?: boolean; // Always combine with strict property strictNullChecks?: boolean; // Always combine with strict property strictPropertyInitialization?: boolean; // Always combine with strict property + strictBuiltinIteratorReturn?: boolean; // Always combine with strict property stripInternal?: boolean; /** @deprecated */ suppressExcessPropertyErrors?: boolean; diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 76759fe0ece..b29944a5236 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -9006,6 +9006,12 @@ export const computedOptions = createComputedCompilerOptions({ return getStrictOptionValue(compilerOptions, "strictPropertyInitialization"); }, }, + strictBuiltinIteratorReturn: { + dependencies: ["strict"], + computeValue: compilerOptions => { + return getStrictOptionValue(compilerOptions, "strictBuiltinIteratorReturn"); + }, + }, alwaysStrict: { dependencies: ["strict"], computeValue: compilerOptions => { @@ -9093,6 +9099,7 @@ export type StrictOptionName = | "strictFunctionTypes" | "strictBindCallApply" | "strictPropertyInitialization" + | "strictBuiltinIteratorReturn" | "alwaysStrict" | "useUnknownInCatchVariables"; diff --git a/src/harness/collectionsImpl.ts b/src/harness/collectionsImpl.ts index 7b0a859d0fc..6c0da4353a9 100644 --- a/src/harness/collectionsImpl.ts +++ b/src/harness/collectionsImpl.ts @@ -132,6 +132,7 @@ export class SortedMap { this._copyOnWrite = false; } } + return undefined; } public *values() { @@ -154,6 +155,7 @@ export class SortedMap { this._copyOnWrite = false; } } + return undefined; } public *entries() { @@ -179,6 +181,7 @@ export class SortedMap { this._copyOnWrite = false; } } + return undefined; } public [Symbol.iterator]() { diff --git a/src/lib/dom.iterable.d.ts b/src/lib/dom.iterable.d.ts index 8ffbcd4811b..747f2790991 100644 --- a/src/lib/dom.iterable.d.ts +++ b/src/lib/dom.iterable.d.ts @@ -1,30 +1,30 @@ /// interface DOMTokenList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; } interface Headers { - [Symbol.iterator](): IterableIterator<[string, string]>; + [Symbol.iterator](): IterableIterator<[string, string], BuiltinIteratorReturn>; /** * Returns an iterator allowing to go through all key/value pairs contained in this object. */ - entries(): IterableIterator<[string, string]>; + entries(): IterableIterator<[string, string], BuiltinIteratorReturn>; /** * Returns an iterator allowing to go through all keys f the key/value pairs contained in this object. */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an iterator allowing to go through all values of the key/value pairs contained in this object. */ - values(): IterableIterator; + values(): IterableIterator; } interface NodeList { /** * Returns an array of key, value pairs for every entry in the list */ - entries(): IterableIterator<[number, Node]>; + entries(): IterableIterator<[number, Node], BuiltinIteratorReturn>; /** * Performs the specified action for each node in an list. * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list. @@ -34,21 +34,21 @@ interface NodeList { /** * Returns an list of keys in the list */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an list of values in the list */ - values(): IterableIterator; + values(): IterableIterator; - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; } interface NodeListOf { /** * Returns an array of key, value pairs for every entry in the list */ - entries(): IterableIterator<[number, TNode]>; + entries(): IterableIterator<[number, TNode], BuiltinIteratorReturn>; /** * Performs the specified action for each node in an list. @@ -59,55 +59,55 @@ interface NodeListOf { /** * Returns an list of keys in the list */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an list of values in the list */ - values(): IterableIterator; + values(): IterableIterator; - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; } interface HTMLCollectionBase { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; } interface HTMLCollectionOf { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; } interface FormData { /** * Returns an array of key, value pairs for every entry in the list */ - entries(): IterableIterator<[string, string | File]>; + entries(): IterableIterator<[string, string | File], BuiltinIteratorReturn>; /** * Returns a list of keys in the list */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns a list of values in the list */ - values(): IterableIterator; + values(): IterableIterator; - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; } interface URLSearchParams { /** * Returns an array of key, value pairs for every entry in the search params */ - entries(): IterableIterator<[string, string]>; + entries(): IterableIterator<[string, string], BuiltinIteratorReturn>; /** * Returns a list of keys in the search params */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns a list of values in the search params */ - values(): IterableIterator; + values(): IterableIterator; /** * iterate over key/value pairs */ - [Symbol.iterator](): IterableIterator<[string, string]>; + [Symbol.iterator](): IterableIterator<[string, string], BuiltinIteratorReturn>; } diff --git a/src/lib/es2015.generator.d.ts b/src/lib/es2015.generator.d.ts index 7c6929173a0..064260fc470 100644 --- a/src/lib/es2015.generator.d.ts +++ b/src/lib/es2015.generator.d.ts @@ -1,6 +1,6 @@ /// -interface Generator extends Iterator { +interface Generator extends Iterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. next(...args: [] | [TNext]): IteratorResult; return(value: TReturn): IteratorResult; diff --git a/src/lib/es2015.iterable.d.ts b/src/lib/es2015.iterable.d.ts index d28b8381eec..9ea54b67f7c 100644 --- a/src/lib/es2015.iterable.d.ts +++ b/src/lib/es2015.iterable.d.ts @@ -20,39 +20,41 @@ interface IteratorReturnResult { type IteratorResult = IteratorYieldResult | IteratorReturnResult; -interface Iterator { +interface Iterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. next(...args: [] | [TNext]): IteratorResult; return?(value?: TReturn): IteratorResult; throw?(e?: any): IteratorResult; } -interface Iterable { - [Symbol.iterator](): Iterator; +interface Iterable { + [Symbol.iterator](): Iterator; } -interface IterableIterator extends Iterator { - [Symbol.iterator](): IterableIterator; +interface IterableIterator extends Iterator { + [Symbol.iterator](): IterableIterator; } +type BuiltinIteratorReturn = intrinsic; + interface Array { /** Iterator */ - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; /** * Returns an iterable of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, T]>; + entries(): IterableIterator<[number, T], BuiltinIteratorReturn>; /** * Returns an iterable of keys in the array */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an iterable of values in the array */ - values(): IterableIterator; + values(): IterableIterator; } interface ArrayConstructor { @@ -73,67 +75,67 @@ interface ArrayConstructor { interface ReadonlyArray { /** Iterator of values in the array. */ - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; /** * Returns an iterable of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, T]>; + entries(): IterableIterator<[number, T], BuiltinIteratorReturn>; /** * Returns an iterable of keys in the array */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an iterable of values in the array */ - values(): IterableIterator; + values(): IterableIterator; } interface IArguments { /** Iterator */ - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; } interface Map { /** Returns an iterable of entries in the map. */ - [Symbol.iterator](): IterableIterator<[K, V]>; + [Symbol.iterator](): IterableIterator<[K, V], BuiltinIteratorReturn>; /** * Returns an iterable of key, value pairs for every entry in the map. */ - entries(): IterableIterator<[K, V]>; + entries(): IterableIterator<[K, V], BuiltinIteratorReturn>; /** * Returns an iterable of keys in the map */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an iterable of values in the map */ - values(): IterableIterator; + values(): IterableIterator; } interface ReadonlyMap { /** Returns an iterable of entries in the map. */ - [Symbol.iterator](): IterableIterator<[K, V]>; + [Symbol.iterator](): IterableIterator<[K, V], BuiltinIteratorReturn>; /** * Returns an iterable of key, value pairs for every entry in the map. */ - entries(): IterableIterator<[K, V]>; + entries(): IterableIterator<[K, V], BuiltinIteratorReturn>; /** * Returns an iterable of keys in the map */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an iterable of values in the map */ - values(): IterableIterator; + values(): IterableIterator; } interface MapConstructor { @@ -149,40 +151,40 @@ interface WeakMapConstructor { interface Set { /** Iterates over values in the set. */ - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; /** * Returns an iterable of [v,v] pairs for every value `v` in the set. */ - entries(): IterableIterator<[T, T]>; + entries(): IterableIterator<[T, T], BuiltinIteratorReturn>; /** * Despite its name, returns an iterable of the values in the set. */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an iterable of values in the set. */ - values(): IterableIterator; + values(): IterableIterator; } interface ReadonlySet { /** Iterates over values in the set. */ - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; /** * Returns an iterable of [v,v] pairs for every value `v` in the set. */ - entries(): IterableIterator<[T, T]>; + entries(): IterableIterator<[T, T], BuiltinIteratorReturn>; /** * Despite its name, returns an iterable of the values in the set. */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an iterable of values in the set. */ - values(): IterableIterator; + values(): IterableIterator; } interface SetConstructor { @@ -217,23 +219,23 @@ interface PromiseConstructor { interface String { /** Iterator */ - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; } interface Int8Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number]>; + entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): IterableIterator; } interface Int8ArrayConstructor { @@ -249,19 +251,19 @@ interface Int8ArrayConstructor { } interface Uint8Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number]>; + entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): IterableIterator; } interface Uint8ArrayConstructor { @@ -277,21 +279,21 @@ interface Uint8ArrayConstructor { } interface Uint8ClampedArray { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number]>; + entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): IterableIterator; } interface Uint8ClampedArrayConstructor { @@ -307,21 +309,21 @@ interface Uint8ClampedArrayConstructor { } interface Int16Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number]>; + entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): IterableIterator; } interface Int16ArrayConstructor { @@ -337,19 +339,19 @@ interface Int16ArrayConstructor { } interface Uint16Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number]>; + entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): IterableIterator; } interface Uint16ArrayConstructor { @@ -365,19 +367,19 @@ interface Uint16ArrayConstructor { } interface Int32Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number]>; + entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): IterableIterator; } interface Int32ArrayConstructor { @@ -393,19 +395,19 @@ interface Int32ArrayConstructor { } interface Uint32Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number]>; + entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): IterableIterator; } interface Uint32ArrayConstructor { @@ -421,19 +423,19 @@ interface Uint32ArrayConstructor { } interface Float32Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number]>; + entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): IterableIterator; } interface Float32ArrayConstructor { @@ -449,19 +451,19 @@ interface Float32ArrayConstructor { } interface Float64Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number]>; + entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): IterableIterator; } interface Float64ArrayConstructor { diff --git a/src/lib/es2018.asyncgenerator.d.ts b/src/lib/es2018.asyncgenerator.d.ts index f6966264c8b..8ce3ba23a4d 100644 --- a/src/lib/es2018.asyncgenerator.d.ts +++ b/src/lib/es2018.asyncgenerator.d.ts @@ -1,6 +1,6 @@ /// -interface AsyncGenerator extends AsyncIterator { +interface AsyncGenerator extends AsyncIterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. next(...args: [] | [TNext]): Promise>; return(value: TReturn | PromiseLike): Promise>; diff --git a/src/lib/es2018.asynciterable.d.ts b/src/lib/es2018.asynciterable.d.ts index 0fe799e2105..5b868867f43 100644 --- a/src/lib/es2018.asynciterable.d.ts +++ b/src/lib/es2018.asynciterable.d.ts @@ -9,17 +9,17 @@ interface SymbolConstructor { readonly asyncIterator: unique symbol; } -interface AsyncIterator { +interface AsyncIterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. next(...args: [] | [TNext]): Promise>; return?(value?: TReturn | PromiseLike): Promise>; throw?(e?: any): Promise>; } -interface AsyncIterable { - [Symbol.asyncIterator](): AsyncIterator; +interface AsyncIterable { + [Symbol.asyncIterator](): AsyncIterator; } -interface AsyncIterableIterator extends AsyncIterator { - [Symbol.asyncIterator](): AsyncIterableIterator; +interface AsyncIterableIterator extends AsyncIterator { + [Symbol.asyncIterator](): AsyncIterableIterator; } diff --git a/src/lib/es2020.bigint.d.ts b/src/lib/es2020.bigint.d.ts index b4b46c7d9bb..e5cafc442d6 100644 --- a/src/lib/es2020.bigint.d.ts +++ b/src/lib/es2020.bigint.d.ts @@ -153,7 +153,7 @@ interface BigInt64Array { copyWithin(target: number, start: number, end?: number): this; /** Yields index, value pairs for every entry in the array. */ - entries(): IterableIterator<[number, bigint]>; + entries(): IterableIterator<[number, bigint], BuiltinIteratorReturn>; /** * Determines whether all the members of an array satisfy the specified test. @@ -238,7 +238,7 @@ interface BigInt64Array { join(separator?: string): string; /** Yields each index in the array. */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns the index of the last occurrence of a value in an array. @@ -360,9 +360,9 @@ interface BigInt64Array { valueOf(): BigInt64Array; /** Yields each value in the array. */ - values(): IterableIterator; + values(): IterableIterator; - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; readonly [Symbol.toStringTag]: "BigInt64Array"; @@ -425,7 +425,7 @@ interface BigUint64Array { copyWithin(target: number, start: number, end?: number): this; /** Yields index, value pairs for every entry in the array. */ - entries(): IterableIterator<[number, bigint]>; + entries(): IterableIterator<[number, bigint], BuiltinIteratorReturn>; /** * Determines whether all the members of an array satisfy the specified test. @@ -510,7 +510,7 @@ interface BigUint64Array { join(separator?: string): string; /** Yields each index in the array. */ - keys(): IterableIterator; + keys(): IterableIterator; /** * Returns the index of the last occurrence of a value in an array. @@ -632,9 +632,9 @@ interface BigUint64Array { valueOf(): BigUint64Array; /** Yields each value in the array. */ - values(): IterableIterator; + values(): IterableIterator; - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; readonly [Symbol.toStringTag]: "BigUint64Array"; diff --git a/src/lib/es2020.string.d.ts b/src/lib/es2020.string.d.ts index bc7cf1ad5f7..7f7911d517d 100644 --- a/src/lib/es2020.string.d.ts +++ b/src/lib/es2020.string.d.ts @@ -6,7 +6,7 @@ interface String { * containing the results of that search. * @param regexp A variable name or string literal containing the regular expression pattern and flags. */ - matchAll(regexp: RegExp): IterableIterator; + matchAll(regexp: RegExp): IterableIterator; /** Converts all alphabetic characters to lowercase, taking into account the host environment's current locale. */ toLocaleLowerCase(locales?: Intl.LocalesArgument): string; diff --git a/src/lib/es2020.symbol.wellknown.d.ts b/src/lib/es2020.symbol.wellknown.d.ts index 94a11768256..0a65134b7c2 100644 --- a/src/lib/es2020.symbol.wellknown.d.ts +++ b/src/lib/es2020.symbol.wellknown.d.ts @@ -15,5 +15,5 @@ interface RegExp { * containing the results of that search. * @param string A string to search within. */ - [Symbol.matchAll](str: string): IterableIterator; + [Symbol.matchAll](str: string): IterableIterator; } diff --git a/src/lib/es2022.intl.d.ts b/src/lib/es2022.intl.d.ts index 3beaea6af8d..e92a67f7a88 100644 --- a/src/lib/es2022.intl.d.ts +++ b/src/lib/es2022.intl.d.ts @@ -37,7 +37,7 @@ declare namespace Intl { containing(codeUnitIndex?: number): SegmentData; /** Returns an iterator to iterate over the segments. */ - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): IterableIterator; } interface SegmentData { diff --git a/src/services/codefixes/addMissingAwait.ts b/src/services/codefixes/addMissingAwait.ts index 0fc96ba514b..7f874b58015 100644 --- a/src/services/codefixes/addMissingAwait.ts +++ b/src/services/codefixes/addMissingAwait.ts @@ -285,7 +285,7 @@ function isInsideAwaitableBody(node: Node) { function makeChange(changeTracker: textChanges.ChangeTracker, errorCode: number, sourceFile: SourceFile, checker: TypeChecker, insertionSite: Expression, fixedDeclarations?: Set) { if (isForOfStatement(insertionSite.parent) && !insertionSite.parent.awaitModifier) { const exprType = checker.getTypeAtLocation(insertionSite); - const asyncIter = checker.getAsyncIterableType(); + const asyncIter = checker.getAnyAsyncIterableType(); if (asyncIter && checker.isTypeAssignableTo(exprType, asyncIter)) { const forOf = insertionSite.parent; changeTracker.replaceNode(sourceFile, forOf, factory.updateForOfStatement(forOf, factory.createToken(SyntaxKind.AwaitKeyword), forOf.initializer, forOf.expression, forOf.statement)); diff --git a/src/testRunner/compilerRunner.ts b/src/testRunner/compilerRunner.ts index 93bc55c1159..8ec63a8b7b9 100644 --- a/src/testRunner/compilerRunner.ts +++ b/src/testRunner/compilerRunner.ts @@ -127,44 +127,32 @@ export class CompilerBaselineRunner extends RunnerBase { class CompilerTest { private static varyBy: readonly string[] = [ - "allowArbitraryExtensions", - "allowImportingTsExtensions", - "allowSyntheticDefaultImports", - "alwaysStrict", - "downlevelIteration", - "experimentalDecorators", - "emitDecoratorMetadata", - "esModuleInterop", - "exactOptionalPropertyTypes", - "importHelpers", - "importHelpers", - "isolatedModules", - "jsx", - "module", - "moduleDetection", - "moduleResolution", + // implicit variations from defined options + ...ts.optionDeclarations + .filter(option => + !option.isCommandLineOnly + && ( + option.type === "boolean" + || typeof option.type === "object" + ) + && ( + option.affectsProgramStructure + || option.affectsEmit + || option.affectsModuleResolution + || option.affectsBindDiagnostics + || option.affectsSemanticDiagnostics + || option.affectsSourceFile + || option.affectsDeclarationPath + || option.affectsBuildInfo + ) + ) + .map(option => option.name), + + // explicit variations that do not match above conditions "noEmit", - "noImplicitAny", - "noImplicitThis", - "noPropertyAccessFromIndexSignature", - "noUncheckedIndexedAccess", - "preserveConstEnums", - "removeComments", - "resolveJsonModule", - "resolvePackageJsonExports", - "resolvePackageJsonImports", - "skipDefaultLibCheck", - "skipLibCheck", - "strict", - "strictBindCallApply", - "strictFunctionTypes", - "strictNullChecks", - "strictPropertyInitialization", - "target", - "useDefineForClassFields", - "useUnknownInCatchVariables", - "verbatimModuleSyntax", + "isolatedModules", ]; + private fileName: string; private justName: string; private configuredName: string; diff --git a/tests/baselines/reference/YieldStarExpression4_es6.types b/tests/baselines/reference/YieldStarExpression4_es6.types index 5a84b1bba08..c2c8b54fde2 100644 --- a/tests/baselines/reference/YieldStarExpression4_es6.types +++ b/tests/baselines/reference/YieldStarExpression4_es6.types @@ -2,8 +2,8 @@ === YieldStarExpression4_es6.ts === function *g() { ->g : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield * []; >yield * [] : any diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index f76ecc40be3..3855078b1f2 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -7008,6 +7008,7 @@ declare namespace ts { strictBindCallApply?: boolean; strictNullChecks?: boolean; strictPropertyInitialization?: boolean; + strictBuiltinIteratorReturn?: boolean; stripInternal?: boolean; /** @deprecated */ suppressExcessPropertyErrors?: boolean; diff --git a/tests/baselines/reference/argumentsObjectIterator02_ES6.types b/tests/baselines/reference/argumentsObjectIterator02_ES6.types index a2dd6ad1ecc..4dd2e090a43 100644 --- a/tests/baselines/reference/argumentsObjectIterator02_ES6.types +++ b/tests/baselines/reference/argumentsObjectIterator02_ES6.types @@ -12,10 +12,10 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe > : ^^^^^^ let blah = arguments[Symbol.iterator]; ->blah : () => IterableIterator -> : ^^^^^^ ->arguments[Symbol.iterator] : () => IterableIterator -> : ^^^^^^ +>blah : () => IterableIterator +> : ^^^^^^ +>arguments[Symbol.iterator] : () => IterableIterator +> : ^^^^^^ >arguments : IArguments > : ^^^^^^^^^^ >Symbol.iterator : unique symbol @@ -35,8 +35,8 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe >arg : any >blah() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^ ->blah : () => IterableIterator -> : ^^^^^^ +>blah : () => IterableIterator +> : ^^^^^^ result.push(arg + arg); >result.push(arg + arg) : number diff --git a/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).symbols b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).symbols new file mode 100644 index 00000000000..121fa751708 --- /dev/null +++ b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).symbols @@ -0,0 +1,125 @@ +//// [tests/cases/conformance/types/typeAliases/builtinIteratorReturn.ts] //// + +=== builtinIteratorReturn.ts === +declare const array: number[]; +>array : Symbol(array, Decl(builtinIteratorReturn.ts, 0, 13)) + +declare const map: Map; +>map : Symbol(map, Decl(builtinIteratorReturn.ts, 1, 13)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + +declare const set: Set; +>set : Symbol(set, Decl(builtinIteratorReturn.ts, 2, 13)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) + +const i0 = array[Symbol.iterator](); +>i0 : Symbol(i0, Decl(builtinIteratorReturn.ts, 4, 5)) +>array : Symbol(array, Decl(builtinIteratorReturn.ts, 0, 13)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i1 = array.values(); +>i1 : Symbol(i1, Decl(builtinIteratorReturn.ts, 5, 5)) +>array.values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>array : Symbol(array, Decl(builtinIteratorReturn.ts, 0, 13)) +>values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i2 = array.keys(); +>i2 : Symbol(i2, Decl(builtinIteratorReturn.ts, 6, 5)) +>array.keys : Symbol(Array.keys, Decl(lib.es2015.iterable.d.ts, --, --)) +>array : Symbol(array, Decl(builtinIteratorReturn.ts, 0, 13)) +>keys : Symbol(Array.keys, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i3 = array.entries(); +>i3 : Symbol(i3, Decl(builtinIteratorReturn.ts, 7, 5)) +>array.entries : Symbol(Array.entries, Decl(lib.es2015.iterable.d.ts, --, --)) +>array : Symbol(array, Decl(builtinIteratorReturn.ts, 0, 13)) +>entries : Symbol(Array.entries, Decl(lib.es2015.iterable.d.ts, --, --)) + +for (const x of array); +>x : Symbol(x, Decl(builtinIteratorReturn.ts, 8, 10)) +>array : Symbol(array, Decl(builtinIteratorReturn.ts, 0, 13)) + +const i4 = map[Symbol.iterator](); +>i4 : Symbol(i4, Decl(builtinIteratorReturn.ts, 10, 5)) +>map : Symbol(map, Decl(builtinIteratorReturn.ts, 1, 13)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i5 = map.values(); +>i5 : Symbol(i5, Decl(builtinIteratorReturn.ts, 11, 5)) +>map.values : Symbol(Map.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>map : Symbol(map, Decl(builtinIteratorReturn.ts, 1, 13)) +>values : Symbol(Map.values, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i6 = map.keys(); +>i6 : Symbol(i6, Decl(builtinIteratorReturn.ts, 12, 5)) +>map.keys : Symbol(Map.keys, Decl(lib.es2015.iterable.d.ts, --, --)) +>map : Symbol(map, Decl(builtinIteratorReturn.ts, 1, 13)) +>keys : Symbol(Map.keys, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i7 = map.entries(); +>i7 : Symbol(i7, Decl(builtinIteratorReturn.ts, 13, 5)) +>map.entries : Symbol(Map.entries, Decl(lib.es2015.iterable.d.ts, --, --)) +>map : Symbol(map, Decl(builtinIteratorReturn.ts, 1, 13)) +>entries : Symbol(Map.entries, Decl(lib.es2015.iterable.d.ts, --, --)) + +for (const x of map); +>x : Symbol(x, Decl(builtinIteratorReturn.ts, 14, 10)) +>map : Symbol(map, Decl(builtinIteratorReturn.ts, 1, 13)) + +const i8 = set[Symbol.iterator](); +>i8 : Symbol(i8, Decl(builtinIteratorReturn.ts, 16, 5)) +>set : Symbol(set, Decl(builtinIteratorReturn.ts, 2, 13)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i9 = set.values(); +>i9 : Symbol(i9, Decl(builtinIteratorReturn.ts, 17, 5)) +>set.values : Symbol(Set.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>set : Symbol(set, Decl(builtinIteratorReturn.ts, 2, 13)) +>values : Symbol(Set.values, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i10 = set.keys(); +>i10 : Symbol(i10, Decl(builtinIteratorReturn.ts, 18, 5)) +>set.keys : Symbol(Set.keys, Decl(lib.es2015.iterable.d.ts, --, --)) +>set : Symbol(set, Decl(builtinIteratorReturn.ts, 2, 13)) +>keys : Symbol(Set.keys, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i11 = set.entries(); +>i11 : Symbol(i11, Decl(builtinIteratorReturn.ts, 19, 5)) +>set.entries : Symbol(Set.entries, Decl(lib.es2015.iterable.d.ts, --, --)) +>set : Symbol(set, Decl(builtinIteratorReturn.ts, 2, 13)) +>entries : Symbol(Set.entries, Decl(lib.es2015.iterable.d.ts, --, --)) + +for (const x of set); +>x : Symbol(x, Decl(builtinIteratorReturn.ts, 20, 10)) +>set : Symbol(set, Decl(builtinIteratorReturn.ts, 2, 13)) + +declare const i12: IterableIterator; +>i12 : Symbol(i12, Decl(builtinIteratorReturn.ts, 22, 13)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) + +declare const i13: IterableIterator; +>i13 : Symbol(i13, Decl(builtinIteratorReturn.ts, 23, 13)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) + +declare const i14: IterableIterator; +>i14 : Symbol(i14, Decl(builtinIteratorReturn.ts, 24, 13)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) + +declare const i15: Iterable; +>i15 : Symbol(i15, Decl(builtinIteratorReturn.ts, 25, 13)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) + +declare const i16: Iterable; +>i16 : Symbol(i16, Decl(builtinIteratorReturn.ts, 26, 13)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) + +declare const i17: Iterable; +>i17 : Symbol(i17, Decl(builtinIteratorReturn.ts, 27, 13)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) + diff --git a/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).types b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).types new file mode 100644 index 00000000000..914c702b131 --- /dev/null +++ b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).types @@ -0,0 +1,213 @@ +//// [tests/cases/conformance/types/typeAliases/builtinIteratorReturn.ts] //// + +=== builtinIteratorReturn.ts === +declare const array: number[]; +>array : number[] +> : ^^^^^^^^ + +declare const map: Map; +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ + +declare const set: Set; +>set : Set +> : ^^^^^^^^^^^ + +const i0 = array[Symbol.iterator](); +>i0 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>array[Symbol.iterator]() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>array[Symbol.iterator] : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array : number[] +> : ^^^^^^^^ +>Symbol.iterator : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ +>iterator : unique symbol +> : ^^^^^^^^^^^^^ + +const i1 = array.values(); +>i1 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>array.values() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>array.values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array : number[] +> : ^^^^^^^^ +>values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +const i2 = array.keys(); +>i2 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>array.keys() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>array.keys : () => IterableIterator +> : ^^^^^^ +>array : number[] +> : ^^^^^^^^ +>keys : () => IterableIterator +> : ^^^^^^ + +const i3 = array.entries(); +>i3 : IterableIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.entries() : IterableIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.entries : () => IterableIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array : number[] +> : ^^^^^^^^ +>entries : () => IterableIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +for (const x of array); +>x : number +> : ^^^^^^ +>array : number[] +> : ^^^^^^^^ + +const i4 = map[Symbol.iterator](); +>i4 : IterableIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map[Symbol.iterator]() : IterableIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map[Symbol.iterator] : () => IterableIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ +>Symbol.iterator : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ +>iterator : unique symbol +> : ^^^^^^^^^^^^^ + +const i5 = map.values(); +>i5 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ +>values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +const i6 = map.keys(); +>i6 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>map.keys() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>map.keys : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ +>keys : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +const i7 = map.entries(); +>i7 : IterableIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.entries() : IterableIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.entries : () => IterableIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ +>entries : () => IterableIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +for (const x of map); +>x : [string, number] +> : ^^^^^^^^^^^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ + +const i8 = set[Symbol.iterator](); +>i8 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>set[Symbol.iterator]() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>set[Symbol.iterator] : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set : Set +> : ^^^^^^^^^^^ +>Symbol.iterator : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ +>iterator : unique symbol +> : ^^^^^^^^^^^^^ + +const i9 = set.values(); +>i9 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set : Set +> : ^^^^^^^^^^^ +>values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +const i10 = set.keys(); +>i10 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>set.keys() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>set.keys : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set : Set +> : ^^^^^^^^^^^ +>keys : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +const i11 = set.entries(); +>i11 : IterableIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.entries() : IterableIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.entries : () => IterableIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set : Set +> : ^^^^^^^^^^^ +>entries : () => IterableIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +for (const x of set); +>x : number +> : ^^^^^^ +>set : Set +> : ^^^^^^^^^^^ + +declare const i12: IterableIterator; +>i12 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const i13: IterableIterator; +>i13 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const i14: IterableIterator; +>i14 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const i15: Iterable; +>i15 : Iterable +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const i16: Iterable; +>i16 : Iterable +> : ^^^^^^^^^^^^^^^^ + +declare const i17: Iterable; +>i17 : Iterable +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).symbols b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).symbols new file mode 100644 index 00000000000..121fa751708 --- /dev/null +++ b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).symbols @@ -0,0 +1,125 @@ +//// [tests/cases/conformance/types/typeAliases/builtinIteratorReturn.ts] //// + +=== builtinIteratorReturn.ts === +declare const array: number[]; +>array : Symbol(array, Decl(builtinIteratorReturn.ts, 0, 13)) + +declare const map: Map; +>map : Symbol(map, Decl(builtinIteratorReturn.ts, 1, 13)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + +declare const set: Set; +>set : Symbol(set, Decl(builtinIteratorReturn.ts, 2, 13)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) + +const i0 = array[Symbol.iterator](); +>i0 : Symbol(i0, Decl(builtinIteratorReturn.ts, 4, 5)) +>array : Symbol(array, Decl(builtinIteratorReturn.ts, 0, 13)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i1 = array.values(); +>i1 : Symbol(i1, Decl(builtinIteratorReturn.ts, 5, 5)) +>array.values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>array : Symbol(array, Decl(builtinIteratorReturn.ts, 0, 13)) +>values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i2 = array.keys(); +>i2 : Symbol(i2, Decl(builtinIteratorReturn.ts, 6, 5)) +>array.keys : Symbol(Array.keys, Decl(lib.es2015.iterable.d.ts, --, --)) +>array : Symbol(array, Decl(builtinIteratorReturn.ts, 0, 13)) +>keys : Symbol(Array.keys, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i3 = array.entries(); +>i3 : Symbol(i3, Decl(builtinIteratorReturn.ts, 7, 5)) +>array.entries : Symbol(Array.entries, Decl(lib.es2015.iterable.d.ts, --, --)) +>array : Symbol(array, Decl(builtinIteratorReturn.ts, 0, 13)) +>entries : Symbol(Array.entries, Decl(lib.es2015.iterable.d.ts, --, --)) + +for (const x of array); +>x : Symbol(x, Decl(builtinIteratorReturn.ts, 8, 10)) +>array : Symbol(array, Decl(builtinIteratorReturn.ts, 0, 13)) + +const i4 = map[Symbol.iterator](); +>i4 : Symbol(i4, Decl(builtinIteratorReturn.ts, 10, 5)) +>map : Symbol(map, Decl(builtinIteratorReturn.ts, 1, 13)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i5 = map.values(); +>i5 : Symbol(i5, Decl(builtinIteratorReturn.ts, 11, 5)) +>map.values : Symbol(Map.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>map : Symbol(map, Decl(builtinIteratorReturn.ts, 1, 13)) +>values : Symbol(Map.values, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i6 = map.keys(); +>i6 : Symbol(i6, Decl(builtinIteratorReturn.ts, 12, 5)) +>map.keys : Symbol(Map.keys, Decl(lib.es2015.iterable.d.ts, --, --)) +>map : Symbol(map, Decl(builtinIteratorReturn.ts, 1, 13)) +>keys : Symbol(Map.keys, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i7 = map.entries(); +>i7 : Symbol(i7, Decl(builtinIteratorReturn.ts, 13, 5)) +>map.entries : Symbol(Map.entries, Decl(lib.es2015.iterable.d.ts, --, --)) +>map : Symbol(map, Decl(builtinIteratorReturn.ts, 1, 13)) +>entries : Symbol(Map.entries, Decl(lib.es2015.iterable.d.ts, --, --)) + +for (const x of map); +>x : Symbol(x, Decl(builtinIteratorReturn.ts, 14, 10)) +>map : Symbol(map, Decl(builtinIteratorReturn.ts, 1, 13)) + +const i8 = set[Symbol.iterator](); +>i8 : Symbol(i8, Decl(builtinIteratorReturn.ts, 16, 5)) +>set : Symbol(set, Decl(builtinIteratorReturn.ts, 2, 13)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i9 = set.values(); +>i9 : Symbol(i9, Decl(builtinIteratorReturn.ts, 17, 5)) +>set.values : Symbol(Set.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>set : Symbol(set, Decl(builtinIteratorReturn.ts, 2, 13)) +>values : Symbol(Set.values, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i10 = set.keys(); +>i10 : Symbol(i10, Decl(builtinIteratorReturn.ts, 18, 5)) +>set.keys : Symbol(Set.keys, Decl(lib.es2015.iterable.d.ts, --, --)) +>set : Symbol(set, Decl(builtinIteratorReturn.ts, 2, 13)) +>keys : Symbol(Set.keys, Decl(lib.es2015.iterable.d.ts, --, --)) + +const i11 = set.entries(); +>i11 : Symbol(i11, Decl(builtinIteratorReturn.ts, 19, 5)) +>set.entries : Symbol(Set.entries, Decl(lib.es2015.iterable.d.ts, --, --)) +>set : Symbol(set, Decl(builtinIteratorReturn.ts, 2, 13)) +>entries : Symbol(Set.entries, Decl(lib.es2015.iterable.d.ts, --, --)) + +for (const x of set); +>x : Symbol(x, Decl(builtinIteratorReturn.ts, 20, 10)) +>set : Symbol(set, Decl(builtinIteratorReturn.ts, 2, 13)) + +declare const i12: IterableIterator; +>i12 : Symbol(i12, Decl(builtinIteratorReturn.ts, 22, 13)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) + +declare const i13: IterableIterator; +>i13 : Symbol(i13, Decl(builtinIteratorReturn.ts, 23, 13)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) + +declare const i14: IterableIterator; +>i14 : Symbol(i14, Decl(builtinIteratorReturn.ts, 24, 13)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) + +declare const i15: Iterable; +>i15 : Symbol(i15, Decl(builtinIteratorReturn.ts, 25, 13)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) + +declare const i16: Iterable; +>i16 : Symbol(i16, Decl(builtinIteratorReturn.ts, 26, 13)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) + +declare const i17: Iterable; +>i17 : Symbol(i17, Decl(builtinIteratorReturn.ts, 27, 13)) +>Iterable : Symbol(Iterable, Decl(lib.es2015.iterable.d.ts, --, --)) + diff --git a/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).types b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).types new file mode 100644 index 00000000000..f0ffe8c1d63 --- /dev/null +++ b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).types @@ -0,0 +1,213 @@ +//// [tests/cases/conformance/types/typeAliases/builtinIteratorReturn.ts] //// + +=== builtinIteratorReturn.ts === +declare const array: number[]; +>array : number[] +> : ^^^^^^^^ + +declare const map: Map; +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ + +declare const set: Set; +>set : Set +> : ^^^^^^^^^^^ + +const i0 = array[Symbol.iterator](); +>i0 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array[Symbol.iterator]() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array[Symbol.iterator] : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array : number[] +> : ^^^^^^^^ +>Symbol.iterator : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ +>iterator : unique symbol +> : ^^^^^^^^^^^^^ + +const i1 = array.values(); +>i1 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.values() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array : number[] +> : ^^^^^^^^ +>values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +const i2 = array.keys(); +>i2 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.keys() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.keys : () => IterableIterator +> : ^^^^^^ +>array : number[] +> : ^^^^^^^^ +>keys : () => IterableIterator +> : ^^^^^^ + +const i3 = array.entries(); +>i3 : IterableIterator<[number, number], undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.entries() : IterableIterator<[number, number], undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.entries : () => IterableIterator<[number, number], undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array : number[] +> : ^^^^^^^^ +>entries : () => IterableIterator<[number, number], undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +for (const x of array); +>x : number +> : ^^^^^^ +>array : number[] +> : ^^^^^^^^ + +const i4 = map[Symbol.iterator](); +>i4 : IterableIterator<[string, number], undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map[Symbol.iterator]() : IterableIterator<[string, number], undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map[Symbol.iterator] : () => IterableIterator<[string, number], undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ +>Symbol.iterator : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ +>iterator : unique symbol +> : ^^^^^^^^^^^^^ + +const i5 = map.values(); +>i5 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ +>values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +const i6 = map.keys(); +>i6 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.keys() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.keys : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ +>keys : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +const i7 = map.entries(); +>i7 : IterableIterator<[string, number], undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.entries() : IterableIterator<[string, number], undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.entries : () => IterableIterator<[string, number], undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ +>entries : () => IterableIterator<[string, number], undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +for (const x of map); +>x : [string, number] +> : ^^^^^^^^^^^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ + +const i8 = set[Symbol.iterator](); +>i8 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set[Symbol.iterator]() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set[Symbol.iterator] : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set : Set +> : ^^^^^^^^^^^ +>Symbol.iterator : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ +>iterator : unique symbol +> : ^^^^^^^^^^^^^ + +const i9 = set.values(); +>i9 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set : Set +> : ^^^^^^^^^^^ +>values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +const i10 = set.keys(); +>i10 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.keys() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.keys : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set : Set +> : ^^^^^^^^^^^ +>keys : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +const i11 = set.entries(); +>i11 : IterableIterator<[number, number], undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.entries() : IterableIterator<[number, number], undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.entries : () => IterableIterator<[number, number], undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set : Set +> : ^^^^^^^^^^^ +>entries : () => IterableIterator<[number, number], undefined> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +for (const x of set); +>x : number +> : ^^^^^^ +>set : Set +> : ^^^^^^^^^^^ + +declare const i12: IterableIterator; +>i12 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const i13: IterableIterator; +>i13 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const i14: IterableIterator; +>i14 : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const i15: Iterable; +>i15 : Iterable +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const i16: Iterable; +>i16 : Iterable +> : ^^^^^^^^^^^^^^^^ + +declare const i17: Iterable; +>i17 : Iterable +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/conditionalTypeDoesntSpinForever.types b/tests/baselines/reference/conditionalTypeDoesntSpinForever.types index 73fb1f2d6e1..9d9489fd8dd 100644 --- a/tests/baselines/reference/conditionalTypeDoesntSpinForever.types +++ b/tests/baselines/reference/conditionalTypeDoesntSpinForever.types @@ -1,8 +1,8 @@ //// [tests/cases/compiler/conditionalTypeDoesntSpinForever.ts] //// === Performance Stats === -Type Count: 1,000 -Instantiation count: 2,500 -> 5,000 +Type Count: 1,000 -> 2,500 +Instantiation count: 5,000 === conditionalTypeDoesntSpinForever.ts === // A *self-contained* demonstration of the problem follows... diff --git a/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json index 4c3a3cb0964..a7774be58c9 100644 --- a/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json @@ -87,6 +87,7 @@ // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "strictBuiltinIteratorReturn": true, /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */ // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json index 4c3a3cb0964..a7774be58c9 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json @@ -87,6 +87,7 @@ // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "strictBuiltinIteratorReturn": true, /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */ // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json index 4c3a3cb0964..a7774be58c9 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json @@ -87,6 +87,7 @@ // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "strictBuiltinIteratorReturn": true, /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */ // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json index edb7ea2b9b3..705b9f76e01 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json @@ -87,6 +87,7 @@ // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "strictBuiltinIteratorReturn": true, /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */ // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json index e01c1d7bb35..ebe2ee57e90 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json @@ -87,6 +87,7 @@ // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "strictBuiltinIteratorReturn": true, /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */ // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json index e0614bfc14e..46fb71d52c3 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json @@ -87,6 +87,7 @@ // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "strictBuiltinIteratorReturn": true, /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */ // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json index ef17a1a4dcf..300866f96a8 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json @@ -87,6 +87,7 @@ // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "strictBuiltinIteratorReturn": true, /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */ // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json index 015e6dc8a3c..8a8db313c21 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json @@ -87,6 +87,7 @@ // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "strictBuiltinIteratorReturn": true, /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */ // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json index 4c3a3cb0964..a7774be58c9 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json @@ -87,6 +87,7 @@ // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "strictBuiltinIteratorReturn": true, /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */ // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json index b153779e49c..84f23824275 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json @@ -87,6 +87,7 @@ // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "strictBuiltinIteratorReturn": true, /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */ // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json index 9120ea674fb..6494b47ae9e 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json @@ -87,6 +87,7 @@ // "strictFunctionTypes": true, /* When assigning functions, check to ensure parameters and the return values are subtype-compatible. */ // "strictBindCallApply": true, /* Check that the arguments for 'bind', 'call', and 'apply' methods match the original function. */ // "strictPropertyInitialization": true, /* Check for class properties that are declared but not set in the constructor. */ + // "strictBuiltinIteratorReturn": true, /* Built-in iterators are instantiated with a 'TReturn' type of 'undefined' instead of 'any'. */ // "noImplicitThis": true, /* Enable error reporting when 'this' is given the type 'any'. */ // "useUnknownInCatchVariables": true, /* Default catch clause variables as 'unknown' instead of 'any'. */ // "alwaysStrict": true, /* Ensure 'use strict' is always emitted. */ diff --git a/tests/baselines/reference/config/showConfig/Show TSConfig with compileOnSave and more/tsconfig.json b/tests/baselines/reference/config/showConfig/Show TSConfig with compileOnSave and more/tsconfig.json index 27dff8d0b2c..7796a64971d 100644 --- a/tests/baselines/reference/config/showConfig/Show TSConfig with compileOnSave and more/tsconfig.json +++ b/tests/baselines/reference/config/showConfig/Show TSConfig with compileOnSave and more/tsconfig.json @@ -11,6 +11,7 @@ "strictFunctionTypes": true, "strictBindCallApply": true, "strictPropertyInitialization": true, + "strictBuiltinIteratorReturn": true, "alwaysStrict": true, "useUnknownInCatchVariables": true }, diff --git a/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strict/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strict/tsconfig.json index a94c9ac06ee..cb5f15904a1 100644 --- a/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strict/tsconfig.json +++ b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strict/tsconfig.json @@ -7,6 +7,7 @@ "strictFunctionTypes": true, "strictBindCallApply": true, "strictPropertyInitialization": true, + "strictBuiltinIteratorReturn": true, "alwaysStrict": true, "useUnknownInCatchVariables": true } diff --git a/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strictBuiltinIteratorReturn/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strictBuiltinIteratorReturn/tsconfig.json new file mode 100644 index 00000000000..090835c267e --- /dev/null +++ b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/strictBuiltinIteratorReturn/tsconfig.json @@ -0,0 +1,5 @@ +{ + "compilerOptions": { + "strictBuiltinIteratorReturn": true + } +} diff --git a/tests/baselines/reference/customAsyncIterator.js b/tests/baselines/reference/customAsyncIterator.js index 31bdd767780..ea31a03b69d 100644 --- a/tests/baselines/reference/customAsyncIterator.js +++ b/tests/baselines/reference/customAsyncIterator.js @@ -2,7 +2,7 @@ //// [customAsyncIterator.ts] // GH: https://github.com/microsoft/TypeScript/issues/33239 -class ConstantIterator implements AsyncIterator { +class ConstantIterator implements AsyncIterator { constructor(private constant: T) { } async next(value?: T): Promise> { diff --git a/tests/baselines/reference/customAsyncIterator.symbols b/tests/baselines/reference/customAsyncIterator.symbols index 641a24f8610..8e6b7d5f05b 100644 --- a/tests/baselines/reference/customAsyncIterator.symbols +++ b/tests/baselines/reference/customAsyncIterator.symbols @@ -2,7 +2,7 @@ === customAsyncIterator.ts === // GH: https://github.com/microsoft/TypeScript/issues/33239 -class ConstantIterator implements AsyncIterator { +class ConstantIterator implements AsyncIterator { >ConstantIterator : Symbol(ConstantIterator, Decl(customAsyncIterator.ts, 0, 0)) >T : Symbol(T, Decl(customAsyncIterator.ts, 1, 23)) >AsyncIterator : Symbol(AsyncIterator, Decl(lib.es2018.asynciterable.d.ts, --, --)) diff --git a/tests/baselines/reference/customAsyncIterator.types b/tests/baselines/reference/customAsyncIterator.types index a31d06fdf7e..bbf9a8209ac 100644 --- a/tests/baselines/reference/customAsyncIterator.types +++ b/tests/baselines/reference/customAsyncIterator.types @@ -2,7 +2,7 @@ === customAsyncIterator.ts === // GH: https://github.com/microsoft/TypeScript/issues/33239 -class ConstantIterator implements AsyncIterator { +class ConstantIterator implements AsyncIterator { >ConstantIterator : ConstantIterator > : ^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/dependentDestructuredVariables.types b/tests/baselines/reference/dependentDestructuredVariables.types index 52e4690a91f..287dfb00425 100644 --- a/tests/baselines/reference/dependentDestructuredVariables.types +++ b/tests/baselines/reference/dependentDestructuredVariables.types @@ -789,8 +789,8 @@ const reducerBroken = (state: number, { type, payload }: Action3) => { // Repro from #46143 declare var it: Iterator; ->it : Iterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>it : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ const { value, done } = it.next(); >value : any @@ -799,12 +799,12 @@ const { value, done } = it.next(); > : ^^^^^^^^^^^^^^^^^^^ >it.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->it.next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->it : Iterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>it.next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>it : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ if (!done) { >!done : boolean diff --git a/tests/baselines/reference/destructuringAssignmentWithDefault2.types b/tests/baselines/reference/destructuringAssignmentWithDefault2.types index 864ec12dff5..b3a2c811205 100644 --- a/tests/baselines/reference/destructuringAssignmentWithDefault2.types +++ b/tests/baselines/reference/destructuringAssignmentWithDefault2.types @@ -147,8 +147,8 @@ const { x: z3 = undefined } = a; declare const r: Iterator; ->r : Iterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>r : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ let done: boolean; >done : boolean @@ -173,12 +173,12 @@ let value; > : ^^^ >r.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->r.next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->r : Iterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>r.next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>r : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ({ done: done = false, value } = r.next()); >({ done: done = false, value } = r.next()) : IteratorResult @@ -199,10 +199,10 @@ let value; > : ^^^ >r.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->r.next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->r : Iterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [undefined]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>r.next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>r : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).symbols b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).symbols index 16a1e57d1b0..92e1297495f 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).symbols +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).symbols @@ -16,16 +16,17 @@ function mapAsyncIterable( >U : Symbol(U, Decl(discriminateWithOptionalProperty2.ts, 4, 28)) >R : Symbol(R, Decl(discriminateWithOptionalProperty2.ts, 4, 31)) - iterable: AsyncGenerator | AsyncIterable, + iterable: AsyncGenerator | AsyncIterable, >iterable : Symbol(iterable, Decl(discriminateWithOptionalProperty2.ts, 4, 47)) >AsyncGenerator : Symbol(AsyncGenerator, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) >T : Symbol(T, Decl(discriminateWithOptionalProperty2.ts, 4, 26)) >R : Symbol(R, Decl(discriminateWithOptionalProperty2.ts, 4, 31)) >AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) >T : Symbol(T, Decl(discriminateWithOptionalProperty2.ts, 4, 26)) +>R : Symbol(R, Decl(discriminateWithOptionalProperty2.ts, 4, 31)) callback: (value: T) => PromiseOrValue, ->callback : Symbol(callback, Decl(discriminateWithOptionalProperty2.ts, 5, 58)) +>callback : Symbol(callback, Decl(discriminateWithOptionalProperty2.ts, 5, 77)) >value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 6, 13)) >T : Symbol(T, Decl(discriminateWithOptionalProperty2.ts, 4, 26)) >PromiseOrValue : Symbol(PromiseOrValue, Decl(discriminateWithOptionalProperty2.ts, 0, 0)) @@ -70,7 +71,7 @@ function mapAsyncIterable( try { return { value: await callback(result.value), done: false }; >value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 18, 14)) ->callback : Symbol(callback, Decl(discriminateWithOptionalProperty2.ts, 5, 58)) +>callback : Symbol(callback, Decl(discriminateWithOptionalProperty2.ts, 5, 77)) >result.value : Symbol(IteratorYieldResult.value, Decl(lib.es2015.iterable.d.ts, --, --)) >result : Symbol(result, Decl(discriminateWithOptionalProperty2.ts, 10, 27)) >value : Symbol(IteratorYieldResult.value, Decl(lib.es2015.iterable.d.ts, --, --)) diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types index b6b348657df..c378f821990 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types @@ -8,12 +8,12 @@ type PromiseOrValue = Promise | T; > : ^^^^^^^^^^^^^^^^^ function mapAsyncIterable( ->mapAsyncIterable : (iterable: AsyncGenerator | AsyncIterable, callback: (value: T) => PromiseOrValue) => AsyncGenerator -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>mapAsyncIterable : (iterable: AsyncGenerator | AsyncIterable, callback: (value: T) => PromiseOrValue) => AsyncGenerator +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ - iterable: AsyncGenerator | AsyncIterable, ->iterable : AsyncGenerator | AsyncIterable -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + iterable: AsyncGenerator | AsyncIterable, +>iterable : AsyncGenerator | AsyncIterable +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ callback: (value: T) => PromiseOrValue, >callback : (value: T) => PromiseOrValue @@ -23,14 +23,14 @@ function mapAsyncIterable( ): AsyncGenerator { const iterator = iterable[Symbol.asyncIterator](); ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterable[Symbol.asyncIterator]() : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterable[Symbol.asyncIterator] : (() => AsyncGenerator) | (() => AsyncIterator) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterable : AsyncGenerator | AsyncIterable -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterable[Symbol.asyncIterator]() : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterable[Symbol.asyncIterator] : (() => AsyncGenerator) | (() => AsyncIterator) +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterable : AsyncGenerator | AsyncIterable +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Symbol.asyncIterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -92,27 +92,27 @@ function mapAsyncIterable( > : ^^^^^^^ >typeof iterator.return : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.return : ((value?: R | PromiseLike | undefined) => Promise>) | undefined +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>return : ((value?: R | PromiseLike | undefined) => Promise>) | undefined +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ try { await iterator.return(); ->await iterator.return() : IteratorResult -> : ^^^^^^^^^^^^^^^^^^^^^^ ->iterator.return() : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>await iterator.return() : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^ +>iterator.return() : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.return : (value?: R | PromiseLike | undefined) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>return : (value?: R | PromiseLike | undefined) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } catch (_e) {} >_e : unknown @@ -137,16 +137,16 @@ function mapAsyncIterable( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> > : ^ ^^ ^^^^^ ->await iterator.next() : IteratorResult -> : ^^^^^^^^^^^^^^^^^^^^^^ ->iterator.next() : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>await iterator.next() : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^ +>iterator.next() : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.next : (...args: [] | [undefined]) => Promise> +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...args: [] | [undefined]) => Promise> +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ }, async return(): Promise> { @@ -160,12 +160,12 @@ function mapAsyncIterable( > : ^^^^^^^ >typeof iterator.return : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.return : ((value?: R | PromiseLike | undefined) => Promise>) | undefined +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>return : ((value?: R | PromiseLike | undefined) => Promise>) | undefined +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -174,16 +174,16 @@ function mapAsyncIterable( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> > : ^ ^^ ^^^^^ ->await iterator.return() : IteratorResult -> : ^^^^^^^^^^^^^^^^^^^^^^ ->iterator.return() : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>await iterator.return() : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^ +>iterator.return() : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.return : (value?: R | PromiseLike | undefined) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>return : (value?: R | PromiseLike | undefined) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ : { value: undefined as any, done: true }; >{ value: undefined as any, done: true } : { value: any; done: true; } @@ -209,12 +209,12 @@ function mapAsyncIterable( > : ^^^^^^^ >typeof iterator.throw : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.throw : ((e?: any) => Promise>) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->throw : ((e?: any) => Promise>) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.throw : ((e?: any) => Promise>) | undefined +> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>throw : ((e?: any) => Promise>) | undefined +> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -223,16 +223,16 @@ function mapAsyncIterable( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> > : ^ ^^ ^^^^^ ->await iterator.throw(error) : IteratorResult -> : ^^^^^^^^^^^^^^^^^^^^^^ ->iterator.throw(error) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.throw : (e?: any) => Promise> -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->throw : (e?: any) => Promise> -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>await iterator.throw(error) : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^ +>iterator.throw(error) : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.throw : (e?: any) => Promise> +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>throw : (e?: any) => Promise> +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >error : unknown > : ^^^^^^^ } @@ -355,8 +355,8 @@ const doubles = mapAsyncIterable(iterable, (x) => x + x); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapAsyncIterable(iterable, (x) => x + x) : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->mapAsyncIterable : (iterable: AsyncGenerator | AsyncIterable, callback: (value: T) => PromiseOrValue) => AsyncGenerator -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>mapAsyncIterable : (iterable: AsyncGenerator | AsyncIterable, callback: (value: T) => PromiseOrValue) => AsyncGenerator +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >iterable : { [Symbol.asyncIterator](): any; next(): Promise<{ done: boolean; value: number; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(x) => x + x : (x: number) => number diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).symbols b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).symbols index 16a1e57d1b0..92e1297495f 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).symbols +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).symbols @@ -16,16 +16,17 @@ function mapAsyncIterable( >U : Symbol(U, Decl(discriminateWithOptionalProperty2.ts, 4, 28)) >R : Symbol(R, Decl(discriminateWithOptionalProperty2.ts, 4, 31)) - iterable: AsyncGenerator | AsyncIterable, + iterable: AsyncGenerator | AsyncIterable, >iterable : Symbol(iterable, Decl(discriminateWithOptionalProperty2.ts, 4, 47)) >AsyncGenerator : Symbol(AsyncGenerator, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) >T : Symbol(T, Decl(discriminateWithOptionalProperty2.ts, 4, 26)) >R : Symbol(R, Decl(discriminateWithOptionalProperty2.ts, 4, 31)) >AsyncIterable : Symbol(AsyncIterable, Decl(lib.es2018.asynciterable.d.ts, --, --)) >T : Symbol(T, Decl(discriminateWithOptionalProperty2.ts, 4, 26)) +>R : Symbol(R, Decl(discriminateWithOptionalProperty2.ts, 4, 31)) callback: (value: T) => PromiseOrValue, ->callback : Symbol(callback, Decl(discriminateWithOptionalProperty2.ts, 5, 58)) +>callback : Symbol(callback, Decl(discriminateWithOptionalProperty2.ts, 5, 77)) >value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 6, 13)) >T : Symbol(T, Decl(discriminateWithOptionalProperty2.ts, 4, 26)) >PromiseOrValue : Symbol(PromiseOrValue, Decl(discriminateWithOptionalProperty2.ts, 0, 0)) @@ -70,7 +71,7 @@ function mapAsyncIterable( try { return { value: await callback(result.value), done: false }; >value : Symbol(value, Decl(discriminateWithOptionalProperty2.ts, 18, 14)) ->callback : Symbol(callback, Decl(discriminateWithOptionalProperty2.ts, 5, 58)) +>callback : Symbol(callback, Decl(discriminateWithOptionalProperty2.ts, 5, 77)) >result.value : Symbol(IteratorYieldResult.value, Decl(lib.es2015.iterable.d.ts, --, --)) >result : Symbol(result, Decl(discriminateWithOptionalProperty2.ts, 10, 27)) >value : Symbol(IteratorYieldResult.value, Decl(lib.es2015.iterable.d.ts, --, --)) diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types index b6b348657df..c378f821990 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types @@ -8,12 +8,12 @@ type PromiseOrValue = Promise | T; > : ^^^^^^^^^^^^^^^^^ function mapAsyncIterable( ->mapAsyncIterable : (iterable: AsyncGenerator | AsyncIterable, callback: (value: T) => PromiseOrValue) => AsyncGenerator -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>mapAsyncIterable : (iterable: AsyncGenerator | AsyncIterable, callback: (value: T) => PromiseOrValue) => AsyncGenerator +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ - iterable: AsyncGenerator | AsyncIterable, ->iterable : AsyncGenerator | AsyncIterable -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + iterable: AsyncGenerator | AsyncIterable, +>iterable : AsyncGenerator | AsyncIterable +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ callback: (value: T) => PromiseOrValue, >callback : (value: T) => PromiseOrValue @@ -23,14 +23,14 @@ function mapAsyncIterable( ): AsyncGenerator { const iterator = iterable[Symbol.asyncIterator](); ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterable[Symbol.asyncIterator]() : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterable[Symbol.asyncIterator] : (() => AsyncGenerator) | (() => AsyncIterator) -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterable : AsyncGenerator | AsyncIterable -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterable[Symbol.asyncIterator]() : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterable[Symbol.asyncIterator] : (() => AsyncGenerator) | (() => AsyncIterator) +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterable : AsyncGenerator | AsyncIterable +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Symbol.asyncIterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -92,27 +92,27 @@ function mapAsyncIterable( > : ^^^^^^^ >typeof iterator.return : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.return : ((value?: R | PromiseLike | undefined) => Promise>) | undefined +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>return : ((value?: R | PromiseLike | undefined) => Promise>) | undefined +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ try { await iterator.return(); ->await iterator.return() : IteratorResult -> : ^^^^^^^^^^^^^^^^^^^^^^ ->iterator.return() : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>await iterator.return() : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^ +>iterator.return() : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.return : (value?: R | PromiseLike | undefined) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>return : (value?: R | PromiseLike | undefined) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ } catch (_e) {} >_e : unknown @@ -137,16 +137,16 @@ function mapAsyncIterable( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> > : ^ ^^ ^^^^^ ->await iterator.next() : IteratorResult -> : ^^^^^^^^^^^^^^^^^^^^^^ ->iterator.next() : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>await iterator.next() : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^ +>iterator.next() : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.next : (...args: [] | [undefined]) => Promise> +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...args: [] | [undefined]) => Promise> +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ }, async return(): Promise> { @@ -160,12 +160,12 @@ function mapAsyncIterable( > : ^^^^^^^ >typeof iterator.return : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->return : ((value?: any) => Promise>) | undefined -> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.return : ((value?: R | PromiseLike | undefined) => Promise>) | undefined +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>return : ((value?: R | PromiseLike | undefined) => Promise>) | undefined +> : ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -174,16 +174,16 @@ function mapAsyncIterable( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> > : ^ ^^ ^^^^^ ->await iterator.return() : IteratorResult -> : ^^^^^^^^^^^^^^^^^^^^^^ ->iterator.return() : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->return : (value?: any) => Promise> -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>await iterator.return() : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^ +>iterator.return() : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.return : (value?: R | PromiseLike | undefined) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>return : (value?: R | PromiseLike | undefined) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ : { value: undefined as any, done: true }; >{ value: undefined as any, done: true } : { value: any; done: true; } @@ -209,12 +209,12 @@ function mapAsyncIterable( > : ^^^^^^^ >typeof iterator.throw : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.throw : ((e?: any) => Promise>) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->throw : ((e?: any) => Promise>) | undefined -> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.throw : ((e?: any) => Promise>) | undefined +> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>throw : ((e?: any) => Promise>) | undefined +> : ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"function" : "function" > : ^^^^^^^^^^ @@ -223,16 +223,16 @@ function mapAsyncIterable( > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapResult : (result: IteratorResult) => Promise> > : ^ ^^ ^^^^^ ->await iterator.throw(error) : IteratorResult -> : ^^^^^^^^^^^^^^^^^^^^^^ ->iterator.throw(error) : Promise> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.throw : (e?: any) => Promise> -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : AsyncIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->throw : (e?: any) => Promise> -> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>await iterator.throw(error) : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^ +>iterator.throw(error) : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.throw : (e?: any) => Promise> +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : AsyncIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>throw : (e?: any) => Promise> +> : ^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >error : unknown > : ^^^^^^^ } @@ -355,8 +355,8 @@ const doubles = mapAsyncIterable(iterable, (x) => x + x); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >mapAsyncIterable(iterable, (x) => x + x) : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->mapAsyncIterable : (iterable: AsyncGenerator | AsyncIterable, callback: (value: T) => PromiseOrValue) => AsyncGenerator -> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ +>mapAsyncIterable : (iterable: AsyncGenerator | AsyncIterable, callback: (value: T) => PromiseOrValue) => AsyncGenerator +> : ^ ^^ ^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ >iterable : { [Symbol.asyncIterator](): any; next(): Promise<{ done: boolean; value: number; }>; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >(x) => x + x : (x: number) => number diff --git a/tests/baselines/reference/emitArrowFunctionES6.types b/tests/baselines/reference/emitArrowFunctionES6.types index 472ea87102f..3925aeeaf37 100644 --- a/tests/baselines/reference/emitArrowFunctionES6.types +++ b/tests/baselines/reference/emitArrowFunctionES6.types @@ -79,10 +79,10 @@ var p1 = ([a]) => { }; > : ^^^ var p2 = ([...a]) => { }; ->p2 : ([...a]: Iterable) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ ->([...a]) => { } : ([...a]: Iterable) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^ +>p2 : ([...a]: Iterable) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>([...a]) => { } : ([...a]: Iterable) => void +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >a : any[] > : ^^^^^ diff --git a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.types b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.types index 4cc15fc48ee..dc92b10c489 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.types +++ b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.types @@ -46,8 +46,8 @@ class C4 { > : ^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2018.types b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2018.types index 754591d94ba..42a23acadf4 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2018.types +++ b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2018.types @@ -46,8 +46,8 @@ class C4 { > : ^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.types b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.types index aa7bf575411..93ea693423f 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.types +++ b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.types @@ -46,8 +46,8 @@ class C4 { > : ^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.types b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.types index bfbf793fc22..d3f253300a5 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.types +++ b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.types @@ -27,8 +27,8 @@ async function * f3() { } === F4.ts === async function * f4() { ->f4 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f4 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2018.types b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2018.types index f44884810ae..c9e8a861c14 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2018.types +++ b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2018.types @@ -27,8 +27,8 @@ async function * f3() { } === F4.ts === async function * f4() { ->f4 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f4 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.types b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.types index d542e9bd52a..e9f6d8a5c12 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.types +++ b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.types @@ -27,8 +27,8 @@ async function * f3() { } === F4.ts === async function * f4() { ->f4 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f4 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.types b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.types index c375fc5c0b7..385726d4ec8 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.types +++ b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.types @@ -33,10 +33,10 @@ const f3 = async function * () { } === F4.ts === const f4 = async function * () { ->f4 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { const x = yield* [1];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f4 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { const x = yield* [1];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2018.types b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2018.types index 3072ee4edc5..074449e1ccf 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2018.types +++ b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2018.types @@ -33,10 +33,10 @@ const f3 = async function * () { } === F4.ts === const f4 = async function * () { ->f4 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { const x = yield* [1];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f4 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { const x = yield* [1];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.types b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.types index d48a16963a9..0e2315bd1dd 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.types +++ b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.types @@ -33,10 +33,10 @@ const f3 = async function * () { } === F4.ts === const f4 = async function * () { ->f4 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { const x = yield* [1];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f4 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { const x = yield* [1];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.types b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.types index 604560f8a9d..58de2b68a6c 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.types +++ b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.types @@ -48,14 +48,14 @@ const o3 = { } === O4.ts === const o4 = { ->o4 : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ async * f() { const x = yield* [1]; }} : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o4 : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ async * f() { const x = yield* [1]; }} : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2018.types b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2018.types index ead1acd6ef0..024281295e4 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2018.types +++ b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2018.types @@ -48,14 +48,14 @@ const o3 = { } === O4.ts === const o4 = { ->o4 : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ async * f() { const x = yield* [1]; }} : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o4 : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ async * f() { const x = yield* [1]; }} : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.types b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.types index c362f7b952b..6bb7ecf6240 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.types +++ b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.types @@ -48,14 +48,14 @@ const o3 = { } === O4.ts === const o4 = { ->o4 : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ async * f() { const x = yield* [1]; }} : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o4 : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ async * f() { const x = yield* [1]; }} : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types b/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types index 0b291230cde..d53b79137fc 100644 --- a/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types +++ b/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types @@ -436,8 +436,7 @@ export class IterableWeakMap implements WeakMap { > : ^ yield [key, value]; ->yield [key, value] : unknown -> : ^^^^^^^ +>yield [key, value] : any >[key, value] : [K, V] > : ^^^^^^ >key : K diff --git a/tests/baselines/reference/excessiveStackDepthFlatArray.types b/tests/baselines/reference/excessiveStackDepthFlatArray.types index d465f97fc02..60586093860 100644 --- a/tests/baselines/reference/excessiveStackDepthFlatArray.types +++ b/tests/baselines/reference/excessiveStackDepthFlatArray.types @@ -1,7 +1,7 @@ //// [tests/cases/compiler/excessiveStackDepthFlatArray.ts] //// === Performance Stats === -Instantiation count: 1,000 +Instantiation count: 1,000 -> 2,500 === index.tsx === interface MiddlewareArray extends Array {} diff --git a/tests/baselines/reference/for-of29.errors.txt b/tests/baselines/reference/for-of29.errors.txt index 71a82303546..f091e9dc9a6 100644 --- a/tests/baselines/reference/for-of29.errors.txt +++ b/tests/baselines/reference/for-of29.errors.txt @@ -1,4 +1,4 @@ -for-of29.ts(5,15): error TS2488: Type '{ [Symbol.iterator]?(): Iterator; }' must have a '[Symbol.iterator]()' method that returns an iterator. +for-of29.ts(5,15): error TS2488: Type '{ [Symbol.iterator]?(): Iterator; }' must have a '[Symbol.iterator]()' method that returns an iterator. ==== for-of29.ts (1 errors) ==== @@ -8,5 +8,5 @@ for-of29.ts(5,15): error TS2488: Type '{ [Symbol.iterator]?(): Iterator; }' must have a '[Symbol.iterator]()' method that returns an iterator. +!!! error TS2488: Type '{ [Symbol.iterator]?(): Iterator; }' must have a '[Symbol.iterator]()' method that returns an iterator. \ No newline at end of file diff --git a/tests/baselines/reference/generatorReturnTypeFallback.1.types b/tests/baselines/reference/generatorReturnTypeFallback.1.types index e15ee0e2669..fc04c48fbaf 100644 --- a/tests/baselines/reference/generatorReturnTypeFallback.1.types +++ b/tests/baselines/reference/generatorReturnTypeFallback.1.types @@ -3,8 +3,8 @@ === generatorReturnTypeFallback.1.ts === // Allow generators to fallback to IterableIterator if they do not need a type for the sent value while in strictNullChecks mode. function* f() { ->f : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield 1; >yield 1 : any diff --git a/tests/baselines/reference/generatorReturnTypeFallback.3.errors.txt b/tests/baselines/reference/generatorReturnTypeFallback.3.errors.txt deleted file mode 100644 index de2135daa6f..00000000000 --- a/tests/baselines/reference/generatorReturnTypeFallback.3.errors.txt +++ /dev/null @@ -1,10 +0,0 @@ -error TS2318: Cannot find global type 'Generator'. - - -!!! error TS2318: Cannot find global type 'Generator'. -==== generatorReturnTypeFallback.3.ts (0 errors) ==== - // Do not allow generators to fallback to IterableIterator while in strictNullChecks mode if they need a type for the sent value. - // NOTE: In non-strictNullChecks mode, `undefined` (the default sent value) is assignable to everything. - function* f() { - const x: string = yield 1; - } \ No newline at end of file diff --git a/tests/baselines/reference/generatorReturnTypeFallback.3.symbols b/tests/baselines/reference/generatorReturnTypeFallback.3.symbols index 41d807d743b..ce94c240f0c 100644 --- a/tests/baselines/reference/generatorReturnTypeFallback.3.symbols +++ b/tests/baselines/reference/generatorReturnTypeFallback.3.symbols @@ -1,11 +1,9 @@ //// [tests/cases/conformance/generators/generatorReturnTypeFallback.3.ts] //// === generatorReturnTypeFallback.3.ts === -// Do not allow generators to fallback to IterableIterator while in strictNullChecks mode if they need a type for the sent value. -// NOTE: In non-strictNullChecks mode, `undefined` (the default sent value) is assignable to everything. function* f() { >f : Symbol(f, Decl(generatorReturnTypeFallback.3.ts, 0, 0)) const x: string = yield 1; ->x : Symbol(x, Decl(generatorReturnTypeFallback.3.ts, 3, 9)) +>x : Symbol(x, Decl(generatorReturnTypeFallback.3.ts, 1, 9)) } diff --git a/tests/baselines/reference/generatorReturnTypeFallback.3.types b/tests/baselines/reference/generatorReturnTypeFallback.3.types index 54c5039049b..2bc88213fc3 100644 --- a/tests/baselines/reference/generatorReturnTypeFallback.3.types +++ b/tests/baselines/reference/generatorReturnTypeFallback.3.types @@ -1,17 +1,14 @@ //// [tests/cases/conformance/generators/generatorReturnTypeFallback.3.ts] //// === generatorReturnTypeFallback.3.ts === -// Do not allow generators to fallback to IterableIterator while in strictNullChecks mode if they need a type for the sent value. -// NOTE: In non-strictNullChecks mode, `undefined` (the default sent value) is assignable to everything. function* f() { ->f : () => {} -> : ^^^^^^^^ +>f : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x: string = yield 1; >x : string > : ^^^^^^ >yield 1 : any -> : ^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/generatorReturnTypeFallback.4.types b/tests/baselines/reference/generatorReturnTypeFallback.4.types index acd098251ee..eb3fbef238d 100644 --- a/tests/baselines/reference/generatorReturnTypeFallback.4.types +++ b/tests/baselines/reference/generatorReturnTypeFallback.4.types @@ -4,8 +4,8 @@ // Allow generators to fallback to IterableIterator if they are not in strictNullChecks mode // NOTE: In non-strictNullChecks mode, `undefined` (the default sent value) is assignable to everything. function* f() { ->f : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x: string = yield 1; >x : string diff --git a/tests/baselines/reference/generatorReturnTypeFallback.5.types b/tests/baselines/reference/generatorReturnTypeFallback.5.types index 7d85ccb1af7..a3eab2c4e3b 100644 --- a/tests/baselines/reference/generatorReturnTypeFallback.5.types +++ b/tests/baselines/reference/generatorReturnTypeFallback.5.types @@ -7,8 +7,7 @@ function* f(): IterableIterator { > : ^^^^^^ yield 1; ->yield 1 : undefined -> : ^^^^^^^^^ +>yield 1 : any >1 : 1 > : ^ } diff --git a/tests/baselines/reference/generatorReturnTypeInference.types b/tests/baselines/reference/generatorReturnTypeInference.types index a2ad28e5e30..e6249102d64 100644 --- a/tests/baselines/reference/generatorReturnTypeInference.types +++ b/tests/baselines/reference/generatorReturnTypeInference.types @@ -40,8 +40,8 @@ function* g002() { // Generator } function* g003() { // Generator ->g003 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g003 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* []; >yield* [] : any @@ -51,8 +51,8 @@ function* g003() { // Generator } function* g004() { // Generator ->g004 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g004 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* iterableIterator; >yield* iterableIterator : any diff --git a/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types b/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types index f52fb7eaeb0..03155f5fd2b 100644 --- a/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types +++ b/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types @@ -40,8 +40,8 @@ function* g002() { // Generator } function* g003() { // Generator ->g003 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g003 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // NOTE: In strict mode, `[]` produces the type `never[]`. // In non-strict mode, `[]` produces the type `undefined[]` which is implicitly any. @@ -53,8 +53,8 @@ function* g003() { // Generator } function* g004() { // Generator ->g004 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g004 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* iterableIterator; >yield* iterableIterator : any diff --git a/tests/baselines/reference/generatorTypeCheck11.js b/tests/baselines/reference/generatorTypeCheck11.js index 09d30ea001b..7d9b616a264 100644 --- a/tests/baselines/reference/generatorTypeCheck11.js +++ b/tests/baselines/reference/generatorTypeCheck11.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck11.ts] //// //// [generatorTypeCheck11.ts] -function* g(): IterableIterator { +function* g(): IterableIterator { return 0; } diff --git a/tests/baselines/reference/generatorTypeCheck11.symbols b/tests/baselines/reference/generatorTypeCheck11.symbols index f5f3ce3fdde..44a4c4d6231 100644 --- a/tests/baselines/reference/generatorTypeCheck11.symbols +++ b/tests/baselines/reference/generatorTypeCheck11.symbols @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck11.ts] //// === generatorTypeCheck11.ts === -function* g(): IterableIterator { +function* g(): IterableIterator { >g : Symbol(g, Decl(generatorTypeCheck11.ts, 0, 0)) >IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) diff --git a/tests/baselines/reference/generatorTypeCheck11.types b/tests/baselines/reference/generatorTypeCheck11.types index dda8baa38dc..b1788b17a91 100644 --- a/tests/baselines/reference/generatorTypeCheck11.types +++ b/tests/baselines/reference/generatorTypeCheck11.types @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck11.ts] //// === generatorTypeCheck11.ts === -function* g(): IterableIterator { ->g : () => IterableIterator -> : ^^^^^^ +function* g(): IterableIterator { +>g : () => IterableIterator +> : ^^^^^^ return 0; >0 : 0 diff --git a/tests/baselines/reference/generatorTypeCheck12.js b/tests/baselines/reference/generatorTypeCheck12.js index 5ea3a5e9a7e..4acc1e52058 100644 --- a/tests/baselines/reference/generatorTypeCheck12.js +++ b/tests/baselines/reference/generatorTypeCheck12.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck12.ts] //// //// [generatorTypeCheck12.ts] -function* g(): IterableIterator { +function* g(): IterableIterator { return ""; } diff --git a/tests/baselines/reference/generatorTypeCheck12.symbols b/tests/baselines/reference/generatorTypeCheck12.symbols index 8fd6746b19d..d66acfb2ace 100644 --- a/tests/baselines/reference/generatorTypeCheck12.symbols +++ b/tests/baselines/reference/generatorTypeCheck12.symbols @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck12.ts] //// === generatorTypeCheck12.ts === -function* g(): IterableIterator { +function* g(): IterableIterator { >g : Symbol(g, Decl(generatorTypeCheck12.ts, 0, 0)) >IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) diff --git a/tests/baselines/reference/generatorTypeCheck12.types b/tests/baselines/reference/generatorTypeCheck12.types index 407f05e6f39..4a55e92a7d1 100644 --- a/tests/baselines/reference/generatorTypeCheck12.types +++ b/tests/baselines/reference/generatorTypeCheck12.types @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck12.ts] //// === generatorTypeCheck12.ts === -function* g(): IterableIterator { ->g : () => IterableIterator -> : ^^^^^^ +function* g(): IterableIterator { +>g : () => IterableIterator +> : ^^^^^^ return ""; >"" : "" diff --git a/tests/baselines/reference/generatorTypeCheck13.js b/tests/baselines/reference/generatorTypeCheck13.js index 1a743854ab2..a447f44ea86 100644 --- a/tests/baselines/reference/generatorTypeCheck13.js +++ b/tests/baselines/reference/generatorTypeCheck13.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck13.ts] //// //// [generatorTypeCheck13.ts] -function* g(): IterableIterator { +function* g(): IterableIterator { yield 0; return ""; } diff --git a/tests/baselines/reference/generatorTypeCheck13.symbols b/tests/baselines/reference/generatorTypeCheck13.symbols index e2a80949d6c..71557b215c8 100644 --- a/tests/baselines/reference/generatorTypeCheck13.symbols +++ b/tests/baselines/reference/generatorTypeCheck13.symbols @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck13.ts] //// === generatorTypeCheck13.ts === -function* g(): IterableIterator { +function* g(): IterableIterator { >g : Symbol(g, Decl(generatorTypeCheck13.ts, 0, 0)) >IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) diff --git a/tests/baselines/reference/generatorTypeCheck13.types b/tests/baselines/reference/generatorTypeCheck13.types index 85f6e91aefd..6144546acc2 100644 --- a/tests/baselines/reference/generatorTypeCheck13.types +++ b/tests/baselines/reference/generatorTypeCheck13.types @@ -1,13 +1,12 @@ //// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck13.ts] //// === generatorTypeCheck13.ts === -function* g(): IterableIterator { ->g : () => IterableIterator -> : ^^^^^^ +function* g(): IterableIterator { +>g : () => IterableIterator +> : ^^^^^^ yield 0; ->yield 0 : undefined -> : ^^^^^^^^^ +>yield 0 : any >0 : 0 > : ^ diff --git a/tests/baselines/reference/generatorTypeCheck17.types b/tests/baselines/reference/generatorTypeCheck17.types index f163aad700c..4f10af02fab 100644 --- a/tests/baselines/reference/generatorTypeCheck17.types +++ b/tests/baselines/reference/generatorTypeCheck17.types @@ -20,12 +20,10 @@ function* g(): IterableIterator { > : ^^^^^^ yield; ->yield : undefined -> : ^^^^^^^^^ +>yield : any yield new Bar; ->yield new Bar : undefined -> : ^^^^^^^^^ +>yield new Bar : any >new Bar : Bar > : ^^^ >Bar : typeof Bar diff --git a/tests/baselines/reference/generatorTypeCheck18.types b/tests/baselines/reference/generatorTypeCheck18.types index d9c9694e472..a7d2eca6795 100644 --- a/tests/baselines/reference/generatorTypeCheck18.types +++ b/tests/baselines/reference/generatorTypeCheck18.types @@ -18,12 +18,12 @@ function* g(): IterableIterator { > : ^^^^^^ yield; ->yield : undefined -> : ^^^^^^^^^ +>yield : any +> : ^^^ yield new Baz; ->yield new Baz : undefined -> : ^^^^^^^^^ +>yield new Baz : any +> : ^^^ >new Baz : Baz > : ^^^ >Baz : typeof Baz diff --git a/tests/baselines/reference/generatorTypeCheck19.types b/tests/baselines/reference/generatorTypeCheck19.types index 9faf23c7ad3..b25b28b3167 100644 --- a/tests/baselines/reference/generatorTypeCheck19.types +++ b/tests/baselines/reference/generatorTypeCheck19.types @@ -20,8 +20,7 @@ function* g(): IterableIterator { > : ^^^^^^ yield; ->yield : undefined -> : ^^^^^^^^^ +>yield : any yield * [new Bar]; >yield * [new Bar] : any diff --git a/tests/baselines/reference/generatorTypeCheck20.types b/tests/baselines/reference/generatorTypeCheck20.types index 243a849924d..469c7036bbe 100644 --- a/tests/baselines/reference/generatorTypeCheck20.types +++ b/tests/baselines/reference/generatorTypeCheck20.types @@ -18,8 +18,8 @@ function* g(): IterableIterator { > : ^^^^^^ yield; ->yield : undefined -> : ^^^^^^^^^ +>yield : any +> : ^^^ yield * [new Baz]; >yield * [new Baz] : any diff --git a/tests/baselines/reference/generatorTypeCheck21.types b/tests/baselines/reference/generatorTypeCheck21.types index 58cc46f3457..55f2d96377a 100644 --- a/tests/baselines/reference/generatorTypeCheck21.types +++ b/tests/baselines/reference/generatorTypeCheck21.types @@ -20,8 +20,8 @@ function* g(): IterableIterator { > : ^^^^^^ yield; ->yield : undefined -> : ^^^^^^^^^ +>yield : any +> : ^^^ yield * new Bar; >yield * new Bar : any diff --git a/tests/baselines/reference/generatorTypeCheck22.types b/tests/baselines/reference/generatorTypeCheck22.types index 73246839319..f8f6580b454 100644 --- a/tests/baselines/reference/generatorTypeCheck22.types +++ b/tests/baselines/reference/generatorTypeCheck22.types @@ -22,8 +22,8 @@ class Baz { z: number } > : ^^^^^^ function* g3() { ->g3 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g3 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield; >yield : any diff --git a/tests/baselines/reference/generatorTypeCheck23.types b/tests/baselines/reference/generatorTypeCheck23.types index 52056e44274..50e76794cc4 100644 --- a/tests/baselines/reference/generatorTypeCheck23.types +++ b/tests/baselines/reference/generatorTypeCheck23.types @@ -22,8 +22,8 @@ class Baz { z: number } > : ^^^^^^ function* g3() { ->g3 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g3 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield; >yield : any diff --git a/tests/baselines/reference/generatorTypeCheck24.types b/tests/baselines/reference/generatorTypeCheck24.types index 0f243defbf3..d0869e11348 100644 --- a/tests/baselines/reference/generatorTypeCheck24.types +++ b/tests/baselines/reference/generatorTypeCheck24.types @@ -22,8 +22,8 @@ class Baz { z: number } > : ^^^^^^ function* g3() { ->g3 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g3 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield; >yield : any diff --git a/tests/baselines/reference/generatorTypeCheck25.errors.txt b/tests/baselines/reference/generatorTypeCheck25.errors.txt index ab28ce3ace4..2113fedd55f 100644 --- a/tests/baselines/reference/generatorTypeCheck25.errors.txt +++ b/tests/baselines/reference/generatorTypeCheck25.errors.txt @@ -1,5 +1,5 @@ -generatorTypeCheck25.ts(4,5): error TS2322: Type '() => Generator' is not assignable to type '() => Iterable'. - Call signature return types 'Generator' and 'Iterable' are incompatible. +generatorTypeCheck25.ts(4,5): error TS2322: Type '() => Generator' is not assignable to type '() => Iterable'. + Call signature return types 'Generator' and 'Iterable' are incompatible. The types returned by '[Symbol.iterator]().next(...)' are incompatible between these types. Type 'IteratorResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. @@ -14,8 +14,8 @@ generatorTypeCheck25.ts(4,5): error TS2322: Type '() => Generator Iterable = function* () { ~~ -!!! error TS2322: Type '() => Generator' is not assignable to type '() => Iterable'. -!!! error TS2322: Call signature return types 'Generator' and 'Iterable' are incompatible. +!!! error TS2322: Type '() => Generator' is not assignable to type '() => Iterable'. +!!! error TS2322: Call signature return types 'Generator' and 'Iterable' are incompatible. !!! error TS2322: The types returned by '[Symbol.iterator]().next(...)' are incompatible between these types. !!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. !!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. diff --git a/tests/baselines/reference/generatorTypeCheck25.types b/tests/baselines/reference/generatorTypeCheck25.types index 21c909b1895..322bb4b9268 100644 --- a/tests/baselines/reference/generatorTypeCheck25.types +++ b/tests/baselines/reference/generatorTypeCheck25.types @@ -24,24 +24,24 @@ class Baz { z: number } var g3: () => Iterable = function* () { >g3 : () => Iterable > : ^^^^^^ ->function* () { yield; yield new Bar; yield new Baz; yield *[new Bar]; yield *[new Baz];} : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function* () { yield; yield new Bar; yield new Baz; yield *[new Bar]; yield *[new Baz];} : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield; ->yield : undefined -> : ^^^^^^^^^ +>yield : any +> : ^^^ yield new Bar; ->yield new Bar : undefined -> : ^^^^^^^^^ +>yield new Bar : any +> : ^^^ >new Bar : Bar > : ^^^ >Bar : typeof Bar > : ^^^^^^^^^^ yield new Baz; ->yield new Baz : undefined -> : ^^^^^^^^^ +>yield new Baz : any +> : ^^^ >new Baz : Baz > : ^^^ >Baz : typeof Baz diff --git a/tests/baselines/reference/generatorTypeCheck26.js b/tests/baselines/reference/generatorTypeCheck26.js index 5bb74d893ad..5004a9aa052 100644 --- a/tests/baselines/reference/generatorTypeCheck26.js +++ b/tests/baselines/reference/generatorTypeCheck26.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck26.ts] //// //// [generatorTypeCheck26.ts] -function* g(): IterableIterator<(x: string) => number> { +function* g(): IterableIterator<(x: string) => number, (x: string) => number> { yield x => x.length; yield *[x => x.length]; return x => x.length; diff --git a/tests/baselines/reference/generatorTypeCheck26.symbols b/tests/baselines/reference/generatorTypeCheck26.symbols index c625c5fda15..3bc5d873490 100644 --- a/tests/baselines/reference/generatorTypeCheck26.symbols +++ b/tests/baselines/reference/generatorTypeCheck26.symbols @@ -1,10 +1,11 @@ //// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck26.ts] //// === generatorTypeCheck26.ts === -function* g(): IterableIterator<(x: string) => number> { +function* g(): IterableIterator<(x: string) => number, (x: string) => number> { >g : Symbol(g, Decl(generatorTypeCheck26.ts, 0, 0)) >IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >x : Symbol(x, Decl(generatorTypeCheck26.ts, 0, 33)) +>x : Symbol(x, Decl(generatorTypeCheck26.ts, 0, 56)) yield x => x.length; >x : Symbol(x, Decl(generatorTypeCheck26.ts, 1, 9)) @@ -20,5 +21,7 @@ function* g(): IterableIterator<(x: string) => number> { return x => x.length; >x : Symbol(x, Decl(generatorTypeCheck26.ts, 3, 10)) +>x.length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) >x : Symbol(x, Decl(generatorTypeCheck26.ts, 3, 10)) +>length : Symbol(String.length, Decl(lib.es5.d.ts, --, --)) } diff --git a/tests/baselines/reference/generatorTypeCheck26.types b/tests/baselines/reference/generatorTypeCheck26.types index 013714b0958..7f75848a335 100644 --- a/tests/baselines/reference/generatorTypeCheck26.types +++ b/tests/baselines/reference/generatorTypeCheck26.types @@ -1,15 +1,16 @@ //// [tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck26.ts] //// === generatorTypeCheck26.ts === -function* g(): IterableIterator<(x: string) => number> { ->g : () => IterableIterator<(x: string) => number> -> : ^^^^^^ +function* g(): IterableIterator<(x: string) => number, (x: string) => number> { +>g : () => IterableIterator<(x: string) => number, (x: string) => number> +> : ^^^^^^ +>x : string +> : ^^^^^^ >x : string > : ^^^^^^ yield x => x.length; ->yield x => x.length : undefined -> : ^^^^^^^^^ +>yield x => x.length : any >x => x.length : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string @@ -37,12 +38,14 @@ function* g(): IterableIterator<(x: string) => number> { > : ^^^^^^ return x => x.length; ->x => x.length : (x: any) => any -> : ^ ^^^^^^^^^^^^^ ->x : any ->x.length : any ->x : any -> : ^^^ ->length : any -> : ^^^ +>x => x.length : (x: string) => number +> : ^ ^^^^^^^^^^^^^^^^^^^ +>x : string +> : ^^^^^^ +>x.length : number +> : ^^^^^^ +>x : string +> : ^^^^^^ +>length : number +> : ^^^^^^ } diff --git a/tests/baselines/reference/generatorTypeCheck27.types b/tests/baselines/reference/generatorTypeCheck27.types index 407ed128386..fabc419cdbf 100644 --- a/tests/baselines/reference/generatorTypeCheck27.types +++ b/tests/baselines/reference/generatorTypeCheck27.types @@ -10,14 +10,13 @@ function* g(): IterableIterator<(x: string) => number> { yield * function* () { >yield * function* () { yield x => x.length; } () : void > : ^^^^ ->function* () { yield x => x.length; } () : Generator<(x: string) => number, void, undefined> -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->function* () { yield x => x.length; } : () => Generator<(x: string) => number, void, undefined> -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function* () { yield x => x.length; } () : Generator<(x: string) => number, void, any> +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function* () { yield x => x.length; } : () => Generator<(x: string) => number, void, any> +> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield x => x.length; ->yield x => x.length : undefined -> : ^^^^^^^^^ +>yield x => x.length : any >x => x.length : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/generatorTypeCheck28.types b/tests/baselines/reference/generatorTypeCheck28.types index c7675a72485..be2015e3671 100644 --- a/tests/baselines/reference/generatorTypeCheck28.types +++ b/tests/baselines/reference/generatorTypeCheck28.types @@ -10,12 +10,12 @@ function* g(): IterableIterator<(x: string) => number> { yield * { >yield * { *[Symbol.iterator]() { yield x => x.length; } } : void > : ^^^^ ->{ *[Symbol.iterator]() { yield x => x.length; } } : { [Symbol.iterator](): Generator<(x: string) => number, void, undefined>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ *[Symbol.iterator]() { yield x => x.length; } } : { [Symbol.iterator](): Generator<(x: string) => number, void, any>; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ *[Symbol.iterator]() { ->[Symbol.iterator] : () => Generator<(x: string) => number, void, undefined> -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[Symbol.iterator] : () => Generator<(x: string) => number, void, any> +> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -24,8 +24,7 @@ function* g(): IterableIterator<(x: string) => number> { > : ^^^^^^^^^^^^^ yield x => x.length; ->yield x => x.length : undefined -> : ^^^^^^^^^ +>yield x => x.length : any >x => x.length : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/generatorTypeCheck29.types b/tests/baselines/reference/generatorTypeCheck29.types index c8420f3d229..2056a0db632 100644 --- a/tests/baselines/reference/generatorTypeCheck29.types +++ b/tests/baselines/reference/generatorTypeCheck29.types @@ -8,16 +8,14 @@ function* g2(): Iterator number>> { > : ^^^^^^ yield function* () { ->yield function* () { yield x => x.length; } () : undefined -> : ^^^^^^^^^ ->function* () { yield x => x.length; } () : Generator<(x: string) => number, void, undefined> -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->function* () { yield x => x.length; } : () => Generator<(x: string) => number, void, undefined> -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield function* () { yield x => x.length; } () : any +>function* () { yield x => x.length; } () : Generator<(x: string) => number, void, any> +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function* () { yield x => x.length; } : () => Generator<(x: string) => number, void, any> +> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield x => x.length; ->yield x => x.length : undefined -> : ^^^^^^^^^ +>yield x => x.length : any >x => x.length : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/generatorTypeCheck30.types b/tests/baselines/reference/generatorTypeCheck30.types index bbb0e9be9f6..dacc0a2b8bc 100644 --- a/tests/baselines/reference/generatorTypeCheck30.types +++ b/tests/baselines/reference/generatorTypeCheck30.types @@ -8,16 +8,14 @@ function* g2(): Iterator number>> { > : ^^^^^^ yield function* () { ->yield function* () { yield x => x.length; } () : undefined -> : ^^^^^^^^^ ->function* () { yield x => x.length; } () : Generator<(x: string) => number, void, undefined> -> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->function* () { yield x => x.length; } : () => Generator<(x: string) => number, void, undefined> -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield function* () { yield x => x.length; } () : any +>function* () { yield x => x.length; } () : Generator<(x: string) => number, void, any> +> : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function* () { yield x => x.length; } : () => Generator<(x: string) => number, void, any> +> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield x => x.length; ->yield x => x.length : undefined -> : ^^^^^^^^^ +>yield x => x.length : any >x => x.length : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/generatorTypeCheck31.types b/tests/baselines/reference/generatorTypeCheck31.types index 18130e17dfa..9bbb95c88d2 100644 --- a/tests/baselines/reference/generatorTypeCheck31.types +++ b/tests/baselines/reference/generatorTypeCheck31.types @@ -8,8 +8,8 @@ function* g2(): Iterator<() => Iterable<(x: string) => number>> { > : ^^^^^^ yield function* () { ->yield function* () { yield x => x.length; } () : undefined -> : ^^^^^^^^^ +>yield function* () { yield x => x.length; } () : any +> : ^^^ >function* () { yield x => x.length; } () : Generator<(x: any) => any, void, unknown> > : ^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >function* () { yield x => x.length; } : () => Generator<(x: any) => any, void, unknown> diff --git a/tests/baselines/reference/generatorTypeCheck45.types b/tests/baselines/reference/generatorTypeCheck45.types index d8577d007c9..edb905d1866 100644 --- a/tests/baselines/reference/generatorTypeCheck45.types +++ b/tests/baselines/reference/generatorTypeCheck45.types @@ -22,10 +22,9 @@ foo("", function* () { yield x => x.length }, p => undefined); // T is fixed, sh > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ ->function* () { yield x => x.length } : () => Generator<(x: string) => number, void, undefined> -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->yield x => x.length : undefined -> : ^^^^^^^^^ +>function* () { yield x => x.length } : () => Generator<(x: string) => number, void, any> +> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield x => x.length : any >x => x.length : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/generatorTypeCheck46.types b/tests/baselines/reference/generatorTypeCheck46.types index 681fe2cb930..ee34af45e0b 100644 --- a/tests/baselines/reference/generatorTypeCheck46.types +++ b/tests/baselines/reference/generatorTypeCheck46.types @@ -22,18 +22,18 @@ foo("", function* () { > : ^ ^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ >"" : "" > : ^^ ->function* () { yield* { *[Symbol.iterator]() { yield x => x.length } }} : () => Generator<(x: string) => number, void, undefined> -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function* () { yield* { *[Symbol.iterator]() { yield x => x.length } }} : () => Generator<(x: string) => number, void, any> +> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* { >yield* { *[Symbol.iterator]() { yield x => x.length } } : void > : ^^^^ ->{ *[Symbol.iterator]() { yield x => x.length } } : { [Symbol.iterator](): Generator<(x: string) => number, void, undefined>; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ *[Symbol.iterator]() { yield x => x.length } } : { [Symbol.iterator](): Generator<(x: string) => number, void, any>; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ *[Symbol.iterator]() { ->[Symbol.iterator] : () => Generator<(x: string) => number, void, undefined> -> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[Symbol.iterator] : () => Generator<(x: string) => number, void, any> +> : ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -42,8 +42,7 @@ foo("", function* () { > : ^^^^^^^^^^^^^ yield x => x.length ->yield x => x.length : undefined -> : ^^^^^^^^^ +>yield x => x.length : any >x => x.length : (x: string) => number > : ^ ^^^^^^^^^^^^^^^^^^^ >x : string diff --git a/tests/baselines/reference/generatorTypeCheck53.types b/tests/baselines/reference/generatorTypeCheck53.types index 139ca5904a9..308c3c45f0e 100644 --- a/tests/baselines/reference/generatorTypeCheck53.types +++ b/tests/baselines/reference/generatorTypeCheck53.types @@ -14,8 +14,8 @@ class Baz { z: number } > : ^^^^^^ function* g() { ->g : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield new Foo; >yield new Foo : any diff --git a/tests/baselines/reference/generatorTypeCheck54.types b/tests/baselines/reference/generatorTypeCheck54.types index 0bb7b4e37d6..3162d1537f1 100644 --- a/tests/baselines/reference/generatorTypeCheck54.types +++ b/tests/baselines/reference/generatorTypeCheck54.types @@ -14,8 +14,8 @@ class Baz { z: number } > : ^^^^^^ function* g() { ->g : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [new Foo]; >yield* [new Foo] : any diff --git a/tests/baselines/reference/generatorTypeCheck62.errors.txt b/tests/baselines/reference/generatorTypeCheck62.errors.txt new file mode 100644 index 00000000000..6599e8fdd01 --- /dev/null +++ b/tests/baselines/reference/generatorTypeCheck62.errors.txt @@ -0,0 +1,69 @@ +generatorTypeCheck62.ts(24,62): error TS2345: Argument of type '(state: State) => Generator' is not assignable to parameter of type '(a: State) => IterableIterator'. + Call signature return types 'Generator' and 'IterableIterator' are incompatible. + The types returned by 'next(...)' are incompatible between these types. + Type 'IteratorResult' is not assignable to type 'IteratorResult'. + Type 'IteratorReturnResult' is not assignable to type 'IteratorResult'. + Type 'IteratorReturnResult' is not assignable to type 'IteratorReturnResult'. + Type 'State' is not assignable to type 'void'. +generatorTypeCheck62.ts(32,62): error TS2345: Argument of type '(state: State) => Generator' is not assignable to parameter of type '(a: any) => IterableIterator'. + Call signature return types 'Generator' and 'IterableIterator' are incompatible. + The types returned by 'next(...)' are incompatible between these types. + Type 'IteratorResult' is not assignable to type 'IteratorResult'. + Type 'IteratorReturnResult' is not assignable to type 'IteratorResult'. + Type 'IteratorReturnResult' is not assignable to type 'IteratorReturnResult'. + Type 'State' is not assignable to type 'void'. + + +==== generatorTypeCheck62.ts (2 errors) ==== + export interface StrategicState { + lastStrategyApplied?: string; + } + + export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { + return function*(state) { + for (const next of gen(state)) { + if (next) { + next.lastStrategyApplied = stratName; + } + yield next; + } + } + } + + export interface Strategy { + (a: T): IterableIterator; + } + + export interface State extends StrategicState { + foo: number; + } + + export const Nothing1: Strategy = strategy("Nothing", function*(state: State) { + ~~~~~~~~ +!!! error TS2345: Argument of type '(state: State) => Generator' is not assignable to parameter of type '(a: State) => IterableIterator'. +!!! error TS2345: Call signature return types 'Generator' and 'IterableIterator' are incompatible. +!!! error TS2345: The types returned by 'next(...)' are incompatible between these types. +!!! error TS2345: Type 'IteratorResult' is not assignable to type 'IteratorResult'. +!!! error TS2345: Type 'IteratorReturnResult' is not assignable to type 'IteratorResult'. +!!! error TS2345: Type 'IteratorReturnResult' is not assignable to type 'IteratorReturnResult'. +!!! error TS2345: Type 'State' is not assignable to type 'void'. + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. + }); + + export const Nothing2: Strategy = strategy("Nothing", function*(state: State) { + yield state; + }); + + export const Nothing3: Strategy = strategy("Nothing", function* (state: State) { + ~~~~~~~~ +!!! error TS2345: Argument of type '(state: State) => Generator' is not assignable to parameter of type '(a: any) => IterableIterator'. +!!! error TS2345: Call signature return types 'Generator' and 'IterableIterator' are incompatible. +!!! error TS2345: The types returned by 'next(...)' are incompatible between these types. +!!! error TS2345: Type 'IteratorResult' is not assignable to type 'IteratorResult'. +!!! error TS2345: Type 'IteratorReturnResult' is not assignable to type 'IteratorResult'. +!!! error TS2345: Type 'IteratorReturnResult' is not assignable to type 'IteratorReturnResult'. +!!! error TS2345: Type 'State' is not assignable to type 'void'. + yield ; + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. + }); + \ No newline at end of file diff --git a/tests/baselines/reference/generatorTypeCheck62.js b/tests/baselines/reference/generatorTypeCheck62.js index 9ca8500b6f1..b07e7b95dd9 100644 --- a/tests/baselines/reference/generatorTypeCheck62.js +++ b/tests/baselines/reference/generatorTypeCheck62.js @@ -5,7 +5,7 @@ export interface StrategicState { lastStrategyApplied?: string; } -export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { +export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { return function*(state) { for (const next of gen(state)) { if (next) { @@ -17,7 +17,7 @@ export function strategy(stratName: string, gen: (a: T } export interface Strategy { - (a: T): IterableIterator; + (a: T): IterableIterator; } export interface State extends StrategicState { @@ -25,7 +25,7 @@ export interface State extends StrategicState { } export const Nothing1: Strategy = strategy("Nothing", function*(state: State) { - return state; + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); export const Nothing2: Strategy = strategy("Nothing", function*(state: State) { @@ -34,7 +34,7 @@ export const Nothing2: Strategy = strategy("Nothing", function*(state: St export const Nothing3: Strategy = strategy("Nothing", function* (state: State) { yield ; - return state; + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); @@ -54,12 +54,12 @@ function strategy(stratName, gen) { }; } exports.Nothing1 = strategy("Nothing", function* (state) { - return state; + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); exports.Nothing2 = strategy("Nothing", function* (state) { yield state; }); exports.Nothing3 = strategy("Nothing", function* (state) { yield; - return state; + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); diff --git a/tests/baselines/reference/generatorTypeCheck62.symbols b/tests/baselines/reference/generatorTypeCheck62.symbols index 025a0b5277e..ba66910de74 100644 --- a/tests/baselines/reference/generatorTypeCheck62.symbols +++ b/tests/baselines/reference/generatorTypeCheck62.symbols @@ -8,7 +8,7 @@ export interface StrategicState { >lastStrategyApplied : Symbol(StrategicState.lastStrategyApplied, Decl(generatorTypeCheck62.ts, 0, 33)) } -export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { +export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { >strategy : Symbol(strategy, Decl(generatorTypeCheck62.ts, 2, 1)) >T : Symbol(T, Decl(generatorTypeCheck62.ts, 4, 25)) >StrategicState : Symbol(StrategicState, Decl(generatorTypeCheck62.ts, 0, 0)) @@ -18,7 +18,7 @@ export function strategy(stratName: string, gen: (a: T >T : Symbol(T, Decl(generatorTypeCheck62.ts, 4, 25)) >IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(generatorTypeCheck62.ts, 4, 25)) ->a : Symbol(a, Decl(generatorTypeCheck62.ts, 4, 120)) +>a : Symbol(a, Decl(generatorTypeCheck62.ts, 4, 126)) >T : Symbol(T, Decl(generatorTypeCheck62.ts, 4, 25)) >IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(generatorTypeCheck62.ts, 4, 25)) @@ -50,7 +50,7 @@ export interface Strategy { >Strategy : Symbol(Strategy, Decl(generatorTypeCheck62.ts, 13, 1)) >T : Symbol(T, Decl(generatorTypeCheck62.ts, 15, 26)) - (a: T): IterableIterator; + (a: T): IterableIterator; >a : Symbol(a, Decl(generatorTypeCheck62.ts, 16, 5)) >T : Symbol(T, Decl(generatorTypeCheck62.ts, 15, 26)) >IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) @@ -73,7 +73,7 @@ export const Nothing1: Strategy = strategy("Nothing", function*(state: St >state : Symbol(state, Decl(generatorTypeCheck62.ts, 23, 71)) >State : Symbol(State, Decl(generatorTypeCheck62.ts, 17, 1)) - return state; + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. >state : Symbol(state, Decl(generatorTypeCheck62.ts, 23, 71)) }); @@ -100,7 +100,7 @@ export const Nothing3: Strategy = strategy("Nothing", function* (state: S >State : Symbol(State, Decl(generatorTypeCheck62.ts, 17, 1)) yield ; - return state; + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. >state : Symbol(state, Decl(generatorTypeCheck62.ts, 31, 72)) }); diff --git a/tests/baselines/reference/generatorTypeCheck62.types b/tests/baselines/reference/generatorTypeCheck62.types index 6cf1b381d66..6196ace757d 100644 --- a/tests/baselines/reference/generatorTypeCheck62.types +++ b/tests/baselines/reference/generatorTypeCheck62.types @@ -7,31 +7,31 @@ export interface StrategicState { > : ^^^^^^ } -export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >stratName : string > : ^^^^^^ ->gen : (a: T) => IterableIterator -> : ^ ^^ ^^^^^ +>gen : (a: T) => IterableIterator +> : ^ ^^ ^^^^^ >a : T > : ^ >a : T > : ^ return function*(state) { ->function*(state) { for (const next of gen(state)) { if (next) { next.lastStrategyApplied = stratName; } yield next; } } : (state: T) => Generator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function*(state) { for (const next of gen(state)) { if (next) { next.lastStrategyApplied = stratName; } yield next; } } : (state: T) => Generator +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >state : T > : ^ for (const next of gen(state)) { >next : T > : ^ ->gen(state) : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^ ->gen : (a: T) => IterableIterator -> : ^ ^^ ^^^^^ +>gen(state) : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>gen : (a: T) => IterableIterator +> : ^ ^^ ^^^^^ >state : T > : ^ @@ -52,8 +52,8 @@ export function strategy(stratName: string, gen: (a: T > : ^^^^^^ } yield next; ->yield next : undefined -> : ^^^^^^^^^ +>yield next : any +> : ^^^ >next : T > : ^ } @@ -61,7 +61,7 @@ export function strategy(stratName: string, gen: (a: T } export interface Strategy { - (a: T): IterableIterator; + (a: T): IterableIterator; >a : T > : ^ } @@ -75,18 +75,18 @@ export interface State extends StrategicState { export const Nothing1: Strategy = strategy("Nothing", function*(state: State) { >Nothing1 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function*(state: State) { return state;}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>strategy("Nothing", function*(state: State) { return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error.}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ ->function*(state: State) { return state;} : (state: State) => Generator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function*(state: State) { return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error.} : (state: State) => Generator +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >state : State > : ^^^^^ - return state; + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. >state : State > : ^^^^^ @@ -95,20 +95,20 @@ export const Nothing1: Strategy = strategy("Nothing", function*(state: St export const Nothing2: Strategy = strategy("Nothing", function*(state: State) { >Nothing2 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function*(state: State) { yield state;}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>strategy("Nothing", function*(state: State) { yield state;}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ ->function*(state: State) { yield state;} : (state: State) => Generator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function*(state: State) { yield state;} : (state: State) => Generator +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >state : State > : ^^^^^ yield state; ->yield state : undefined -> : ^^^^^^^^^ +>yield state : any +> : ^^^ >state : State > : ^^^^^ @@ -117,22 +117,22 @@ export const Nothing2: Strategy = strategy("Nothing", function*(state: St export const Nothing3: Strategy = strategy("Nothing", function* (state: State) { >Nothing3 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function* (state: State) { yield ; return state;}) : (a: any) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>strategy("Nothing", function* (state: State) { yield ; return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error.}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ ->function* (state: State) { yield ; return state;} : (state: State) => Generator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function* (state: State) { yield ; return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error.} : (state: State) => Generator +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >state : State > : ^^^^^ yield ; ->yield : undefined -> : ^^^^^^^^^ +>yield : any +> : ^^^ - return state; + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. >state : State > : ^^^^^ diff --git a/tests/baselines/reference/generatorTypeCheck63.errors.txt b/tests/baselines/reference/generatorTypeCheck63.errors.txt index e2045c7207c..b13d18ebeed 100644 --- a/tests/baselines/reference/generatorTypeCheck63.errors.txt +++ b/tests/baselines/reference/generatorTypeCheck63.errors.txt @@ -1,18 +1,32 @@ -generatorTypeCheck63.ts(24,61): error TS2345: Argument of type '(state: State) => Generator' is not assignable to parameter of type '(a: State) => IterableIterator'. - Call signature return types 'Generator' and 'IterableIterator' are incompatible. +generatorTypeCheck63.ts(24,61): error TS2345: Argument of type '(state: State) => Generator' is not assignable to parameter of type '(a: State) => IterableIterator'. + Call signature return types 'Generator' and 'IterableIterator' are incompatible. The types returned by 'next(...)' are incompatible between these types. - Type 'IteratorResult' is not assignable to type 'IteratorResult'. - Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. + Type 'IteratorResult' is not assignable to type 'IteratorResult'. + Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. Type 'number' is not assignable to type 'State'. +generatorTypeCheck63.ts(32,62): error TS2345: Argument of type '(state: State) => Generator' is not assignable to parameter of type '(a: State) => IterableIterator'. + Call signature return types 'Generator' and 'IterableIterator' are incompatible. + The types returned by 'next(...)' are incompatible between these types. + Type 'IteratorResult' is not assignable to type 'IteratorResult'. + Type 'IteratorReturnResult' is not assignable to type 'IteratorResult'. + Type 'IteratorReturnResult' is not assignable to type 'IteratorReturnResult'. + Type 'number' is not assignable to type 'void'. +generatorTypeCheck63.ts(36,62): error TS2345: Argument of type '(state: State) => Generator' is not assignable to parameter of type '(a: State) => IterableIterator'. + Call signature return types 'Generator' and 'IterableIterator' are incompatible. + The types returned by 'next(...)' are incompatible between these types. + Type 'IteratorResult' is not assignable to type 'IteratorResult'. + Type 'IteratorReturnResult' is not assignable to type 'IteratorResult'. + Type 'IteratorReturnResult' is not assignable to type 'IteratorReturnResult'. + Type 'number' is not assignable to type 'void'. -==== generatorTypeCheck63.ts (1 errors) ==== +==== generatorTypeCheck63.ts (3 errors) ==== export interface StrategicState { lastStrategyApplied?: string; } - export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { + export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { return function*(state) { for (const next of gen(state)) { if (next) { @@ -24,7 +38,7 @@ generatorTypeCheck63.ts(24,61): error TS2345: Argument of type '(state: State) = } export interface Strategy { - (a: T): IterableIterator; + (a: T): IterableIterator; } export interface State extends StrategicState { @@ -33,25 +47,41 @@ generatorTypeCheck63.ts(24,61): error TS2345: Argument of type '(state: State) = export const Nothing: Strategy = strategy("Nothing", function* (state: State) { ~~~~~~~~ -!!! error TS2345: Argument of type '(state: State) => Generator' is not assignable to parameter of type '(a: State) => IterableIterator'. -!!! error TS2345: Call signature return types 'Generator' and 'IterableIterator' are incompatible. +!!! error TS2345: Argument of type '(state: State) => Generator' is not assignable to parameter of type '(a: State) => IterableIterator'. +!!! error TS2345: Call signature return types 'Generator' and 'IterableIterator' are incompatible. !!! error TS2345: The types returned by 'next(...)' are incompatible between these types. -!!! error TS2345: Type 'IteratorResult' is not assignable to type 'IteratorResult'. -!!! error TS2345: Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. +!!! error TS2345: Type 'IteratorResult' is not assignable to type 'IteratorResult'. +!!! error TS2345: Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. !!! error TS2345: Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. !!! error TS2345: Type 'number' is not assignable to type 'State'. - yield 1; - return state; + yield 1; // number isn't a `State`, so this should error. + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); export const Nothing1: Strategy = strategy("Nothing", function* (state: State) { }); export const Nothing2: Strategy = strategy("Nothing", function* (state: State) { - return 1; + ~~~~~~~~ +!!! error TS2345: Argument of type '(state: State) => Generator' is not assignable to parameter of type '(a: State) => IterableIterator'. +!!! error TS2345: Call signature return types 'Generator' and 'IterableIterator' are incompatible. +!!! error TS2345: The types returned by 'next(...)' are incompatible between these types. +!!! error TS2345: Type 'IteratorResult' is not assignable to type 'IteratorResult'. +!!! error TS2345: Type 'IteratorReturnResult' is not assignable to type 'IteratorResult'. +!!! error TS2345: Type 'IteratorReturnResult' is not assignable to type 'IteratorReturnResult'. +!!! error TS2345: Type 'number' is not assignable to type 'void'. + return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); export const Nothing3: Strategy = strategy("Nothing", function* (state: State) { + ~~~~~~~~ +!!! error TS2345: Argument of type '(state: State) => Generator' is not assignable to parameter of type '(a: State) => IterableIterator'. +!!! error TS2345: Call signature return types 'Generator' and 'IterableIterator' are incompatible. +!!! error TS2345: The types returned by 'next(...)' are incompatible between these types. +!!! error TS2345: Type 'IteratorResult' is not assignable to type 'IteratorResult'. +!!! error TS2345: Type 'IteratorReturnResult' is not assignable to type 'IteratorResult'. +!!! error TS2345: Type 'IteratorReturnResult' is not assignable to type 'IteratorReturnResult'. +!!! error TS2345: Type 'number' is not assignable to type 'void'. yield state; - return 1; + return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); \ No newline at end of file diff --git a/tests/baselines/reference/generatorTypeCheck63.js b/tests/baselines/reference/generatorTypeCheck63.js index f1f4d3ee52e..0aaf78ccacf 100644 --- a/tests/baselines/reference/generatorTypeCheck63.js +++ b/tests/baselines/reference/generatorTypeCheck63.js @@ -5,7 +5,7 @@ export interface StrategicState { lastStrategyApplied?: string; } -export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { +export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { return function*(state) { for (const next of gen(state)) { if (next) { @@ -17,7 +17,7 @@ export function strategy(stratName: string, gen: (a: T } export interface Strategy { - (a: T): IterableIterator; + (a: T): IterableIterator; } export interface State extends StrategicState { @@ -25,20 +25,20 @@ export interface State extends StrategicState { } export const Nothing: Strategy = strategy("Nothing", function* (state: State) { - yield 1; - return state; + yield 1; // number isn't a `State`, so this should error. + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); export const Nothing1: Strategy = strategy("Nothing", function* (state: State) { }); export const Nothing2: Strategy = strategy("Nothing", function* (state: State) { - return 1; + return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); export const Nothing3: Strategy = strategy("Nothing", function* (state: State) { yield state; - return 1; + return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); //// [generatorTypeCheck63.js] @@ -57,15 +57,15 @@ function strategy(stratName, gen) { }; } exports.Nothing = strategy("Nothing", function* (state) { - yield 1; - return state; + yield 1; // number isn't a `State`, so this should error. + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); exports.Nothing1 = strategy("Nothing", function* (state) { }); exports.Nothing2 = strategy("Nothing", function* (state) { - return 1; + return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); exports.Nothing3 = strategy("Nothing", function* (state) { yield state; - return 1; + return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); diff --git a/tests/baselines/reference/generatorTypeCheck63.symbols b/tests/baselines/reference/generatorTypeCheck63.symbols index e395f8e0a44..d23cf0b0327 100644 --- a/tests/baselines/reference/generatorTypeCheck63.symbols +++ b/tests/baselines/reference/generatorTypeCheck63.symbols @@ -8,7 +8,7 @@ export interface StrategicState { >lastStrategyApplied : Symbol(StrategicState.lastStrategyApplied, Decl(generatorTypeCheck63.ts, 0, 33)) } -export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { +export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { >strategy : Symbol(strategy, Decl(generatorTypeCheck63.ts, 2, 1)) >T : Symbol(T, Decl(generatorTypeCheck63.ts, 4, 25)) >StrategicState : Symbol(StrategicState, Decl(generatorTypeCheck63.ts, 0, 0)) @@ -18,7 +18,7 @@ export function strategy(stratName: string, gen: (a: T >T : Symbol(T, Decl(generatorTypeCheck63.ts, 4, 25)) >IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(generatorTypeCheck63.ts, 4, 25)) ->a : Symbol(a, Decl(generatorTypeCheck63.ts, 4, 120)) +>a : Symbol(a, Decl(generatorTypeCheck63.ts, 4, 126)) >T : Symbol(T, Decl(generatorTypeCheck63.ts, 4, 25)) >IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >T : Symbol(T, Decl(generatorTypeCheck63.ts, 4, 25)) @@ -50,7 +50,7 @@ export interface Strategy { >Strategy : Symbol(Strategy, Decl(generatorTypeCheck63.ts, 13, 1)) >T : Symbol(T, Decl(generatorTypeCheck63.ts, 15, 26)) - (a: T): IterableIterator; + (a: T): IterableIterator; >a : Symbol(a, Decl(generatorTypeCheck63.ts, 16, 5)) >T : Symbol(T, Decl(generatorTypeCheck63.ts, 15, 26)) >IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) @@ -73,8 +73,8 @@ export const Nothing: Strategy = strategy("Nothing", function* (state: St >state : Symbol(state, Decl(generatorTypeCheck63.ts, 23, 71)) >State : Symbol(State, Decl(generatorTypeCheck63.ts, 17, 1)) - yield 1; - return state; + yield 1; // number isn't a `State`, so this should error. + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. >state : Symbol(state, Decl(generatorTypeCheck63.ts, 23, 71)) }); @@ -97,7 +97,7 @@ export const Nothing2: Strategy = strategy("Nothing", function* (state: S >state : Symbol(state, Decl(generatorTypeCheck63.ts, 31, 72)) >State : Symbol(State, Decl(generatorTypeCheck63.ts, 17, 1)) - return 1; + return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); export const Nothing3: Strategy = strategy("Nothing", function* (state: State) { @@ -111,5 +111,5 @@ export const Nothing3: Strategy = strategy("Nothing", function* (state: S yield state; >state : Symbol(state, Decl(generatorTypeCheck63.ts, 35, 72)) - return 1; + return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); diff --git a/tests/baselines/reference/generatorTypeCheck63.types b/tests/baselines/reference/generatorTypeCheck63.types index 9efb4d642b8..0a3419f300b 100644 --- a/tests/baselines/reference/generatorTypeCheck63.types +++ b/tests/baselines/reference/generatorTypeCheck63.types @@ -7,31 +7,31 @@ export interface StrategicState { > : ^^^^^^ } -export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >stratName : string > : ^^^^^^ ->gen : (a: T) => IterableIterator -> : ^ ^^ ^^^^^ +>gen : (a: T) => IterableIterator +> : ^ ^^ ^^^^^ >a : T > : ^ >a : T > : ^ return function*(state) { ->function*(state) { for (const next of gen(state)) { if (next) { next.lastStrategyApplied = stratName; } yield next; } } : (state: T) => Generator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function*(state) { for (const next of gen(state)) { if (next) { next.lastStrategyApplied = stratName; } yield next; } } : (state: T) => Generator +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >state : T > : ^ for (const next of gen(state)) { >next : T > : ^ ->gen(state) : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^ ->gen : (a: T) => IterableIterator -> : ^ ^^ ^^^^^ +>gen(state) : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>gen : (a: T) => IterableIterator +> : ^ ^^ ^^^^^ >state : T > : ^ @@ -52,8 +52,8 @@ export function strategy(stratName: string, gen: (a: T > : ^^^^^^ } yield next; ->yield next : undefined -> : ^^^^^^^^^ +>yield next : any +> : ^^^ >next : T > : ^ } @@ -61,7 +61,7 @@ export function strategy(stratName: string, gen: (a: T } export interface Strategy { - (a: T): IterableIterator; + (a: T): IterableIterator; >a : T > : ^ } @@ -75,24 +75,24 @@ export interface State extends StrategicState { export const Nothing: Strategy = strategy("Nothing", function* (state: State) { >Nothing : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function* (state: State) { yield 1; return state;}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>strategy("Nothing", function* (state: State) { yield 1; // number isn't a `State`, so this should error. return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error.}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ ->function* (state: State) { yield 1; return state;} : (state: State) => Generator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function* (state: State) { yield 1; // number isn't a `State`, so this should error. return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error.} : (state: State) => Generator +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >state : State > : ^^^^^ - yield 1; ->yield 1 : undefined -> : ^^^^^^^^^ + yield 1; // number isn't a `State`, so this should error. +>yield 1 : any +> : ^^^ >1 : 1 > : ^ - return state; + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. >state : State > : ^^^^^ @@ -101,14 +101,14 @@ export const Nothing: Strategy = strategy("Nothing", function* (state: St export const Nothing1: Strategy = strategy("Nothing", function* (state: State) { >Nothing1 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function* (state: State) {}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>strategy("Nothing", function* (state: State) {}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ ->function* (state: State) {} : (state: State) => Generator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function* (state: State) {} : (state: State) => Generator +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >state : State > : ^^^^^ @@ -117,18 +117,18 @@ export const Nothing1: Strategy = strategy("Nothing", function* (state: S export const Nothing2: Strategy = strategy("Nothing", function* (state: State) { >Nothing2 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function* (state: State) { return 1;}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>strategy("Nothing", function* (state: State) { return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error.}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ ->function* (state: State) { return 1;} : (state: State) => Generator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function* (state: State) { return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error.} : (state: State) => Generator +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >state : State > : ^^^^^ - return 1; + return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error. >1 : 1 > : ^ @@ -137,24 +137,24 @@ export const Nothing2: Strategy = strategy("Nothing", function* (state: S export const Nothing3: Strategy = strategy("Nothing", function* (state: State) { >Nothing3 : Strategy > : ^^^^^^^^^^^^^^^ ->strategy("Nothing", function* (state: State) { yield state; return 1;}) : (a: State) => IterableIterator -> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator -> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ +>strategy("Nothing", function* (state: State) { yield state; return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error.}) : (a: State) => IterableIterator +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>strategy : (stratName: string, gen: (a: T) => IterableIterator) => (a: T) => IterableIterator +> : ^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^^^ >"Nothing" : "Nothing" > : ^^^^^^^^^ ->function* (state: State) { yield state; return 1;} : (state: State) => Generator -> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function* (state: State) { yield state; return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error.} : (state: State) => Generator +> : ^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >state : State > : ^^^^^ yield state; ->yield state : undefined -> : ^^^^^^^^^ +>yield state : any +> : ^^^ >state : State > : ^^^^^ - return 1; + return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error. >1 : 1 > : ^ diff --git a/tests/baselines/reference/generatorTypeCheck7.errors.txt b/tests/baselines/reference/generatorTypeCheck7.errors.txt index db8a668fd9f..fc3e9880926 100644 --- a/tests/baselines/reference/generatorTypeCheck7.errors.txt +++ b/tests/baselines/reference/generatorTypeCheck7.errors.txt @@ -1,4 +1,4 @@ -generatorTypeCheck7.ts(4,17): error TS2741: Property 'hello' is missing in type 'Generator' but required in type 'WeirdIter'. +generatorTypeCheck7.ts(4,17): error TS2741: Property 'hello' is missing in type 'Generator' but required in type 'WeirdIter'. ==== generatorTypeCheck7.ts (1 errors) ==== @@ -7,5 +7,5 @@ generatorTypeCheck7.ts(4,17): error TS2741: Property 'hello' is missing in type } function* g1(): WeirdIter { } ~~~~~~~~~ -!!! error TS2741: Property 'hello' is missing in type 'Generator' but required in type 'WeirdIter'. +!!! error TS2741: Property 'hello' is missing in type 'Generator' but required in type 'WeirdIter'. !!! related TS2728 generatorTypeCheck7.ts:2:5: 'hello' is declared here. \ No newline at end of file diff --git a/tests/baselines/reference/generatorTypeCheck8.errors.txt b/tests/baselines/reference/generatorTypeCheck8.errors.txt index b7cd014a3ee..532e0a4c454 100644 --- a/tests/baselines/reference/generatorTypeCheck8.errors.txt +++ b/tests/baselines/reference/generatorTypeCheck8.errors.txt @@ -1,4 +1,4 @@ -generatorTypeCheck8.ts(2,17): error TS2322: Type 'Generator' is not assignable to type 'BadGenerator'. +generatorTypeCheck8.ts(2,17): error TS2322: Type 'Generator' is not assignable to type 'BadGenerator'. The types returned by 'next(...)' are incompatible between these types. Type 'IteratorResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. @@ -10,7 +10,7 @@ generatorTypeCheck8.ts(2,17): error TS2322: Type 'Generator, Iterable { } function* g3(): BadGenerator { } ~~~~~~~~~~~~ -!!! error TS2322: Type 'Generator' is not assignable to type 'BadGenerator'. +!!! error TS2322: Type 'Generator' is not assignable to type 'BadGenerator'. !!! error TS2322: The types returned by 'next(...)' are incompatible between these types. !!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. !!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. diff --git a/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.types b/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.types index de022f3da93..3bf6420170b 100644 --- a/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.types +++ b/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.types @@ -2,8 +2,8 @@ === main.ts === export async function * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await 1; >await 1 : 1 diff --git a/tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=false,strictbuiltiniteratorreturn=false).js b/tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=false,strictbuiltiniteratorreturn=false).js new file mode 100644 index 00000000000..a3915d2aa89 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=false,strictbuiltiniteratorreturn=false).js @@ -0,0 +1,111 @@ +//// [tests/cases/compiler/isolatedDeclarationsStrictBuiltinIteratorReturn.ts] //// + +//// [isolatedDeclarationsStrictBuiltinIteratorReturn.ts] +declare let x1: Iterable; +declare let x2: Iterable; +declare let x3: Iterable; +declare let x4: Iterable; +declare let x5: Iterable; +declare let x6: Iterable; +declare let x7: Iterable; + +declare let x8: IterableIterator; +declare let x9: IterableIterator; +declare let x10: IterableIterator; +declare let x11: IterableIterator; +declare let x12: IterableIterator; +declare let x13: IterableIterator; +declare let x14: IterableIterator; + +declare function f1(): Iterable; +declare function f2(): Iterable; +declare function f3(): Iterable; +declare function f4(): Iterable; +declare function f5(): Iterable; +declare function f6(): Iterable; +declare function f7(): Iterable; + +declare function f8(): IterableIterator; +declare function f9(): IterableIterator; +declare function f10(): IterableIterator; +declare function f11(): IterableIterator; +declare function f12(): IterableIterator; +declare function f13(): IterableIterator; +declare function f14(): IterableIterator; + +const a1 = (): Iterable => null!; +const a2 = (): Iterable => null!; +const a3 = (): Iterable => null!; +const a4 = (): Iterable => null!; +const a5 = (): Iterable => null!; +const a6 = (): Iterable => null!; +const a7 = (): Iterable => null!; + +const a8 = (): IterableIterator => null!; +const a9 = (): IterableIterator => null!; +const a10 = (): IterableIterator => null!; +const a11 = (): IterableIterator => null!; +const a12 = (): IterableIterator => null!; +const a13 = (): IterableIterator => null!; +const a14 = (): IterableIterator => null!; + +//// [isolatedDeclarationsStrictBuiltinIteratorReturn.js] +const a1 = () => null; +const a2 = () => null; +const a3 = () => null; +const a4 = () => null; +const a5 = () => null; +const a6 = () => null; +const a7 = () => null; +const a8 = () => null; +const a9 = () => null; +const a10 = () => null; +const a11 = () => null; +const a12 = () => null; +const a13 = () => null; +const a14 = () => null; + + +//// [isolatedDeclarationsStrictBuiltinIteratorReturn.d.ts] +declare let x1: Iterable; +declare let x2: Iterable; +declare let x3: Iterable; +declare let x4: Iterable; +declare let x5: Iterable; +declare let x6: Iterable; +declare let x7: Iterable; +declare let x8: IterableIterator; +declare let x9: IterableIterator; +declare let x10: IterableIterator; +declare let x11: IterableIterator; +declare let x12: IterableIterator; +declare let x13: IterableIterator; +declare let x14: IterableIterator; +declare function f1(): Iterable; +declare function f2(): Iterable; +declare function f3(): Iterable; +declare function f4(): Iterable; +declare function f5(): Iterable; +declare function f6(): Iterable; +declare function f7(): Iterable; +declare function f8(): IterableIterator; +declare function f9(): IterableIterator; +declare function f10(): IterableIterator; +declare function f11(): IterableIterator; +declare function f12(): IterableIterator; +declare function f13(): IterableIterator; +declare function f14(): IterableIterator; +declare const a1: () => Iterable; +declare const a2: () => Iterable; +declare const a3: () => Iterable; +declare const a4: () => Iterable; +declare const a5: () => Iterable; +declare const a6: () => Iterable; +declare const a7: () => Iterable; +declare const a8: () => IterableIterator; +declare const a9: () => IterableIterator; +declare const a10: () => IterableIterator; +declare const a11: () => IterableIterator; +declare const a12: () => IterableIterator; +declare const a13: () => IterableIterator; +declare const a14: () => IterableIterator; diff --git a/tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=false,strictbuiltiniteratorreturn=true).js b/tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=false,strictbuiltiniteratorreturn=true).js new file mode 100644 index 00000000000..a3915d2aa89 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=false,strictbuiltiniteratorreturn=true).js @@ -0,0 +1,111 @@ +//// [tests/cases/compiler/isolatedDeclarationsStrictBuiltinIteratorReturn.ts] //// + +//// [isolatedDeclarationsStrictBuiltinIteratorReturn.ts] +declare let x1: Iterable; +declare let x2: Iterable; +declare let x3: Iterable; +declare let x4: Iterable; +declare let x5: Iterable; +declare let x6: Iterable; +declare let x7: Iterable; + +declare let x8: IterableIterator; +declare let x9: IterableIterator; +declare let x10: IterableIterator; +declare let x11: IterableIterator; +declare let x12: IterableIterator; +declare let x13: IterableIterator; +declare let x14: IterableIterator; + +declare function f1(): Iterable; +declare function f2(): Iterable; +declare function f3(): Iterable; +declare function f4(): Iterable; +declare function f5(): Iterable; +declare function f6(): Iterable; +declare function f7(): Iterable; + +declare function f8(): IterableIterator; +declare function f9(): IterableIterator; +declare function f10(): IterableIterator; +declare function f11(): IterableIterator; +declare function f12(): IterableIterator; +declare function f13(): IterableIterator; +declare function f14(): IterableIterator; + +const a1 = (): Iterable => null!; +const a2 = (): Iterable => null!; +const a3 = (): Iterable => null!; +const a4 = (): Iterable => null!; +const a5 = (): Iterable => null!; +const a6 = (): Iterable => null!; +const a7 = (): Iterable => null!; + +const a8 = (): IterableIterator => null!; +const a9 = (): IterableIterator => null!; +const a10 = (): IterableIterator => null!; +const a11 = (): IterableIterator => null!; +const a12 = (): IterableIterator => null!; +const a13 = (): IterableIterator => null!; +const a14 = (): IterableIterator => null!; + +//// [isolatedDeclarationsStrictBuiltinIteratorReturn.js] +const a1 = () => null; +const a2 = () => null; +const a3 = () => null; +const a4 = () => null; +const a5 = () => null; +const a6 = () => null; +const a7 = () => null; +const a8 = () => null; +const a9 = () => null; +const a10 = () => null; +const a11 = () => null; +const a12 = () => null; +const a13 = () => null; +const a14 = () => null; + + +//// [isolatedDeclarationsStrictBuiltinIteratorReturn.d.ts] +declare let x1: Iterable; +declare let x2: Iterable; +declare let x3: Iterable; +declare let x4: Iterable; +declare let x5: Iterable; +declare let x6: Iterable; +declare let x7: Iterable; +declare let x8: IterableIterator; +declare let x9: IterableIterator; +declare let x10: IterableIterator; +declare let x11: IterableIterator; +declare let x12: IterableIterator; +declare let x13: IterableIterator; +declare let x14: IterableIterator; +declare function f1(): Iterable; +declare function f2(): Iterable; +declare function f3(): Iterable; +declare function f4(): Iterable; +declare function f5(): Iterable; +declare function f6(): Iterable; +declare function f7(): Iterable; +declare function f8(): IterableIterator; +declare function f9(): IterableIterator; +declare function f10(): IterableIterator; +declare function f11(): IterableIterator; +declare function f12(): IterableIterator; +declare function f13(): IterableIterator; +declare function f14(): IterableIterator; +declare const a1: () => Iterable; +declare const a2: () => Iterable; +declare const a3: () => Iterable; +declare const a4: () => Iterable; +declare const a5: () => Iterable; +declare const a6: () => Iterable; +declare const a7: () => Iterable; +declare const a8: () => IterableIterator; +declare const a9: () => IterableIterator; +declare const a10: () => IterableIterator; +declare const a11: () => IterableIterator; +declare const a12: () => IterableIterator; +declare const a13: () => IterableIterator; +declare const a14: () => IterableIterator; diff --git a/tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=true,strictbuiltiniteratorreturn=false).js b/tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=true,strictbuiltiniteratorreturn=false).js new file mode 100644 index 00000000000..a3915d2aa89 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=true,strictbuiltiniteratorreturn=false).js @@ -0,0 +1,111 @@ +//// [tests/cases/compiler/isolatedDeclarationsStrictBuiltinIteratorReturn.ts] //// + +//// [isolatedDeclarationsStrictBuiltinIteratorReturn.ts] +declare let x1: Iterable; +declare let x2: Iterable; +declare let x3: Iterable; +declare let x4: Iterable; +declare let x5: Iterable; +declare let x6: Iterable; +declare let x7: Iterable; + +declare let x8: IterableIterator; +declare let x9: IterableIterator; +declare let x10: IterableIterator; +declare let x11: IterableIterator; +declare let x12: IterableIterator; +declare let x13: IterableIterator; +declare let x14: IterableIterator; + +declare function f1(): Iterable; +declare function f2(): Iterable; +declare function f3(): Iterable; +declare function f4(): Iterable; +declare function f5(): Iterable; +declare function f6(): Iterable; +declare function f7(): Iterable; + +declare function f8(): IterableIterator; +declare function f9(): IterableIterator; +declare function f10(): IterableIterator; +declare function f11(): IterableIterator; +declare function f12(): IterableIterator; +declare function f13(): IterableIterator; +declare function f14(): IterableIterator; + +const a1 = (): Iterable => null!; +const a2 = (): Iterable => null!; +const a3 = (): Iterable => null!; +const a4 = (): Iterable => null!; +const a5 = (): Iterable => null!; +const a6 = (): Iterable => null!; +const a7 = (): Iterable => null!; + +const a8 = (): IterableIterator => null!; +const a9 = (): IterableIterator => null!; +const a10 = (): IterableIterator => null!; +const a11 = (): IterableIterator => null!; +const a12 = (): IterableIterator => null!; +const a13 = (): IterableIterator => null!; +const a14 = (): IterableIterator => null!; + +//// [isolatedDeclarationsStrictBuiltinIteratorReturn.js] +const a1 = () => null; +const a2 = () => null; +const a3 = () => null; +const a4 = () => null; +const a5 = () => null; +const a6 = () => null; +const a7 = () => null; +const a8 = () => null; +const a9 = () => null; +const a10 = () => null; +const a11 = () => null; +const a12 = () => null; +const a13 = () => null; +const a14 = () => null; + + +//// [isolatedDeclarationsStrictBuiltinIteratorReturn.d.ts] +declare let x1: Iterable; +declare let x2: Iterable; +declare let x3: Iterable; +declare let x4: Iterable; +declare let x5: Iterable; +declare let x6: Iterable; +declare let x7: Iterable; +declare let x8: IterableIterator; +declare let x9: IterableIterator; +declare let x10: IterableIterator; +declare let x11: IterableIterator; +declare let x12: IterableIterator; +declare let x13: IterableIterator; +declare let x14: IterableIterator; +declare function f1(): Iterable; +declare function f2(): Iterable; +declare function f3(): Iterable; +declare function f4(): Iterable; +declare function f5(): Iterable; +declare function f6(): Iterable; +declare function f7(): Iterable; +declare function f8(): IterableIterator; +declare function f9(): IterableIterator; +declare function f10(): IterableIterator; +declare function f11(): IterableIterator; +declare function f12(): IterableIterator; +declare function f13(): IterableIterator; +declare function f14(): IterableIterator; +declare const a1: () => Iterable; +declare const a2: () => Iterable; +declare const a3: () => Iterable; +declare const a4: () => Iterable; +declare const a5: () => Iterable; +declare const a6: () => Iterable; +declare const a7: () => Iterable; +declare const a8: () => IterableIterator; +declare const a9: () => IterableIterator; +declare const a10: () => IterableIterator; +declare const a11: () => IterableIterator; +declare const a12: () => IterableIterator; +declare const a13: () => IterableIterator; +declare const a14: () => IterableIterator; diff --git a/tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=true,strictbuiltiniteratorreturn=true).js b/tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=true,strictbuiltiniteratorreturn=true).js new file mode 100644 index 00000000000..a3915d2aa89 --- /dev/null +++ b/tests/baselines/reference/isolatedDeclarationsStrictBuiltinIteratorReturn(isolateddeclarations=true,strictbuiltiniteratorreturn=true).js @@ -0,0 +1,111 @@ +//// [tests/cases/compiler/isolatedDeclarationsStrictBuiltinIteratorReturn.ts] //// + +//// [isolatedDeclarationsStrictBuiltinIteratorReturn.ts] +declare let x1: Iterable; +declare let x2: Iterable; +declare let x3: Iterable; +declare let x4: Iterable; +declare let x5: Iterable; +declare let x6: Iterable; +declare let x7: Iterable; + +declare let x8: IterableIterator; +declare let x9: IterableIterator; +declare let x10: IterableIterator; +declare let x11: IterableIterator; +declare let x12: IterableIterator; +declare let x13: IterableIterator; +declare let x14: IterableIterator; + +declare function f1(): Iterable; +declare function f2(): Iterable; +declare function f3(): Iterable; +declare function f4(): Iterable; +declare function f5(): Iterable; +declare function f6(): Iterable; +declare function f7(): Iterable; + +declare function f8(): IterableIterator; +declare function f9(): IterableIterator; +declare function f10(): IterableIterator; +declare function f11(): IterableIterator; +declare function f12(): IterableIterator; +declare function f13(): IterableIterator; +declare function f14(): IterableIterator; + +const a1 = (): Iterable => null!; +const a2 = (): Iterable => null!; +const a3 = (): Iterable => null!; +const a4 = (): Iterable => null!; +const a5 = (): Iterable => null!; +const a6 = (): Iterable => null!; +const a7 = (): Iterable => null!; + +const a8 = (): IterableIterator => null!; +const a9 = (): IterableIterator => null!; +const a10 = (): IterableIterator => null!; +const a11 = (): IterableIterator => null!; +const a12 = (): IterableIterator => null!; +const a13 = (): IterableIterator => null!; +const a14 = (): IterableIterator => null!; + +//// [isolatedDeclarationsStrictBuiltinIteratorReturn.js] +const a1 = () => null; +const a2 = () => null; +const a3 = () => null; +const a4 = () => null; +const a5 = () => null; +const a6 = () => null; +const a7 = () => null; +const a8 = () => null; +const a9 = () => null; +const a10 = () => null; +const a11 = () => null; +const a12 = () => null; +const a13 = () => null; +const a14 = () => null; + + +//// [isolatedDeclarationsStrictBuiltinIteratorReturn.d.ts] +declare let x1: Iterable; +declare let x2: Iterable; +declare let x3: Iterable; +declare let x4: Iterable; +declare let x5: Iterable; +declare let x6: Iterable; +declare let x7: Iterable; +declare let x8: IterableIterator; +declare let x9: IterableIterator; +declare let x10: IterableIterator; +declare let x11: IterableIterator; +declare let x12: IterableIterator; +declare let x13: IterableIterator; +declare let x14: IterableIterator; +declare function f1(): Iterable; +declare function f2(): Iterable; +declare function f3(): Iterable; +declare function f4(): Iterable; +declare function f5(): Iterable; +declare function f6(): Iterable; +declare function f7(): Iterable; +declare function f8(): IterableIterator; +declare function f9(): IterableIterator; +declare function f10(): IterableIterator; +declare function f11(): IterableIterator; +declare function f12(): IterableIterator; +declare function f13(): IterableIterator; +declare function f14(): IterableIterator; +declare const a1: () => Iterable; +declare const a2: () => Iterable; +declare const a3: () => Iterable; +declare const a4: () => Iterable; +declare const a5: () => Iterable; +declare const a6: () => Iterable; +declare const a7: () => Iterable; +declare const a8: () => IterableIterator; +declare const a9: () => IterableIterator; +declare const a10: () => IterableIterator; +declare const a11: () => IterableIterator; +declare const a12: () => IterableIterator; +declare const a13: () => IterableIterator; +declare const a14: () => IterableIterator; diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).js b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).js new file mode 100644 index 00000000000..0c0f14988e4 --- /dev/null +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).js @@ -0,0 +1,80 @@ +//// [tests/cases/compiler/iterableTReturnTNext.ts] //// + +//// [iterableTReturnTNext.ts] +declare const map: Map; +declare const set: Set; + +// based on: +// - https://github.com/apollographql/apollo-client/blob/8740f198805a99e01136617c4055d611b92cc231/src/react/hooks/__tests__/useMutation.test.tsx#L2328 +// - https://github.com/continuedev/continue/blob/046bca088a833f8b3620412ff64e4b6f41fbb959/extensions/vscode/src/autocomplete/lsp.ts#L60 +const r1: number = map.values().next().value; // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` + +// based on: https://github.com/gcanti/fp-ts/blob/89a772e95e414acee679f42f56527606f7b61f30/src/Map.ts#L246 +interface Next
{ + readonly done?: boolean + readonly value: A +} +const r2: Next = map.values().next(); // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` + +// based on: https://github.com/graphql/graphql-js/blob/e15c3ec4dc21d9fd1df34fe9798cadf3bf02c6ea/src/execution/__tests__/mapAsyncIterable-test.ts#L175 +async function* source() { yield 1; yield 2; yield 3; } +const doubles = source(); +doubles.return(); + +// based on: https://github.com/backstage/backstage/blob/85d9346ef11c1c20e4405102b4f5d93afb1292c1/packages/core-app-api/src/routing/RouteTracker.tsx#L62 +const r3: number | undefined = set.values().next().value; + +// based on: https://github.com/microsoft/TypeScript/blob/15f67e0b482faf9f6a3ab9965f3c11196bf3e99b/src/harness/compilerImpl.ts#L77 +class MyMap implements Map { + declare private _keys: string[]; + declare private _values: number[]; + declare size: number; + declare [Symbol.toStringTag]: string; + + clear(): void { } + delete(key: string): boolean { return false; } + forEach(callbackfn: (value: number, key: string, map: Map) => void, thisArg?: any): void { } + get(key: string): number | undefined { return undefined; } + has(key: string): boolean { return false; } + set(key: string, value: number): this { return this; } + entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + keys(): IterableIterator { throw new Error("Method not implemented."); } + + [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + + // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` + * values() { + yield* this._values; + } +} + + +//// [iterableTReturnTNext.js] +"use strict"; +// based on: +// - https://github.com/apollographql/apollo-client/blob/8740f198805a99e01136617c4055d611b92cc231/src/react/hooks/__tests__/useMutation.test.tsx#L2328 +// - https://github.com/continuedev/continue/blob/046bca088a833f8b3620412ff64e4b6f41fbb959/extensions/vscode/src/autocomplete/lsp.ts#L60 +const r1 = map.values().next().value; // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` +const r2 = map.values().next(); // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` +// based on: https://github.com/graphql/graphql-js/blob/e15c3ec4dc21d9fd1df34fe9798cadf3bf02c6ea/src/execution/__tests__/mapAsyncIterable-test.ts#L175 +async function* source() { yield 1; yield 2; yield 3; } +const doubles = source(); +doubles.return(); +// based on: https://github.com/backstage/backstage/blob/85d9346ef11c1c20e4405102b4f5d93afb1292c1/packages/core-app-api/src/routing/RouteTracker.tsx#L62 +const r3 = set.values().next().value; +// based on: https://github.com/microsoft/TypeScript/blob/15f67e0b482faf9f6a3ab9965f3c11196bf3e99b/src/harness/compilerImpl.ts#L77 +class MyMap { + clear() { } + delete(key) { return false; } + forEach(callbackfn, thisArg) { } + get(key) { return undefined; } + has(key) { return false; } + set(key, value) { return this; } + entries() { throw new Error("Method not implemented."); } + keys() { throw new Error("Method not implemented."); } + [Symbol.iterator]() { throw new Error("Method not implemented."); } + // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` + *values() { + yield* this._values; + } +} diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).symbols b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).symbols new file mode 100644 index 00000000000..b72ed04227d --- /dev/null +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).symbols @@ -0,0 +1,152 @@ +//// [tests/cases/compiler/iterableTReturnTNext.ts] //// + +=== iterableTReturnTNext.ts === +declare const map: Map; +>map : Symbol(map, Decl(iterableTReturnTNext.ts, 0, 13)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + +declare const set: Set; +>set : Symbol(set, Decl(iterableTReturnTNext.ts, 1, 13)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) + +// based on: +// - https://github.com/apollographql/apollo-client/blob/8740f198805a99e01136617c4055d611b92cc231/src/react/hooks/__tests__/useMutation.test.tsx#L2328 +// - https://github.com/continuedev/continue/blob/046bca088a833f8b3620412ff64e4b6f41fbb959/extensions/vscode/src/autocomplete/lsp.ts#L60 +const r1: number = map.values().next().value; // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` +>r1 : Symbol(r1, Decl(iterableTReturnTNext.ts, 6, 5)) +>map.values().next().value : Symbol(value, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>map.values().next : Symbol(Iterator.next, Decl(lib.es2015.iterable.d.ts, --, --)) +>map.values : Symbol(Map.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>map : Symbol(map, Decl(iterableTReturnTNext.ts, 0, 13)) +>values : Symbol(Map.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>next : Symbol(Iterator.next, Decl(lib.es2015.iterable.d.ts, --, --)) +>value : Symbol(value, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) + +// based on: https://github.com/gcanti/fp-ts/blob/89a772e95e414acee679f42f56527606f7b61f30/src/Map.ts#L246 +interface Next { +>Next : Symbol(Next, Decl(iterableTReturnTNext.ts, 6, 45)) +>A : Symbol(A, Decl(iterableTReturnTNext.ts, 9, 15)) + + readonly done?: boolean +>done : Symbol(Next.done, Decl(iterableTReturnTNext.ts, 9, 19)) + + readonly value: A +>value : Symbol(Next.value, Decl(iterableTReturnTNext.ts, 10, 27)) +>A : Symbol(A, Decl(iterableTReturnTNext.ts, 9, 15)) +} +const r2: Next = map.values().next(); // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` +>r2 : Symbol(r2, Decl(iterableTReturnTNext.ts, 13, 5)) +>Next : Symbol(Next, Decl(iterableTReturnTNext.ts, 6, 45)) +>map.values().next : Symbol(Iterator.next, Decl(lib.es2015.iterable.d.ts, --, --)) +>map.values : Symbol(Map.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>map : Symbol(map, Decl(iterableTReturnTNext.ts, 0, 13)) +>values : Symbol(Map.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>next : Symbol(Iterator.next, Decl(lib.es2015.iterable.d.ts, --, --)) + +// based on: https://github.com/graphql/graphql-js/blob/e15c3ec4dc21d9fd1df34fe9798cadf3bf02c6ea/src/execution/__tests__/mapAsyncIterable-test.ts#L175 +async function* source() { yield 1; yield 2; yield 3; } +>source : Symbol(source, Decl(iterableTReturnTNext.ts, 13, 45)) + +const doubles = source(); +>doubles : Symbol(doubles, Decl(iterableTReturnTNext.ts, 17, 5)) +>source : Symbol(source, Decl(iterableTReturnTNext.ts, 13, 45)) + +doubles.return(); +>doubles.return : Symbol(AsyncGenerator.return, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) +>doubles : Symbol(doubles, Decl(iterableTReturnTNext.ts, 17, 5)) +>return : Symbol(AsyncGenerator.return, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) + +// based on: https://github.com/backstage/backstage/blob/85d9346ef11c1c20e4405102b4f5d93afb1292c1/packages/core-app-api/src/routing/RouteTracker.tsx#L62 +const r3: number | undefined = set.values().next().value; +>r3 : Symbol(r3, Decl(iterableTReturnTNext.ts, 21, 5)) +>set.values().next().value : Symbol(value, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>set.values().next : Symbol(Iterator.next, Decl(lib.es2015.iterable.d.ts, --, --)) +>set.values : Symbol(Set.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>set : Symbol(set, Decl(iterableTReturnTNext.ts, 1, 13)) +>values : Symbol(Set.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>next : Symbol(Iterator.next, Decl(lib.es2015.iterable.d.ts, --, --)) +>value : Symbol(value, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) + +// based on: https://github.com/microsoft/TypeScript/blob/15f67e0b482faf9f6a3ab9965f3c11196bf3e99b/src/harness/compilerImpl.ts#L77 +class MyMap implements Map { +>MyMap : Symbol(MyMap, Decl(iterableTReturnTNext.ts, 21, 57)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + + declare private _keys: string[]; +>_keys : Symbol(MyMap._keys, Decl(iterableTReturnTNext.ts, 24, 44)) + + declare private _values: number[]; +>_values : Symbol(MyMap._values, Decl(iterableTReturnTNext.ts, 25, 36)) + + declare size: number; +>size : Symbol(MyMap.size, Decl(iterableTReturnTNext.ts, 26, 38)) + + declare [Symbol.toStringTag]: string; +>[Symbol.toStringTag] : Symbol(MyMap[Symbol.toStringTag], Decl(iterableTReturnTNext.ts, 27, 25)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + + clear(): void { } +>clear : Symbol(MyMap.clear, Decl(iterableTReturnTNext.ts, 28, 41)) + + delete(key: string): boolean { return false; } +>delete : Symbol(MyMap.delete, Decl(iterableTReturnTNext.ts, 30, 21)) +>key : Symbol(key, Decl(iterableTReturnTNext.ts, 31, 11)) + + forEach(callbackfn: (value: number, key: string, map: Map) => void, thisArg?: any): void { } +>forEach : Symbol(MyMap.forEach, Decl(iterableTReturnTNext.ts, 31, 50)) +>callbackfn : Symbol(callbackfn, Decl(iterableTReturnTNext.ts, 32, 12)) +>value : Symbol(value, Decl(iterableTReturnTNext.ts, 32, 25)) +>key : Symbol(key, Decl(iterableTReturnTNext.ts, 32, 39)) +>map : Symbol(map, Decl(iterableTReturnTNext.ts, 32, 52)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>thisArg : Symbol(thisArg, Decl(iterableTReturnTNext.ts, 32, 87)) + + get(key: string): number | undefined { return undefined; } +>get : Symbol(MyMap.get, Decl(iterableTReturnTNext.ts, 32, 112)) +>key : Symbol(key, Decl(iterableTReturnTNext.ts, 33, 8)) +>undefined : Symbol(undefined) + + has(key: string): boolean { return false; } +>has : Symbol(MyMap.has, Decl(iterableTReturnTNext.ts, 33, 62)) +>key : Symbol(key, Decl(iterableTReturnTNext.ts, 34, 8)) + + set(key: string, value: number): this { return this; } +>set : Symbol(MyMap.set, Decl(iterableTReturnTNext.ts, 34, 47)) +>key : Symbol(key, Decl(iterableTReturnTNext.ts, 35, 8)) +>value : Symbol(value, Decl(iterableTReturnTNext.ts, 35, 20)) +>this : Symbol(MyMap, Decl(iterableTReturnTNext.ts, 21, 57)) + + entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } +>entries : Symbol(MyMap.entries, Decl(iterableTReturnTNext.ts, 35, 58)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) + + keys(): IterableIterator { throw new Error("Method not implemented."); } +>keys : Symbol(MyMap.keys, Decl(iterableTReturnTNext.ts, 36, 120)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) + + [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } +>[Symbol.iterator] : Symbol(MyMap[Symbol.iterator], Decl(iterableTReturnTNext.ts, 37, 107)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) + + // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` + * values() { +>values : Symbol(MyMap.values, Decl(iterableTReturnTNext.ts, 39, 130)) + + yield* this._values; +>this._values : Symbol(MyMap._values, Decl(iterableTReturnTNext.ts, 25, 36)) +>this : Symbol(MyMap, Decl(iterableTReturnTNext.ts, 21, 57)) +>_values : Symbol(MyMap._values, Decl(iterableTReturnTNext.ts, 25, 36)) + } +} + diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types new file mode 100644 index 00000000000..11831b7d4eb --- /dev/null +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types @@ -0,0 +1,247 @@ +//// [tests/cases/compiler/iterableTReturnTNext.ts] //// + +=== iterableTReturnTNext.ts === +declare const map: Map; +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ + +declare const set: Set; +>set : Set +> : ^^^^^^^^^^^ + +// based on: +// - https://github.com/apollographql/apollo-client/blob/8740f198805a99e01136617c4055d611b92cc231/src/react/hooks/__tests__/useMutation.test.tsx#L2328 +// - https://github.com/continuedev/continue/blob/046bca088a833f8b3620412ff64e4b6f41fbb959/extensions/vscode/src/autocomplete/lsp.ts#L60 +const r1: number = map.values().next().value; // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` +>r1 : number +> : ^^^^^^ +>map.values().next().value : any +>map.values().next() : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values().next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ +>values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : any +> : ^^^ + +// based on: https://github.com/gcanti/fp-ts/blob/89a772e95e414acee679f42f56527606f7b61f30/src/Map.ts#L246 +interface Next { + readonly done?: boolean +>done : boolean | undefined +> : ^^^^^^^^^^^^^^^^^^^ + + readonly value: A +>value : A +> : ^ +} +const r2: Next = map.values().next(); // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` +>r2 : Next +> : ^^^^^^^^^^^^ +>map.values().next() : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values().next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ +>values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +// based on: https://github.com/graphql/graphql-js/blob/e15c3ec4dc21d9fd1df34fe9798cadf3bf02c6ea/src/execution/__tests__/mapAsyncIterable-test.ts#L175 +async function* source() { yield 1; yield 2; yield 3; } +>source : () => AsyncGenerator<1 | 2 | 3, void, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield 1 : any +>1 : 1 +> : ^ +>yield 2 : any +>2 : 2 +> : ^ +>yield 3 : any +>3 : 3 +> : ^ + +const doubles = source(); +>doubles : AsyncGenerator<1 | 2 | 3, void, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>source() : AsyncGenerator<1 | 2 | 3, void, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>source : () => AsyncGenerator<1 | 2 | 3, void, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +doubles.return(); +>doubles.return() : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>doubles.return : (value: void | PromiseLike) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>doubles : AsyncGenerator<1 | 2 | 3, void, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>return : (value: void | PromiseLike) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +// based on: https://github.com/backstage/backstage/blob/85d9346ef11c1c20e4405102b4f5d93afb1292c1/packages/core-app-api/src/routing/RouteTracker.tsx#L62 +const r3: number | undefined = set.values().next().value; +>r3 : number | undefined +> : ^^^^^^^^^^^^^^^^^^ +>set.values().next().value : any +>set.values().next() : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values().next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set : Set +> : ^^^^^^^^^^^ +>values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : any +> : ^^^ + +// based on: https://github.com/microsoft/TypeScript/blob/15f67e0b482faf9f6a3ab9965f3c11196bf3e99b/src/harness/compilerImpl.ts#L77 +class MyMap implements Map { +>MyMap : MyMap +> : ^^^^^ + + declare private _keys: string[]; +>_keys : string[] +> : ^^^^^^^^ + + declare private _values: number[]; +>_values : number[] +> : ^^^^^^^^ + + declare size: number; +>size : number +> : ^^^^^^ + + declare [Symbol.toStringTag]: string; +>[Symbol.toStringTag] : string +> : ^^^^^^ +>Symbol.toStringTag : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ +>toStringTag : unique symbol +> : ^^^^^^^^^^^^^ + + clear(): void { } +>clear : () => void +> : ^^^^^^ + + delete(key: string): boolean { return false; } +>delete : (key: string) => boolean +> : ^ ^^ ^^^^^ +>key : string +> : ^^^^^^ +>false : false +> : ^^^^^ + + forEach(callbackfn: (value: number, key: string, map: Map) => void, thisArg?: any): void { } +>forEach : (callbackfn: (value: number, key: string, map: Map) => void, thisArg?: any) => void +> : ^ ^^ ^^ ^^^ ^^^^^ +>callbackfn : (value: number, key: string, map: Map) => void +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>value : number +> : ^^^^^^ +>key : string +> : ^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ +>thisArg : any + + get(key: string): number | undefined { return undefined; } +>get : (key: string) => number | undefined +> : ^ ^^ ^^^^^ +>key : string +> : ^^^^^^ +>undefined : undefined +> : ^^^^^^^^^ + + has(key: string): boolean { return false; } +>has : (key: string) => boolean +> : ^ ^^ ^^^^^ +>key : string +> : ^^^^^^ +>false : false +> : ^^^^^ + + set(key: string, value: number): this { return this; } +>set : (key: string, value: number) => this +> : ^ ^^ ^^ ^^ ^^^^^ +>key : string +> : ^^^^^^ +>value : number +> : ^^^^^^ +>this : this +> : ^^^^ + + entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } +>entries : () => IterableIterator<[string, number], BuiltinIteratorReturn> +> : ^^^^^^ +>new Error("Method not implemented.") : Error +> : ^^^^^ +>Error : ErrorConstructor +> : ^^^^^^^^^^^^^^^^ +>"Method not implemented." : "Method not implemented." +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ + + keys(): IterableIterator { throw new Error("Method not implemented."); } +>keys : () => IterableIterator +> : ^^^^^^ +>new Error("Method not implemented.") : Error +> : ^^^^^ +>Error : ErrorConstructor +> : ^^^^^^^^^^^^^^^^ +>"Method not implemented." : "Method not implemented." +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ + + [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } +>[Symbol.iterator] : () => IterableIterator<[string, number], BuiltinIteratorReturn> +> : ^^^^^^ +>Symbol.iterator : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ +>iterator : unique symbol +> : ^^^^^^^^^^^^^ +>new Error("Method not implemented.") : Error +> : ^^^^^ +>Error : ErrorConstructor +> : ^^^^^^^^^^^^^^^^ +>"Method not implemented." : "Method not implemented." +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ + + // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` + * values() { +>values : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + yield* this._values; +>yield* this._values : any +>this._values : number[] +> : ^^^^^^^^ +>this : this +> : ^^^^ +>_values : number[] +> : ^^^^^^^^ + } +} + diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).errors.txt b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).errors.txt new file mode 100644 index 00000000000..f5134dd19f0 --- /dev/null +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).errors.txt @@ -0,0 +1,81 @@ +iterableTReturnTNext.ts(7,7): error TS2322: Type 'number | undefined' is not assignable to type 'number'. + Type 'undefined' is not assignable to type 'number'. +iterableTReturnTNext.ts(14,7): error TS2322: Type 'IteratorResult' is not assignable to type 'Next'. + Type 'IteratorReturnResult' is not assignable to type 'Next'. + Types of property 'value' are incompatible. + Type 'undefined' is not assignable to type 'number'. +iterableTReturnTNext.ts(43,7): error TS2416: Property 'values' in type 'MyMap' is not assignable to the same property in base type 'Map'. + Type '() => Generator' is not assignable to type '() => IterableIterator'. + Call signature return types 'Generator' and 'IterableIterator' are incompatible. + The types returned by 'next(...)' are incompatible between these types. + Type 'IteratorResult' is not assignable to type 'IteratorResult'. + Type 'IteratorReturnResult' is not assignable to type 'IteratorResult'. + Type 'IteratorReturnResult' is not assignable to type 'IteratorReturnResult'. + Type 'void' is not assignable to type 'undefined'. + + +==== iterableTReturnTNext.ts (3 errors) ==== + declare const map: Map; + declare const set: Set; + + // based on: + // - https://github.com/apollographql/apollo-client/blob/8740f198805a99e01136617c4055d611b92cc231/src/react/hooks/__tests__/useMutation.test.tsx#L2328 + // - https://github.com/continuedev/continue/blob/046bca088a833f8b3620412ff64e4b6f41fbb959/extensions/vscode/src/autocomplete/lsp.ts#L60 + const r1: number = map.values().next().value; // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` + ~~ +!!! error TS2322: Type 'number | undefined' is not assignable to type 'number'. +!!! error TS2322: Type 'undefined' is not assignable to type 'number'. + + // based on: https://github.com/gcanti/fp-ts/blob/89a772e95e414acee679f42f56527606f7b61f30/src/Map.ts#L246 + interface Next { + readonly done?: boolean + readonly value: A + } + const r2: Next = map.values().next(); // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` + ~~ +!!! error TS2322: Type 'IteratorResult' is not assignable to type 'Next'. +!!! error TS2322: Type 'IteratorReturnResult' is not assignable to type 'Next'. +!!! error TS2322: Types of property 'value' are incompatible. +!!! error TS2322: Type 'undefined' is not assignable to type 'number'. + + // based on: https://github.com/graphql/graphql-js/blob/e15c3ec4dc21d9fd1df34fe9798cadf3bf02c6ea/src/execution/__tests__/mapAsyncIterable-test.ts#L175 + async function* source() { yield 1; yield 2; yield 3; } + const doubles = source(); + doubles.return(); + + // based on: https://github.com/backstage/backstage/blob/85d9346ef11c1c20e4405102b4f5d93afb1292c1/packages/core-app-api/src/routing/RouteTracker.tsx#L62 + const r3: number | undefined = set.values().next().value; + + // based on: https://github.com/microsoft/TypeScript/blob/15f67e0b482faf9f6a3ab9965f3c11196bf3e99b/src/harness/compilerImpl.ts#L77 + class MyMap implements Map { + declare private _keys: string[]; + declare private _values: number[]; + declare size: number; + declare [Symbol.toStringTag]: string; + + clear(): void { } + delete(key: string): boolean { return false; } + forEach(callbackfn: (value: number, key: string, map: Map) => void, thisArg?: any): void { } + get(key: string): number | undefined { return undefined; } + has(key: string): boolean { return false; } + set(key: string, value: number): this { return this; } + entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + keys(): IterableIterator { throw new Error("Method not implemented."); } + + [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + + // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` + * values() { + ~~~~~~ +!!! error TS2416: Property 'values' in type 'MyMap' is not assignable to the same property in base type 'Map'. +!!! error TS2416: Type '() => Generator' is not assignable to type '() => IterableIterator'. +!!! error TS2416: Call signature return types 'Generator' and 'IterableIterator' are incompatible. +!!! error TS2416: The types returned by 'next(...)' are incompatible between these types. +!!! error TS2416: Type 'IteratorResult' is not assignable to type 'IteratorResult'. +!!! error TS2416: Type 'IteratorReturnResult' is not assignable to type 'IteratorResult'. +!!! error TS2416: Type 'IteratorReturnResult' is not assignable to type 'IteratorReturnResult'. +!!! error TS2416: Type 'void' is not assignable to type 'undefined'. + yield* this._values; + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).js b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).js new file mode 100644 index 00000000000..0c0f14988e4 --- /dev/null +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).js @@ -0,0 +1,80 @@ +//// [tests/cases/compiler/iterableTReturnTNext.ts] //// + +//// [iterableTReturnTNext.ts] +declare const map: Map; +declare const set: Set; + +// based on: +// - https://github.com/apollographql/apollo-client/blob/8740f198805a99e01136617c4055d611b92cc231/src/react/hooks/__tests__/useMutation.test.tsx#L2328 +// - https://github.com/continuedev/continue/blob/046bca088a833f8b3620412ff64e4b6f41fbb959/extensions/vscode/src/autocomplete/lsp.ts#L60 +const r1: number = map.values().next().value; // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` + +// based on: https://github.com/gcanti/fp-ts/blob/89a772e95e414acee679f42f56527606f7b61f30/src/Map.ts#L246 +interface Next { + readonly done?: boolean + readonly value: A +} +const r2: Next = map.values().next(); // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` + +// based on: https://github.com/graphql/graphql-js/blob/e15c3ec4dc21d9fd1df34fe9798cadf3bf02c6ea/src/execution/__tests__/mapAsyncIterable-test.ts#L175 +async function* source() { yield 1; yield 2; yield 3; } +const doubles = source(); +doubles.return(); + +// based on: https://github.com/backstage/backstage/blob/85d9346ef11c1c20e4405102b4f5d93afb1292c1/packages/core-app-api/src/routing/RouteTracker.tsx#L62 +const r3: number | undefined = set.values().next().value; + +// based on: https://github.com/microsoft/TypeScript/blob/15f67e0b482faf9f6a3ab9965f3c11196bf3e99b/src/harness/compilerImpl.ts#L77 +class MyMap implements Map { + declare private _keys: string[]; + declare private _values: number[]; + declare size: number; + declare [Symbol.toStringTag]: string; + + clear(): void { } + delete(key: string): boolean { return false; } + forEach(callbackfn: (value: number, key: string, map: Map) => void, thisArg?: any): void { } + get(key: string): number | undefined { return undefined; } + has(key: string): boolean { return false; } + set(key: string, value: number): this { return this; } + entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + keys(): IterableIterator { throw new Error("Method not implemented."); } + + [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + + // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` + * values() { + yield* this._values; + } +} + + +//// [iterableTReturnTNext.js] +"use strict"; +// based on: +// - https://github.com/apollographql/apollo-client/blob/8740f198805a99e01136617c4055d611b92cc231/src/react/hooks/__tests__/useMutation.test.tsx#L2328 +// - https://github.com/continuedev/continue/blob/046bca088a833f8b3620412ff64e4b6f41fbb959/extensions/vscode/src/autocomplete/lsp.ts#L60 +const r1 = map.values().next().value; // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` +const r2 = map.values().next(); // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` +// based on: https://github.com/graphql/graphql-js/blob/e15c3ec4dc21d9fd1df34fe9798cadf3bf02c6ea/src/execution/__tests__/mapAsyncIterable-test.ts#L175 +async function* source() { yield 1; yield 2; yield 3; } +const doubles = source(); +doubles.return(); +// based on: https://github.com/backstage/backstage/blob/85d9346ef11c1c20e4405102b4f5d93afb1292c1/packages/core-app-api/src/routing/RouteTracker.tsx#L62 +const r3 = set.values().next().value; +// based on: https://github.com/microsoft/TypeScript/blob/15f67e0b482faf9f6a3ab9965f3c11196bf3e99b/src/harness/compilerImpl.ts#L77 +class MyMap { + clear() { } + delete(key) { return false; } + forEach(callbackfn, thisArg) { } + get(key) { return undefined; } + has(key) { return false; } + set(key, value) { return this; } + entries() { throw new Error("Method not implemented."); } + keys() { throw new Error("Method not implemented."); } + [Symbol.iterator]() { throw new Error("Method not implemented."); } + // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` + *values() { + yield* this._values; + } +} diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).symbols b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).symbols new file mode 100644 index 00000000000..b72ed04227d --- /dev/null +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).symbols @@ -0,0 +1,152 @@ +//// [tests/cases/compiler/iterableTReturnTNext.ts] //// + +=== iterableTReturnTNext.ts === +declare const map: Map; +>map : Symbol(map, Decl(iterableTReturnTNext.ts, 0, 13)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + +declare const set: Set; +>set : Symbol(set, Decl(iterableTReturnTNext.ts, 1, 13)) +>Set : Symbol(Set, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.esnext.collection.d.ts, --, --)) + +// based on: +// - https://github.com/apollographql/apollo-client/blob/8740f198805a99e01136617c4055d611b92cc231/src/react/hooks/__tests__/useMutation.test.tsx#L2328 +// - https://github.com/continuedev/continue/blob/046bca088a833f8b3620412ff64e4b6f41fbb959/extensions/vscode/src/autocomplete/lsp.ts#L60 +const r1: number = map.values().next().value; // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` +>r1 : Symbol(r1, Decl(iterableTReturnTNext.ts, 6, 5)) +>map.values().next().value : Symbol(value, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>map.values().next : Symbol(Iterator.next, Decl(lib.es2015.iterable.d.ts, --, --)) +>map.values : Symbol(Map.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>map : Symbol(map, Decl(iterableTReturnTNext.ts, 0, 13)) +>values : Symbol(Map.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>next : Symbol(Iterator.next, Decl(lib.es2015.iterable.d.ts, --, --)) +>value : Symbol(value, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) + +// based on: https://github.com/gcanti/fp-ts/blob/89a772e95e414acee679f42f56527606f7b61f30/src/Map.ts#L246 +interface Next { +>Next : Symbol(Next, Decl(iterableTReturnTNext.ts, 6, 45)) +>A : Symbol(A, Decl(iterableTReturnTNext.ts, 9, 15)) + + readonly done?: boolean +>done : Symbol(Next.done, Decl(iterableTReturnTNext.ts, 9, 19)) + + readonly value: A +>value : Symbol(Next.value, Decl(iterableTReturnTNext.ts, 10, 27)) +>A : Symbol(A, Decl(iterableTReturnTNext.ts, 9, 15)) +} +const r2: Next = map.values().next(); // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` +>r2 : Symbol(r2, Decl(iterableTReturnTNext.ts, 13, 5)) +>Next : Symbol(Next, Decl(iterableTReturnTNext.ts, 6, 45)) +>map.values().next : Symbol(Iterator.next, Decl(lib.es2015.iterable.d.ts, --, --)) +>map.values : Symbol(Map.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>map : Symbol(map, Decl(iterableTReturnTNext.ts, 0, 13)) +>values : Symbol(Map.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>next : Symbol(Iterator.next, Decl(lib.es2015.iterable.d.ts, --, --)) + +// based on: https://github.com/graphql/graphql-js/blob/e15c3ec4dc21d9fd1df34fe9798cadf3bf02c6ea/src/execution/__tests__/mapAsyncIterable-test.ts#L175 +async function* source() { yield 1; yield 2; yield 3; } +>source : Symbol(source, Decl(iterableTReturnTNext.ts, 13, 45)) + +const doubles = source(); +>doubles : Symbol(doubles, Decl(iterableTReturnTNext.ts, 17, 5)) +>source : Symbol(source, Decl(iterableTReturnTNext.ts, 13, 45)) + +doubles.return(); +>doubles.return : Symbol(AsyncGenerator.return, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) +>doubles : Symbol(doubles, Decl(iterableTReturnTNext.ts, 17, 5)) +>return : Symbol(AsyncGenerator.return, Decl(lib.es2018.asyncgenerator.d.ts, --, --)) + +// based on: https://github.com/backstage/backstage/blob/85d9346ef11c1c20e4405102b4f5d93afb1292c1/packages/core-app-api/src/routing/RouteTracker.tsx#L62 +const r3: number | undefined = set.values().next().value; +>r3 : Symbol(r3, Decl(iterableTReturnTNext.ts, 21, 5)) +>set.values().next().value : Symbol(value, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) +>set.values().next : Symbol(Iterator.next, Decl(lib.es2015.iterable.d.ts, --, --)) +>set.values : Symbol(Set.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>set : Symbol(set, Decl(iterableTReturnTNext.ts, 1, 13)) +>values : Symbol(Set.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>next : Symbol(Iterator.next, Decl(lib.es2015.iterable.d.ts, --, --)) +>value : Symbol(value, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --)) + +// based on: https://github.com/microsoft/TypeScript/blob/15f67e0b482faf9f6a3ab9965f3c11196bf3e99b/src/harness/compilerImpl.ts#L77 +class MyMap implements Map { +>MyMap : Symbol(MyMap, Decl(iterableTReturnTNext.ts, 21, 57)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + + declare private _keys: string[]; +>_keys : Symbol(MyMap._keys, Decl(iterableTReturnTNext.ts, 24, 44)) + + declare private _values: number[]; +>_values : Symbol(MyMap._values, Decl(iterableTReturnTNext.ts, 25, 36)) + + declare size: number; +>size : Symbol(MyMap.size, Decl(iterableTReturnTNext.ts, 26, 38)) + + declare [Symbol.toStringTag]: string; +>[Symbol.toStringTag] : Symbol(MyMap[Symbol.toStringTag], Decl(iterableTReturnTNext.ts, 27, 25)) +>Symbol.toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) +>toStringTag : Symbol(SymbolConstructor.toStringTag, Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) + + clear(): void { } +>clear : Symbol(MyMap.clear, Decl(iterableTReturnTNext.ts, 28, 41)) + + delete(key: string): boolean { return false; } +>delete : Symbol(MyMap.delete, Decl(iterableTReturnTNext.ts, 30, 21)) +>key : Symbol(key, Decl(iterableTReturnTNext.ts, 31, 11)) + + forEach(callbackfn: (value: number, key: string, map: Map) => void, thisArg?: any): void { } +>forEach : Symbol(MyMap.forEach, Decl(iterableTReturnTNext.ts, 31, 50)) +>callbackfn : Symbol(callbackfn, Decl(iterableTReturnTNext.ts, 32, 12)) +>value : Symbol(value, Decl(iterableTReturnTNext.ts, 32, 25)) +>key : Symbol(key, Decl(iterableTReturnTNext.ts, 32, 39)) +>map : Symbol(map, Decl(iterableTReturnTNext.ts, 32, 52)) +>Map : Symbol(Map, Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.collection.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>thisArg : Symbol(thisArg, Decl(iterableTReturnTNext.ts, 32, 87)) + + get(key: string): number | undefined { return undefined; } +>get : Symbol(MyMap.get, Decl(iterableTReturnTNext.ts, 32, 112)) +>key : Symbol(key, Decl(iterableTReturnTNext.ts, 33, 8)) +>undefined : Symbol(undefined) + + has(key: string): boolean { return false; } +>has : Symbol(MyMap.has, Decl(iterableTReturnTNext.ts, 33, 62)) +>key : Symbol(key, Decl(iterableTReturnTNext.ts, 34, 8)) + + set(key: string, value: number): this { return this; } +>set : Symbol(MyMap.set, Decl(iterableTReturnTNext.ts, 34, 47)) +>key : Symbol(key, Decl(iterableTReturnTNext.ts, 35, 8)) +>value : Symbol(value, Decl(iterableTReturnTNext.ts, 35, 20)) +>this : Symbol(MyMap, Decl(iterableTReturnTNext.ts, 21, 57)) + + entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } +>entries : Symbol(MyMap.entries, Decl(iterableTReturnTNext.ts, 35, 58)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) + + keys(): IterableIterator { throw new Error("Method not implemented."); } +>keys : Symbol(MyMap.keys, Decl(iterableTReturnTNext.ts, 36, 120)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) + + [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } +>[Symbol.iterator] : Symbol(MyMap[Symbol.iterator], Decl(iterableTReturnTNext.ts, 37, 107)) +>Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) +>iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) +>Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) + + // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` + * values() { +>values : Symbol(MyMap.values, Decl(iterableTReturnTNext.ts, 39, 130)) + + yield* this._values; +>this._values : Symbol(MyMap._values, Decl(iterableTReturnTNext.ts, 25, 36)) +>this : Symbol(MyMap, Decl(iterableTReturnTNext.ts, 21, 57)) +>_values : Symbol(MyMap._values, Decl(iterableTReturnTNext.ts, 25, 36)) + } +} + diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types new file mode 100644 index 00000000000..2f8827d04e1 --- /dev/null +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types @@ -0,0 +1,254 @@ +//// [tests/cases/compiler/iterableTReturnTNext.ts] //// + +=== iterableTReturnTNext.ts === +declare const map: Map; +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ + +declare const set: Set; +>set : Set +> : ^^^^^^^^^^^ + +// based on: +// - https://github.com/apollographql/apollo-client/blob/8740f198805a99e01136617c4055d611b92cc231/src/react/hooks/__tests__/useMutation.test.tsx#L2328 +// - https://github.com/continuedev/continue/blob/046bca088a833f8b3620412ff64e4b6f41fbb959/extensions/vscode/src/autocomplete/lsp.ts#L60 +const r1: number = map.values().next().value; // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` +>r1 : number +> : ^^^^^^ +>map.values().next().value : number | undefined +> : ^^^^^^^^^^^^^^^^^^ +>map.values().next() : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values().next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ +>values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : number | undefined +> : ^^^^^^^^^^^^^^^^^^ + +// based on: https://github.com/gcanti/fp-ts/blob/89a772e95e414acee679f42f56527606f7b61f30/src/Map.ts#L246 +interface Next { + readonly done?: boolean +>done : boolean | undefined +> : ^^^^^^^^^^^^^^^^^^^ + + readonly value: A +>value : A +> : ^ +} +const r2: Next = map.values().next(); // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` +>r2 : Next +> : ^^^^^^^^^^^^ +>map.values().next() : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values().next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ +>values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +// based on: https://github.com/graphql/graphql-js/blob/e15c3ec4dc21d9fd1df34fe9798cadf3bf02c6ea/src/execution/__tests__/mapAsyncIterable-test.ts#L175 +async function* source() { yield 1; yield 2; yield 3; } +>source : () => AsyncGenerator<1 | 2 | 3, void, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield 1 : any +> : ^^^ +>1 : 1 +> : ^ +>yield 2 : any +> : ^^^ +>2 : 2 +> : ^ +>yield 3 : any +> : ^^^ +>3 : 3 +> : ^ + +const doubles = source(); +>doubles : AsyncGenerator<1 | 2 | 3, void, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>source() : AsyncGenerator<1 | 2 | 3, void, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>source : () => AsyncGenerator<1 | 2 | 3, void, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +doubles.return(); +>doubles.return() : Promise> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>doubles.return : (value: void | PromiseLike) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>doubles : AsyncGenerator<1 | 2 | 3, void, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>return : (value: void | PromiseLike) => Promise> +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +// based on: https://github.com/backstage/backstage/blob/85d9346ef11c1c20e4405102b4f5d93afb1292c1/packages/core-app-api/src/routing/RouteTracker.tsx#L62 +const r3: number | undefined = set.values().next().value; +>r3 : number | undefined +> : ^^^^^^^^^^^^^^^^^^ +>set.values().next().value : number | undefined +> : ^^^^^^^^^^^^^^^^^^ +>set.values().next() : IteratorResult +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values().next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values() : IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set : Set +> : ^^^^^^^^^^^ +>values : () => IterableIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...args: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>value : number | undefined +> : ^^^^^^^^^^^^^^^^^^ + +// based on: https://github.com/microsoft/TypeScript/blob/15f67e0b482faf9f6a3ab9965f3c11196bf3e99b/src/harness/compilerImpl.ts#L77 +class MyMap implements Map { +>MyMap : MyMap +> : ^^^^^ + + declare private _keys: string[]; +>_keys : string[] +> : ^^^^^^^^ + + declare private _values: number[]; +>_values : number[] +> : ^^^^^^^^ + + declare size: number; +>size : number +> : ^^^^^^ + + declare [Symbol.toStringTag]: string; +>[Symbol.toStringTag] : string +> : ^^^^^^ +>Symbol.toStringTag : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ +>toStringTag : unique symbol +> : ^^^^^^^^^^^^^ + + clear(): void { } +>clear : () => void +> : ^^^^^^ + + delete(key: string): boolean { return false; } +>delete : (key: string) => boolean +> : ^ ^^ ^^^^^ +>key : string +> : ^^^^^^ +>false : false +> : ^^^^^ + + forEach(callbackfn: (value: number, key: string, map: Map) => void, thisArg?: any): void { } +>forEach : (callbackfn: (value: number, key: string, map: Map) => void, thisArg?: any) => void +> : ^ ^^ ^^ ^^^ ^^^^^ +>callbackfn : (value: number, key: string, map: Map) => void +> : ^ ^^ ^^ ^^ ^^ ^^ ^^^^^ +>value : number +> : ^^^^^^ +>key : string +> : ^^^^^^ +>map : Map +> : ^^^^^^^^^^^^^^^^^^^ +>thisArg : any +> : ^^^ + + get(key: string): number | undefined { return undefined; } +>get : (key: string) => number | undefined +> : ^ ^^ ^^^^^ +>key : string +> : ^^^^^^ +>undefined : undefined +> : ^^^^^^^^^ + + has(key: string): boolean { return false; } +>has : (key: string) => boolean +> : ^ ^^ ^^^^^ +>key : string +> : ^^^^^^ +>false : false +> : ^^^^^ + + set(key: string, value: number): this { return this; } +>set : (key: string, value: number) => this +> : ^ ^^ ^^ ^^ ^^^^^ +>key : string +> : ^^^^^^ +>value : number +> : ^^^^^^ +>this : this +> : ^^^^ + + entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } +>entries : () => IterableIterator<[string, number], BuiltinIteratorReturn> +> : ^^^^^^ +>new Error("Method not implemented.") : Error +> : ^^^^^ +>Error : ErrorConstructor +> : ^^^^^^^^^^^^^^^^ +>"Method not implemented." : "Method not implemented." +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ + + keys(): IterableIterator { throw new Error("Method not implemented."); } +>keys : () => IterableIterator +> : ^^^^^^ +>new Error("Method not implemented.") : Error +> : ^^^^^ +>Error : ErrorConstructor +> : ^^^^^^^^^^^^^^^^ +>"Method not implemented." : "Method not implemented." +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ + + [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } +>[Symbol.iterator] : () => IterableIterator<[string, number], BuiltinIteratorReturn> +> : ^^^^^^ +>Symbol.iterator : unique symbol +> : ^^^^^^^^^^^^^ +>Symbol : SymbolConstructor +> : ^^^^^^^^^^^^^^^^^ +>iterator : unique symbol +> : ^^^^^^^^^^^^^ +>new Error("Method not implemented.") : Error +> : ^^^^^ +>Error : ErrorConstructor +> : ^^^^^^^^^^^^^^^^ +>"Method not implemented." : "Method not implemented." +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ + + // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` + * values() { +>values : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + yield* this._values; +>yield* this._values : undefined +> : ^^^^^^^^^ +>this._values : number[] +> : ^^^^^^^^ +>this : this +> : ^^^^ +>_values : number[] +> : ^^^^^^^^ + } +} + diff --git a/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.errors.txt b/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.errors.txt index 524c12bb6b3..13723c24505 100644 --- a/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.errors.txt +++ b/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.errors.txt @@ -1,17 +1,11 @@ -error TS6054: File 'b.js.map' has an unsupported extension. The only supported extensions are '.ts', '.tsx', '.d.ts', '.cts', '.d.cts', '.mts', '.d.mts'. - The file is in the program because: - Root file specified for compilation -error TS6504: File 'b.js' is a JavaScript file. Did you mean to enable the 'allowJs' option? +error TS6054: File 'b.js.map' has an unsupported extension. The only supported extensions are '.ts', '.tsx', '.d.ts', '.js', '.jsx', '.cts', '.d.cts', '.cjs', '.mts', '.d.mts', '.mjs'. The file is in the program because: Root file specified for compilation -!!! error TS6054: File 'b.js.map' has an unsupported extension. The only supported extensions are '.ts', '.tsx', '.d.ts', '.cts', '.d.cts', '.mts', '.d.mts'. +!!! error TS6054: File 'b.js.map' has an unsupported extension. The only supported extensions are '.ts', '.tsx', '.d.ts', '.js', '.jsx', '.cts', '.d.cts', '.cjs', '.mts', '.d.mts', '.mjs'. !!! error TS6054: The file is in the program because: !!! error TS6054: Root file specified for compilation -!!! error TS6504: File 'b.js' is a JavaScript file. Did you mean to enable the 'allowJs' option? -!!! error TS6504: The file is in the program because: -!!! error TS6504: Root file specified for compilation ==== a.ts (0 errors) ==== class c { } diff --git a/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.js b/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.js index 9fc16e26cd5..ed214379834 100644 --- a/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.js +++ b/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.js @@ -18,4 +18,8 @@ var c = /** @class */ (function () { } return c; }()); -//# sourceMappingURL=a.js.map \ No newline at end of file +//# sourceMappingURL=a.js.map +//// [b.js] +function bar() { +} +//# sourceMappingURL=b.js.map \ No newline at end of file diff --git a/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.js.map b/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.js.map index 2291166790d..7cc00247684 100644 --- a/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.js.map +++ b/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.js.map @@ -1,2 +1,4 @@ //// [a.js.map] -{"version":3,"file":"a.js","sourceRoot":"","sources":["../a.ts"],"names":[],"mappings":"AAAA;IAAA;IACA,CAAC;IAAD,QAAC;AAAD,CAAC,AADD,IACC"} \ No newline at end of file +{"version":3,"file":"a.js","sourceRoot":"","sources":["../a.ts"],"names":[],"mappings":"AAAA;IAAA;IACA,CAAC;IAAD,QAAC;AAAD,CAAC,AADD,IACC"} +//// [b.js.map] +{"version":3,"file":"b.js","sourceRoot":"","sources":["../b.js"],"names":[],"mappings":"AAAA,SAAS,GAAG;AACZ,CAAC"} \ No newline at end of file diff --git a/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.sourcemap.txt b/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.sourcemap.txt index d9a7622e955..a00057db7c4 100644 --- a/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.sourcemap.txt +++ b/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.sourcemap.txt @@ -54,4 +54,35 @@ sourceFile:../a.ts 3 >Emitted(5, 2) Source(1, 1) + SourceIndex(0) 4 >Emitted(5, 6) Source(2, 2) + SourceIndex(0) --- ->>>//# sourceMappingURL=a.js.map \ No newline at end of file +>>>//# sourceMappingURL=a.js.map=================================================================== +JsFile: b.js +mapUrl: b.js.map +sourceRoot: +sources: ../b.js +=================================================================== +------------------------------------------------------------------- +emittedFile:out/b.js +sourceFile:../b.js +------------------------------------------------------------------- +>>>function bar() { +1 > +2 >^^^^^^^^^ +3 > ^^^ +1 > +2 >function +3 > bar +1 >Emitted(1, 1) Source(1, 1) + SourceIndex(0) +2 >Emitted(1, 10) Source(1, 10) + SourceIndex(0) +3 >Emitted(1, 13) Source(1, 13) + SourceIndex(0) +--- +>>>} +1 > +2 >^ +3 > ^^^^^^^^^^^^^^^^^^^^^^^^^^^-> +1 >() { + > +2 >} +1 >Emitted(2, 1) Source(2, 1) + SourceIndex(0) +2 >Emitted(2, 2) Source(2, 2) + SourceIndex(0) +--- +>>>//# sourceMappingURL=b.js.map \ No newline at end of file diff --git a/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.symbols b/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.symbols index 23c4abec429..822b9551f65 100644 --- a/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.symbols +++ b/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.symbols @@ -5,3 +5,7 @@ class c { >c : Symbol(c, Decl(a.ts, 0, 0)) } +=== b.js === +function bar() { +>bar : Symbol(bar, Decl(b.js, 0, 0)) +} diff --git a/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.types b/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.types index 2dcd08b59fa..db36a884248 100644 --- a/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.types +++ b/tests/baselines/reference/jsFileCompilationWithMapFileAsJsWithOutDir.types @@ -6,3 +6,8 @@ class c { > : ^ } +=== b.js === +function bar() { +>bar : () => void +> : ^^^^^^^^^^ +} diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types index 5297e055ec2..b64ece233e1 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types @@ -6,14 +6,14 @@ declare let tgt2: number[]; > : ^^^^^^^^ declare let src2: { [K in keyof number[] as Exclude]: (number[])[K] }; ->src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tgt2 = src2; // Should error ->tgt2 = src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>tgt2 = src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >tgt2 : number[] > : ^^^^^^^^ ->src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js index b143900a080..82e67a1e2c4 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js @@ -63,7 +63,7 @@ export declare const thing: { fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; - keys: () => IterableIterator; + keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; @@ -172,7 +172,7 @@ mappedTypeWithAsClauseAndLateBoundProperty2.d.ts(27,118): error TS2526: A 'this' fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; - keys: () => IterableIterator; + keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types index a58dddd8382..17e5229e64b 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types @@ -2,11 +2,11 @@ === mappedTypeWithAsClauseAndLateBoundProperty2.ts === export const thing = (null as any as { [K in keyof number[] as Exclude]: (number[])[K] }); ->thing : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(null as any as { [K in keyof number[] as Exclude]: (number[])[K] }) : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->null as any as { [K in keyof number[] as Exclude]: (number[])[K] } : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>thing : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(null as any as { [K in keyof number[] as Exclude]: (number[])[K] }) : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>null as any as { [K in keyof number[] as Exclude]: (number[])[K] } : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >null as any : any diff --git a/tests/baselines/reference/parser.asyncGenerators.classMethods.es2018.types b/tests/baselines/reference/parser.asyncGenerators.classMethods.es2018.types index a9a8e5c0baa..41859c1f719 100644 --- a/tests/baselines/reference/parser.asyncGenerators.classMethods.es2018.types +++ b/tests/baselines/reference/parser.asyncGenerators.classMethods.es2018.types @@ -221,8 +221,8 @@ class C16 { > : ^^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield * []; >yield * [] : any diff --git a/tests/baselines/reference/parser.asyncGenerators.functionDeclarations.es2018.types b/tests/baselines/reference/parser.asyncGenerators.functionDeclarations.es2018.types index c07b24af13d..145171838a8 100644 --- a/tests/baselines/reference/parser.asyncGenerators.functionDeclarations.es2018.types +++ b/tests/baselines/reference/parser.asyncGenerators.functionDeclarations.es2018.types @@ -142,8 +142,8 @@ async function * f15() { } === yieldStarWithValueIsOk.ts === async function * f16() { ->f16 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f16 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield * []; >yield * [] : any diff --git a/tests/baselines/reference/parser.asyncGenerators.functionExpressions.es2018.types b/tests/baselines/reference/parser.asyncGenerators.functionExpressions.es2018.types index 2eb736f48a6..9082a5732d5 100644 --- a/tests/baselines/reference/parser.asyncGenerators.functionExpressions.es2018.types +++ b/tests/baselines/reference/parser.asyncGenerators.functionExpressions.es2018.types @@ -188,10 +188,10 @@ const f15 = async function * () { }; === yieldStarWithValueIsOk.ts === const f16 = async function * () { ->f16 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { yield * [];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f16 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield * [];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield * []; >yield * [] : any diff --git a/tests/baselines/reference/parser.asyncGenerators.objectLiteralMethods.es2018.types b/tests/baselines/reference/parser.asyncGenerators.objectLiteralMethods.es2018.types index fe75d811809..a1c287cfa1f 100644 --- a/tests/baselines/reference/parser.asyncGenerators.objectLiteralMethods.es2018.types +++ b/tests/baselines/reference/parser.asyncGenerators.objectLiteralMethods.es2018.types @@ -247,14 +247,14 @@ const o15 = { }; === yieldStarWithValueIsOk.ts === const o16 = { ->o16 : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ async * f() { yield * []; }} : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o16 : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ async * f() { yield * []; }} : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield * []; >yield * [] : any diff --git a/tests/baselines/reference/regexMatchAll-esnext.types b/tests/baselines/reference/regexMatchAll-esnext.types index e8048eb9db3..222721c3f59 100644 --- a/tests/baselines/reference/regexMatchAll-esnext.types +++ b/tests/baselines/reference/regexMatchAll-esnext.types @@ -6,8 +6,8 @@ const matches = /\w/g[Symbol.matchAll]("matchAll"); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >/\w/g[Symbol.matchAll]("matchAll") : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->/\w/g[Symbol.matchAll] : (str: string) => IterableIterator -> : ^ ^^ ^^^^^ +>/\w/g[Symbol.matchAll] : (str: string) => IterableIterator +> : ^ ^^ ^^^^^ >/\w/g : RegExp > : ^^^^^^ >Symbol.matchAll : unique symbol diff --git a/tests/baselines/reference/regexMatchAll.types b/tests/baselines/reference/regexMatchAll.types index acfc292ace7..53a391b22ee 100644 --- a/tests/baselines/reference/regexMatchAll.types +++ b/tests/baselines/reference/regexMatchAll.types @@ -6,8 +6,8 @@ const matches = /\w/g[Symbol.matchAll]("matchAll"); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >/\w/g[Symbol.matchAll]("matchAll") : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->/\w/g[Symbol.matchAll] : (str: string) => IterableIterator -> : ^ ^^ ^^^^^ +>/\w/g[Symbol.matchAll] : (str: string) => IterableIterator +> : ^ ^^ ^^^^^ >/\w/g : RegExp > : ^^^^^^ >Symbol.matchAll : unique symbol diff --git a/tests/baselines/reference/stringMatchAll.types b/tests/baselines/reference/stringMatchAll.types index a107b9eb3fd..12f4460a2e8 100644 --- a/tests/baselines/reference/stringMatchAll.types +++ b/tests/baselines/reference/stringMatchAll.types @@ -6,12 +6,12 @@ const matches = "matchAll".matchAll(/\w/g); > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >"matchAll".matchAll(/\w/g) : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->"matchAll".matchAll : (regexp: RegExp) => IterableIterator -> : ^ ^^ ^^^^^ +>"matchAll".matchAll : (regexp: RegExp) => IterableIterator +> : ^ ^^ ^^^^^ >"matchAll" : "matchAll" > : ^^^^^^^^^^ ->matchAll : (regexp: RegExp) => IterableIterator -> : ^ ^^ ^^^^^ +>matchAll : (regexp: RegExp) => IterableIterator +> : ^ ^^ ^^^^^ >/\w/g : RegExp > : ^^^^^^ diff --git a/tests/baselines/reference/types.asyncGenerators.es2018.1.types b/tests/baselines/reference/types.asyncGenerators.es2018.1.types index 2a9d1eb54db..2d2f8df98e4 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.1.types +++ b/tests/baselines/reference/types.asyncGenerators.es2018.1.types @@ -61,8 +61,8 @@ async function * inferReturnType5() { > : ^ } async function * inferReturnType6() { ->inferReturnType6 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>inferReturnType6 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [1, 2]; >yield* [1, 2] : any @@ -74,8 +74,8 @@ async function * inferReturnType6() { > : ^ } async function * inferReturnType7() { ->inferReturnType7 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>inferReturnType7 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [Promise.resolve(1)]; >yield* [Promise.resolve(1)] : any @@ -112,12 +112,11 @@ async function * inferReturnType8() { const assignability1: () => AsyncIterableIterator = async function * () { >assignability1 : () => AsyncIterableIterator > : ^^^^^^ ->async function * () { yield 1;} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield 1;} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield 1; ->yield 1 : undefined -> : ^^^^^^^^^ +>yield 1 : any >1 : 1 > : ^ @@ -125,12 +124,11 @@ const assignability1: () => AsyncIterableIterator = async function * () const assignability2: () => AsyncIterableIterator = async function * () { >assignability2 : () => AsyncIterableIterator > : ^^^^^^ ->async function * () { yield Promise.resolve(1);} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield Promise.resolve(1);} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield Promise.resolve(1); ->yield Promise.resolve(1) : undefined -> : ^^^^^^^^^ +>yield Promise.resolve(1) : any >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } @@ -146,8 +144,8 @@ const assignability2: () => AsyncIterableIterator = async function * () const assignability3: () => AsyncIterableIterator = async function * () { >assignability3 : () => AsyncIterableIterator > : ^^^^^^ ->async function * () { yield* [1, 2];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* [1, 2];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [1, 2]; >yield* [1, 2] : any @@ -162,8 +160,8 @@ const assignability3: () => AsyncIterableIterator = async function * () const assignability4: () => AsyncIterableIterator = async function * () { >assignability4 : () => AsyncIterableIterator > : ^^^^^^ ->async function * () { yield* [Promise.resolve(1)];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* [Promise.resolve(1)];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [Promise.resolve(1)]; >yield* [Promise.resolve(1)] : any @@ -184,20 +182,19 @@ const assignability4: () => AsyncIterableIterator = async function * () const assignability5: () => AsyncIterableIterator = async function * () { >assignability5 : () => AsyncIterableIterator > : ^^^^^^ ->async function * () { yield* (async function * () { yield 1; })();} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* (async function * () { yield 1; })();} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* (async function * () { yield 1; })(); >yield* (async function * () { yield 1; })() : void > : ^^^^ ->(async function * () { yield 1; })() : AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(async function * () { yield 1; }) : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { yield 1; } : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->yield 1 : undefined -> : ^^^^^^^^^ +>(async function * () { yield 1; })() : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(async function * () { yield 1; }) : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield 1; } : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield 1 : any >1 : 1 > : ^ @@ -205,12 +202,11 @@ const assignability5: () => AsyncIterableIterator = async function * () const assignability6: () => AsyncIterable = async function * () { >assignability6 : () => AsyncIterable > : ^^^^^^ ->async function * () { yield 1;} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield 1;} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield 1; ->yield 1 : undefined -> : ^^^^^^^^^ +>yield 1 : any >1 : 1 > : ^ @@ -218,12 +214,11 @@ const assignability6: () => AsyncIterable = async function * () { const assignability7: () => AsyncIterable = async function * () { >assignability7 : () => AsyncIterable > : ^^^^^^ ->async function * () { yield Promise.resolve(1);} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield Promise.resolve(1);} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield Promise.resolve(1); ->yield Promise.resolve(1) : undefined -> : ^^^^^^^^^ +>yield Promise.resolve(1) : any >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } @@ -239,8 +234,8 @@ const assignability7: () => AsyncIterable = async function * () { const assignability8: () => AsyncIterable = async function * () { >assignability8 : () => AsyncIterable > : ^^^^^^ ->async function * () { yield* [1, 2];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* [1, 2];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [1, 2]; >yield* [1, 2] : any @@ -255,8 +250,8 @@ const assignability8: () => AsyncIterable = async function * () { const assignability9: () => AsyncIterable = async function * () { >assignability9 : () => AsyncIterable > : ^^^^^^ ->async function * () { yield* [Promise.resolve(1)];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* [Promise.resolve(1)];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [Promise.resolve(1)]; >yield* [Promise.resolve(1)] : any @@ -277,20 +272,19 @@ const assignability9: () => AsyncIterable = async function * () { const assignability10: () => AsyncIterable = async function * () { >assignability10 : () => AsyncIterable > : ^^^^^^ ->async function * () { yield* (async function * () { yield 1; })();} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* (async function * () { yield 1; })();} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* (async function * () { yield 1; })(); >yield* (async function * () { yield 1; })() : void > : ^^^^ ->(async function * () { yield 1; })() : AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(async function * () { yield 1; }) : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { yield 1; } : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->yield 1 : undefined -> : ^^^^^^^^^ +>(async function * () { yield 1; })() : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(async function * () { yield 1; }) : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield 1; } : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield 1 : any >1 : 1 > : ^ @@ -298,12 +292,11 @@ const assignability10: () => AsyncIterable = async function * () { const assignability11: () => AsyncIterator = async function * () { >assignability11 : () => AsyncIterator > : ^^^^^^ ->async function * () { yield 1;} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield 1;} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield 1; ->yield 1 : undefined -> : ^^^^^^^^^ +>yield 1 : any >1 : 1 > : ^ @@ -311,12 +304,11 @@ const assignability11: () => AsyncIterator = async function * () { const assignability12: () => AsyncIterator = async function * () { >assignability12 : () => AsyncIterator > : ^^^^^^ ->async function * () { yield Promise.resolve(1);} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield Promise.resolve(1);} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield Promise.resolve(1); ->yield Promise.resolve(1) : undefined -> : ^^^^^^^^^ +>yield Promise.resolve(1) : any >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } @@ -332,8 +324,8 @@ const assignability12: () => AsyncIterator = async function * () { const assignability13: () => AsyncIterator = async function * () { >assignability13 : () => AsyncIterator > : ^^^^^^ ->async function * () { yield* [1, 2];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* [1, 2];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [1, 2]; >yield* [1, 2] : any @@ -348,8 +340,8 @@ const assignability13: () => AsyncIterator = async function * () { const assignability14: () => AsyncIterator = async function * () { >assignability14 : () => AsyncIterator > : ^^^^^^ ->async function * () { yield* [Promise.resolve(1)];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* [Promise.resolve(1)];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [Promise.resolve(1)]; >yield* [Promise.resolve(1)] : any @@ -370,20 +362,19 @@ const assignability14: () => AsyncIterator = async function * () { const assignability15: () => AsyncIterator = async function * () { >assignability15 : () => AsyncIterator > : ^^^^^^ ->async function * () { yield* (async function * () { yield 1; })();} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* (async function * () { yield 1; })();} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* (async function * () { yield 1; })(); >yield* (async function * () { yield 1; })() : void > : ^^^^ ->(async function * () { yield 1; })() : AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(async function * () { yield 1; }) : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { yield 1; } : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->yield 1 : undefined -> : ^^^^^^^^^ +>(async function * () { yield 1; })() : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(async function * () { yield 1; }) : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield 1; } : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield 1 : any >1 : 1 > : ^ @@ -393,8 +384,7 @@ async function * explicitReturnType1(): AsyncIterableIterator { > : ^^^^^^ yield 1; ->yield 1 : undefined -> : ^^^^^^^^^ +>yield 1 : any >1 : 1 > : ^ } @@ -403,8 +393,7 @@ async function * explicitReturnType2(): AsyncIterableIterator { > : ^^^^^^ yield Promise.resolve(1); ->yield Promise.resolve(1) : undefined -> : ^^^^^^^^^ +>yield Promise.resolve(1) : any >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } @@ -455,14 +444,13 @@ async function * explicitReturnType5(): AsyncIterableIterator { yield* (async function * () { yield 1; })(); >yield* (async function * () { yield 1; })() : void > : ^^^^ ->(async function * () { yield 1; })() : AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(async function * () { yield 1; }) : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { yield 1; } : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->yield 1 : undefined -> : ^^^^^^^^^ +>(async function * () { yield 1; })() : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(async function * () { yield 1; }) : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield 1; } : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield 1 : any >1 : 1 > : ^ } @@ -471,8 +459,7 @@ async function * explicitReturnType6(): AsyncIterable { > : ^^^^^^ yield 1; ->yield 1 : undefined -> : ^^^^^^^^^ +>yield 1 : any >1 : 1 > : ^ } @@ -481,8 +468,7 @@ async function * explicitReturnType7(): AsyncIterable { > : ^^^^^^ yield Promise.resolve(1); ->yield Promise.resolve(1) : undefined -> : ^^^^^^^^^ +>yield Promise.resolve(1) : any >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } @@ -533,14 +519,13 @@ async function * explicitReturnType10(): AsyncIterable { yield* (async function * () { yield 1; })(); >yield* (async function * () { yield 1; })() : void > : ^^^^ ->(async function * () { yield 1; })() : AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(async function * () { yield 1; }) : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { yield 1; } : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->yield 1 : undefined -> : ^^^^^^^^^ +>(async function * () { yield 1; })() : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(async function * () { yield 1; }) : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield 1; } : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield 1 : any >1 : 1 > : ^ } @@ -549,8 +534,7 @@ async function * explicitReturnType11(): AsyncIterator { > : ^^^^^^ yield 1; ->yield 1 : undefined -> : ^^^^^^^^^ +>yield 1 : any >1 : 1 > : ^ } @@ -559,8 +543,7 @@ async function * explicitReturnType12(): AsyncIterator { > : ^^^^^^ yield Promise.resolve(1); ->yield Promise.resolve(1) : undefined -> : ^^^^^^^^^ +>yield Promise.resolve(1) : any >Promise.resolve(1) : Promise > : ^^^^^^^^^^^^^^^ >Promise.resolve : { (): Promise; (value: T): Promise>; (value: T | PromiseLike): Promise>; } @@ -611,14 +594,13 @@ async function * explicitReturnType15(): AsyncIterator { yield* (async function * () { yield 1; })(); >yield* (async function * () { yield 1; })() : void > : ^^^^ ->(async function * () { yield 1; })() : AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(async function * () { yield 1; }) : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { yield 1; } : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->yield 1 : undefined -> : ^^^^^^^^^ +>(async function * () { yield 1; })() : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(async function * () { yield 1; }) : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield 1; } : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield 1 : any >1 : 1 > : ^ } diff --git a/tests/baselines/reference/types.asyncGenerators.es2018.2.errors.txt b/tests/baselines/reference/types.asyncGenerators.es2018.2.errors.txt index 1efc4e535a3..4aa4491e423 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.2.errors.txt +++ b/tests/baselines/reference/types.asyncGenerators.es2018.2.errors.txt @@ -1,71 +1,71 @@ types.asyncGenerators.es2018.2.ts(2,12): error TS2504: Type '{}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator. types.asyncGenerators.es2018.2.ts(8,12): error TS2504: Type 'Promise' must have a '[Symbol.asyncIterator]()' method that returns an async iterator. -types.asyncGenerators.es2018.2.ts(10,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. - Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. +types.asyncGenerators.es2018.2.ts(10,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. + Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. The types returned by 'next(...)' are incompatible between these types. Type 'Promise>' is not assignable to type 'Promise>'. Type 'IteratorResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. Type 'string' is not assignable to type 'number'. -types.asyncGenerators.es2018.2.ts(13,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. - Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. +types.asyncGenerators.es2018.2.ts(13,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. + Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. The types returned by 'next(...)' are incompatible between these types. Type 'Promise>' is not assignable to type 'Promise>'. Type 'IteratorResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. Type 'string' is not assignable to type 'number'. -types.asyncGenerators.es2018.2.ts(16,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. - Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. +types.asyncGenerators.es2018.2.ts(16,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. + Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. The types returned by 'next(...)' are incompatible between these types. Type 'Promise>' is not assignable to type 'Promise>'. Type 'IteratorResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. Type 'string' is not assignable to type 'number'. -types.asyncGenerators.es2018.2.ts(19,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. - Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. +types.asyncGenerators.es2018.2.ts(19,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. + Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. The types returned by '[Symbol.asyncIterator]().next(...)' are incompatible between these types. Type 'Promise>' is not assignable to type 'Promise>'. Type 'IteratorResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. Type 'string' is not assignable to type 'number'. -types.asyncGenerators.es2018.2.ts(22,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. - Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. +types.asyncGenerators.es2018.2.ts(22,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. + Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. The types returned by '[Symbol.asyncIterator]().next(...)' are incompatible between these types. Type 'Promise>' is not assignable to type 'Promise>'. Type 'IteratorResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. Type 'string' is not assignable to type 'number'. -types.asyncGenerators.es2018.2.ts(25,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. - Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. +types.asyncGenerators.es2018.2.ts(25,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. + Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. The types returned by '[Symbol.asyncIterator]().next(...)' are incompatible between these types. Type 'Promise>' is not assignable to type 'Promise>'. Type 'IteratorResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. Type 'string' is not assignable to type 'number'. -types.asyncGenerators.es2018.2.ts(28,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. - Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. +types.asyncGenerators.es2018.2.ts(28,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. + Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. The types returned by 'next(...)' are incompatible between these types. Type 'Promise>' is not assignable to type 'Promise>'. Type 'IteratorResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. Type 'string' is not assignable to type 'number'. -types.asyncGenerators.es2018.2.ts(31,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. - Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. +types.asyncGenerators.es2018.2.ts(31,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. + Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. The types returned by 'next(...)' are incompatible between these types. Type 'Promise>' is not assignable to type 'Promise>'. Type 'IteratorResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. Type 'string' is not assignable to type 'number'. -types.asyncGenerators.es2018.2.ts(34,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. - Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. +types.asyncGenerators.es2018.2.ts(34,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. + Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. The types returned by 'next(...)' are incompatible between these types. Type 'Promise>' is not assignable to type 'Promise>'. Type 'IteratorResult' is not assignable to type 'IteratorResult'. @@ -81,9 +81,9 @@ types.asyncGenerators.es2018.2.ts(53,12): error TS2322: Type 'string' is not ass types.asyncGenerators.es2018.2.ts(56,11): error TS2322: Type 'string' is not assignable to type 'number'. types.asyncGenerators.es2018.2.ts(59,12): error TS2322: Type 'string' is not assignable to type 'number'. types.asyncGenerators.es2018.2.ts(62,12): error TS2322: Type 'string' is not assignable to type 'number'. -types.asyncGenerators.es2018.2.ts(64,42): error TS2741: Property '[Symbol.iterator]' is missing in type 'AsyncGenerator' but required in type 'IterableIterator'. +types.asyncGenerators.es2018.2.ts(64,42): error TS2741: Property '[Symbol.iterator]' is missing in type 'AsyncGenerator' but required in type 'IterableIterator'. types.asyncGenerators.es2018.2.ts(67,42): error TS2741: Property '[Symbol.iterator]' is missing in type 'AsyncGenerator' but required in type 'Iterable'. -types.asyncGenerators.es2018.2.ts(70,42): error TS2322: Type 'AsyncGenerator' is not assignable to type 'Iterator'. +types.asyncGenerators.es2018.2.ts(70,42): error TS2322: Type 'AsyncGenerator' is not assignable to type 'Iterator'. The types returned by 'next(...)' are incompatible between these types. Type 'Promise>' is not assignable to type 'IteratorResult'. types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[Symbol.asyncIterator]()' method that returns an async iterator. @@ -106,8 +106,8 @@ types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[ } const assignability1: () => AsyncIterableIterator = async function * () { ~~~~~~~~~~~~~~ -!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. -!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. +!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. !!! error TS2322: The types returned by 'next(...)' are incompatible between these types. !!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. !!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. @@ -118,8 +118,8 @@ types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[ }; const assignability2: () => AsyncIterableIterator = async function * () { ~~~~~~~~~~~~~~ -!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. -!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. +!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. !!! error TS2322: The types returned by 'next(...)' are incompatible between these types. !!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. !!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. @@ -130,8 +130,8 @@ types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[ }; const assignability3: () => AsyncIterableIterator = async function * () { ~~~~~~~~~~~~~~ -!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. -!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. +!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. !!! error TS2322: The types returned by 'next(...)' are incompatible between these types. !!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. !!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. @@ -142,8 +142,8 @@ types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[ }; const assignability4: () => AsyncIterable = async function * () { ~~~~~~~~~~~~~~ -!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. -!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. +!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. !!! error TS2322: The types returned by '[Symbol.asyncIterator]().next(...)' are incompatible between these types. !!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. !!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. @@ -154,8 +154,8 @@ types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[ }; const assignability5: () => AsyncIterable = async function * () { ~~~~~~~~~~~~~~ -!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. -!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. +!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. !!! error TS2322: The types returned by '[Symbol.asyncIterator]().next(...)' are incompatible between these types. !!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. !!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. @@ -166,8 +166,8 @@ types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[ }; const assignability6: () => AsyncIterable = async function * () { ~~~~~~~~~~~~~~ -!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. -!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. +!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. !!! error TS2322: The types returned by '[Symbol.asyncIterator]().next(...)' are incompatible between these types. !!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. !!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. @@ -178,8 +178,8 @@ types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[ }; const assignability7: () => AsyncIterator = async function * () { ~~~~~~~~~~~~~~ -!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. -!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. +!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. !!! error TS2322: The types returned by 'next(...)' are incompatible between these types. !!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. !!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. @@ -190,8 +190,8 @@ types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[ }; const assignability8: () => AsyncIterator = async function * () { ~~~~~~~~~~~~~~ -!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. -!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. +!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. !!! error TS2322: The types returned by 'next(...)' are incompatible between these types. !!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. !!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. @@ -202,8 +202,8 @@ types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[ }; const assignability9: () => AsyncIterator = async function * () { ~~~~~~~~~~~~~~ -!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. -!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. +!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. !!! error TS2322: The types returned by 'next(...)' are incompatible between these types. !!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. !!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. @@ -259,7 +259,7 @@ types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[ } async function * explicitReturnType10(): IterableIterator { ~~~~~~~~~~~~~~~~~~~~~~~~ -!!! error TS2741: Property '[Symbol.iterator]' is missing in type 'AsyncGenerator' but required in type 'IterableIterator'. +!!! error TS2741: Property '[Symbol.iterator]' is missing in type 'AsyncGenerator' but required in type 'IterableIterator'. !!! related TS2728 lib.es2015.iterable.d.ts:--:--: '[Symbol.iterator]' is declared here. yield 1; } @@ -271,7 +271,7 @@ types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[ } async function * explicitReturnType12(): Iterator { ~~~~~~~~~~~~~~~~ -!!! error TS2322: Type 'AsyncGenerator' is not assignable to type 'Iterator'. +!!! error TS2322: Type 'AsyncGenerator' is not assignable to type 'Iterator'. !!! error TS2322: The types returned by 'next(...)' are incompatible between these types. !!! error TS2322: Type 'Promise>' is not assignable to type 'IteratorResult'. yield 1; diff --git a/tests/baselines/reference/types.asyncGenerators.es2018.2.types b/tests/baselines/reference/types.asyncGenerators.es2018.2.types index 41275777ea6..1f65af986e9 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.2.types +++ b/tests/baselines/reference/types.asyncGenerators.es2018.2.types @@ -48,12 +48,12 @@ async function * inferReturnType3() { const assignability1: () => AsyncIterableIterator = async function * () { >assignability1 : () => AsyncIterableIterator > : ^^^^^^ ->async function * () { yield "a";} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield "a";} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield "a"; ->yield "a" : undefined -> : ^^^^^^^^^ +>yield "a" : any +> : ^^^ >"a" : "a" > : ^^^ @@ -61,8 +61,8 @@ const assignability1: () => AsyncIterableIterator = async function * () const assignability2: () => AsyncIterableIterator = async function * () { >assignability2 : () => AsyncIterableIterator > : ^^^^^^ ->async function * () { yield* ["a", "b"];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* ["a", "b"];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* ["a", "b"]; >yield* ["a", "b"] : any @@ -78,20 +78,20 @@ const assignability2: () => AsyncIterableIterator = async function * () const assignability3: () => AsyncIterableIterator = async function * () { >assignability3 : () => AsyncIterableIterator > : ^^^^^^ ->async function * () { yield* (async function * () { yield "a"; })();} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* (async function * () { yield "a"; })();} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* (async function * () { yield "a"; })(); >yield* (async function * () { yield "a"; })() : void > : ^^^^ ->(async function * () { yield "a"; })() : AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(async function * () { yield "a"; }) : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { yield "a"; } : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->yield "a" : undefined -> : ^^^^^^^^^ +>(async function * () { yield "a"; })() : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(async function * () { yield "a"; }) : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield "a"; } : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield "a" : any +> : ^^^ >"a" : "a" > : ^^^ @@ -99,12 +99,12 @@ const assignability3: () => AsyncIterableIterator = async function * () const assignability4: () => AsyncIterable = async function * () { >assignability4 : () => AsyncIterable > : ^^^^^^ ->async function * () { yield "a";} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield "a";} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield "a"; ->yield "a" : undefined -> : ^^^^^^^^^ +>yield "a" : any +> : ^^^ >"a" : "a" > : ^^^ @@ -112,8 +112,8 @@ const assignability4: () => AsyncIterable = async function * () { const assignability5: () => AsyncIterable = async function * () { >assignability5 : () => AsyncIterable > : ^^^^^^ ->async function * () { yield* ["a", "b"];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* ["a", "b"];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* ["a", "b"]; >yield* ["a", "b"] : any @@ -129,20 +129,20 @@ const assignability5: () => AsyncIterable = async function * () { const assignability6: () => AsyncIterable = async function * () { >assignability6 : () => AsyncIterable > : ^^^^^^ ->async function * () { yield* (async function * () { yield "a"; })();} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* (async function * () { yield "a"; })();} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* (async function * () { yield "a"; })(); >yield* (async function * () { yield "a"; })() : void > : ^^^^ ->(async function * () { yield "a"; })() : AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(async function * () { yield "a"; }) : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { yield "a"; } : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->yield "a" : undefined -> : ^^^^^^^^^ +>(async function * () { yield "a"; })() : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(async function * () { yield "a"; }) : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield "a"; } : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield "a" : any +> : ^^^ >"a" : "a" > : ^^^ @@ -150,12 +150,12 @@ const assignability6: () => AsyncIterable = async function * () { const assignability7: () => AsyncIterator = async function * () { >assignability7 : () => AsyncIterator > : ^^^^^^ ->async function * () { yield "a";} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield "a";} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield "a"; ->yield "a" : undefined -> : ^^^^^^^^^ +>yield "a" : any +> : ^^^ >"a" : "a" > : ^^^ @@ -163,8 +163,8 @@ const assignability7: () => AsyncIterator = async function * () { const assignability8: () => AsyncIterator = async function * () { >assignability8 : () => AsyncIterator > : ^^^^^^ ->async function * () { yield* ["a", "b"];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* ["a", "b"];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* ["a", "b"]; >yield* ["a", "b"] : any @@ -180,20 +180,20 @@ const assignability8: () => AsyncIterator = async function * () { const assignability9: () => AsyncIterator = async function * () { >assignability9 : () => AsyncIterator > : ^^^^^^ ->async function * () { yield* (async function * () { yield "a"; })();} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* (async function * () { yield "a"; })();} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* (async function * () { yield "a"; })(); >yield* (async function * () { yield "a"; })() : void > : ^^^^ ->(async function * () { yield "a"; })() : AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(async function * () { yield "a"; }) : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { yield "a"; } : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->yield "a" : undefined -> : ^^^^^^^^^ +>(async function * () { yield "a"; })() : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(async function * () { yield "a"; }) : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield "a"; } : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield "a" : any +> : ^^^ >"a" : "a" > : ^^^ @@ -203,8 +203,8 @@ async function * explicitReturnType1(): AsyncIterableIterator { > : ^^^^^^ yield "a"; ->yield "a" : undefined -> : ^^^^^^^^^ +>yield "a" : any +> : ^^^ >"a" : "a" > : ^^^ } @@ -229,14 +229,14 @@ async function * explicitReturnType3(): AsyncIterableIterator { yield* (async function * () { yield "a"; })(); >yield* (async function * () { yield "a"; })() : void > : ^^^^ ->(async function * () { yield "a"; })() : AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(async function * () { yield "a"; }) : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { yield "a"; } : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->yield "a" : undefined -> : ^^^^^^^^^ +>(async function * () { yield "a"; })() : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(async function * () { yield "a"; }) : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield "a"; } : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield "a" : any +> : ^^^ >"a" : "a" > : ^^^ } @@ -245,8 +245,8 @@ async function * explicitReturnType4(): AsyncIterable { > : ^^^^^^ yield "a"; ->yield "a" : undefined -> : ^^^^^^^^^ +>yield "a" : any +> : ^^^ >"a" : "a" > : ^^^ } @@ -271,14 +271,14 @@ async function * explicitReturnType6(): AsyncIterable { yield* (async function * () { yield "a"; })(); >yield* (async function * () { yield "a"; })() : void > : ^^^^ ->(async function * () { yield "a"; })() : AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(async function * () { yield "a"; }) : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { yield "a"; } : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->yield "a" : undefined -> : ^^^^^^^^^ +>(async function * () { yield "a"; })() : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(async function * () { yield "a"; }) : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield "a"; } : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield "a" : any +> : ^^^ >"a" : "a" > : ^^^ } @@ -287,8 +287,8 @@ async function * explicitReturnType7(): AsyncIterator { > : ^^^^^^ yield "a"; ->yield "a" : undefined -> : ^^^^^^^^^ +>yield "a" : any +> : ^^^ >"a" : "a" > : ^^^ } @@ -313,14 +313,14 @@ async function * explicitReturnType9(): AsyncIterator { yield* (async function * () { yield "a"; })(); >yield* (async function * () { yield "a"; })() : void > : ^^^^ ->(async function * () { yield "a"; })() : AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(async function * () { yield "a"; }) : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { yield "a"; } : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->yield "a" : undefined -> : ^^^^^^^^^ +>(async function * () { yield "a"; })() : AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(async function * () { yield "a"; }) : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield "a"; } : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>yield "a" : any +> : ^^^ >"a" : "a" > : ^^^ } @@ -329,8 +329,8 @@ async function * explicitReturnType10(): IterableIterator { > : ^^^^^^ yield 1; ->yield 1 : undefined -> : ^^^^^^^^^ +>yield 1 : any +> : ^^^ >1 : 1 > : ^ } @@ -349,8 +349,8 @@ async function * explicitReturnType12(): Iterator { > : ^^^^^^ yield 1; ->yield 1 : undefined -> : ^^^^^^^^^ +>yield 1 : any +> : ^^^ >1 : 1 > : ^ } diff --git a/tests/baselines/reference/types.forAwait.es2018.2.errors.txt b/tests/baselines/reference/types.forAwait.es2018.2.errors.txt index 77422b5d728..b0635928d48 100644 --- a/tests/baselines/reference/types.forAwait.es2018.2.errors.txt +++ b/tests/baselines/reference/types.forAwait.es2018.2.errors.txt @@ -31,10 +31,12 @@ types.forAwait.es2018.2.ts(16,15): error TS2488: Type 'AsyncIterable' mu for (const x of asyncIterable) { ~~~~~~~~~~~~~ !!! error TS2488: Type 'AsyncIterable' must have a '[Symbol.iterator]()' method that returns an iterator. +!!! related TS2773 types.forAwait.es2018.2.ts:14:21: Did you forget to use 'await'? } for (y of asyncIterable) { ~~~~~~~~~~~~~ !!! error TS2488: Type 'AsyncIterable' must have a '[Symbol.iterator]()' method that returns an iterator. +!!! related TS2773 types.forAwait.es2018.2.ts:16:15: Did you forget to use 'await'? } } \ No newline at end of file diff --git a/tests/baselines/reference/uniqueSymbols.types b/tests/baselines/reference/uniqueSymbols.types index 1ee2fbcaff4..c9aa5b79522 100644 --- a/tests/baselines/reference/uniqueSymbols.types +++ b/tests/baselines/reference/uniqueSymbols.types @@ -195,8 +195,7 @@ function* genFuncYieldConstCallWithTypeQuery(): IterableIterator : ^^^^^^ >constCall : unique symbol > : ^^^^^^^^^^^^^ ->yield constCall : undefined -> : ^^^^^^^^^ +>yield constCall : any >constCall : unique symbol > : ^^^^^^^^^^^^^ @@ -1304,8 +1303,8 @@ interface Context { const o3: Context = { >o3 : Context > : ^^^^^^^ ->{ method1() { return s; // return type should not widen due to contextual type }, async method2() { return s; // return type should not widen due to contextual type }, async * method3() { yield s; // yield type should not widen due to contextual type }, * method4() { yield s; // yield type should not widen due to contextual type }, method5(p = s) { // parameter should not widen due to contextual type return p; },} : { method1(): unique symbol; method2(): Promise; method3(): AsyncGenerator; method4(): Generator; method5(p?: unique symbol): unique symbol; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ method1() { return s; // return type should not widen due to contextual type }, async method2() { return s; // return type should not widen due to contextual type }, async * method3() { yield s; // yield type should not widen due to contextual type }, * method4() { yield s; // yield type should not widen due to contextual type }, method5(p = s) { // parameter should not widen due to contextual type return p; },} : { method1(): unique symbol; method2(): Promise; method3(): AsyncGenerator; method4(): Generator; method5(p?: unique symbol): unique symbol; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method1() { >method1 : () => unique symbol @@ -1326,23 +1325,21 @@ const o3: Context = { }, async * method3() { ->method3 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>method3 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield s; // yield type should not widen due to contextual type ->yield s : undefined -> : ^^^^^^^^^ +>yield s : any >s : unique symbol > : ^^^^^^^^^^^^^ }, * method4() { ->method4 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>method4 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield s; // yield type should not widen due to contextual type ->yield s : undefined -> : ^^^^^^^^^ +>yield s : any >s : unique symbol > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/uniqueSymbolsDeclarations.types b/tests/baselines/reference/uniqueSymbolsDeclarations.types index c8bd68e1b3b..fadf33c1b43 100644 --- a/tests/baselines/reference/uniqueSymbolsDeclarations.types +++ b/tests/baselines/reference/uniqueSymbolsDeclarations.types @@ -186,8 +186,7 @@ function* genFuncYieldConstCallWithTypeQuery(): IterableIterator : ^^^^^^ >constCall : unique symbol > : ^^^^^^^^^^^^^ ->yield constCall : undefined -> : ^^^^^^^^^ +>yield constCall : any >constCall : unique symbol > : ^^^^^^^^^^^^^ @@ -1295,8 +1294,8 @@ interface Context { const o4: Context = { >o4 : Context > : ^^^^^^^ ->{ method1() { return s; // return type should not widen due to contextual type }, async method2() { return s; // return type should not widen due to contextual type }, async * method3() { yield s; // yield type should not widen due to contextual type }, * method4() { yield s; // yield type should not widen due to contextual type }, method5(p = s) { // parameter should not widen due to contextual type return p; }} : { method1(): unique symbol; method2(): Promise; method3(): AsyncGenerator; method4(): Generator; method5(p?: unique symbol): unique symbol; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ method1() { return s; // return type should not widen due to contextual type }, async method2() { return s; // return type should not widen due to contextual type }, async * method3() { yield s; // yield type should not widen due to contextual type }, * method4() { yield s; // yield type should not widen due to contextual type }, method5(p = s) { // parameter should not widen due to contextual type return p; }} : { method1(): unique symbol; method2(): Promise; method3(): AsyncGenerator; method4(): Generator; method5(p?: unique symbol): unique symbol; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ method1() { >method1 : () => unique symbol @@ -1317,23 +1316,21 @@ const o4: Context = { }, async * method3() { ->method3 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>method3 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield s; // yield type should not widen due to contextual type ->yield s : undefined -> : ^^^^^^^^^ +>yield s : any >s : unique symbol > : ^^^^^^^^^^^^^ }, * method4() { ->method4 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>method4 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield s; // yield type should not widen due to contextual type ->yield s : undefined -> : ^^^^^^^^^ +>yield s : any >s : unique symbol > : ^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/yieldExpression1.types b/tests/baselines/reference/yieldExpression1.types index 38715c1dd92..1544635e065 100644 --- a/tests/baselines/reference/yieldExpression1.types +++ b/tests/baselines/reference/yieldExpression1.types @@ -21,12 +21,12 @@ function* b(): IterableIterator { > : ^^^^^^ yield; ->yield : undefined -> : ^^^^^^^^^ +>yield : any +> : ^^^ yield 0; ->yield 0 : undefined -> : ^^^^^^^^^ +>yield 0 : any +> : ^^^ >0 : 0 > : ^ } diff --git a/tests/baselines/reference/yieldExpressionInnerCommentEmit.types b/tests/baselines/reference/yieldExpressionInnerCommentEmit.types index f6ea97325fd..bba612bd5c7 100644 --- a/tests/baselines/reference/yieldExpressionInnerCommentEmit.types +++ b/tests/baselines/reference/yieldExpressionInnerCommentEmit.types @@ -2,8 +2,8 @@ === yieldExpressionInnerCommentEmit.ts === function * foo2() { ->foo2 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo2 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /*comment1*/ yield 1; >yield 1 : any diff --git a/tests/cases/compiler/customAsyncIterator.ts b/tests/cases/compiler/customAsyncIterator.ts index 3f80b4ef2a9..c5c6c5f9cc5 100644 --- a/tests/cases/compiler/customAsyncIterator.ts +++ b/tests/cases/compiler/customAsyncIterator.ts @@ -2,7 +2,7 @@ // @useDefineForClassFields: false // GH: https://github.com/microsoft/TypeScript/issues/33239 -class ConstantIterator implements AsyncIterator { +class ConstantIterator implements AsyncIterator { constructor(private constant: T) { } async next(value?: T): Promise> { diff --git a/tests/cases/compiler/discriminateWithOptionalProperty2.ts b/tests/cases/compiler/discriminateWithOptionalProperty2.ts index d740bcd7ce7..a8b36cb4974 100644 --- a/tests/cases/compiler/discriminateWithOptionalProperty2.ts +++ b/tests/cases/compiler/discriminateWithOptionalProperty2.ts @@ -8,7 +8,7 @@ type PromiseOrValue = Promise | T; function mapAsyncIterable( - iterable: AsyncGenerator | AsyncIterable, + iterable: AsyncGenerator | AsyncIterable, callback: (value: T) => PromiseOrValue, ): AsyncGenerator { const iterator = iterable[Symbol.asyncIterator](); diff --git a/tests/cases/compiler/isolatedDeclarationsStrictBuiltinIteratorReturn.ts b/tests/cases/compiler/isolatedDeclarationsStrictBuiltinIteratorReturn.ts new file mode 100644 index 00000000000..8da68083d48 --- /dev/null +++ b/tests/cases/compiler/isolatedDeclarationsStrictBuiltinIteratorReturn.ts @@ -0,0 +1,53 @@ +// @isolatedDeclarations: * +// @strictBuiltinIteratorReturn: * +// @declaration: true +// @target: esnext +// @noTypesAndSymbols: true + +declare let x1: Iterable; +declare let x2: Iterable; +declare let x3: Iterable; +declare let x4: Iterable; +declare let x5: Iterable; +declare let x6: Iterable; +declare let x7: Iterable; + +declare let x8: IterableIterator; +declare let x9: IterableIterator; +declare let x10: IterableIterator; +declare let x11: IterableIterator; +declare let x12: IterableIterator; +declare let x13: IterableIterator; +declare let x14: IterableIterator; + +declare function f1(): Iterable; +declare function f2(): Iterable; +declare function f3(): Iterable; +declare function f4(): Iterable; +declare function f5(): Iterable; +declare function f6(): Iterable; +declare function f7(): Iterable; + +declare function f8(): IterableIterator; +declare function f9(): IterableIterator; +declare function f10(): IterableIterator; +declare function f11(): IterableIterator; +declare function f12(): IterableIterator; +declare function f13(): IterableIterator; +declare function f14(): IterableIterator; + +const a1 = (): Iterable => null!; +const a2 = (): Iterable => null!; +const a3 = (): Iterable => null!; +const a4 = (): Iterable => null!; +const a5 = (): Iterable => null!; +const a6 = (): Iterable => null!; +const a7 = (): Iterable => null!; + +const a8 = (): IterableIterator => null!; +const a9 = (): IterableIterator => null!; +const a10 = (): IterableIterator => null!; +const a11 = (): IterableIterator => null!; +const a12 = (): IterableIterator => null!; +const a13 = (): IterableIterator => null!; +const a14 = (): IterableIterator => null!; \ No newline at end of file diff --git a/tests/cases/compiler/iterableTReturnTNext.ts b/tests/cases/compiler/iterableTReturnTNext.ts new file mode 100644 index 00000000000..9e24354b88d --- /dev/null +++ b/tests/cases/compiler/iterableTReturnTNext.ts @@ -0,0 +1,50 @@ +// @target: esnext +// @strict: true +// @strictBuiltinIteratorReturn: * + +declare const map: Map; +declare const set: Set; + +// based on: +// - https://github.com/apollographql/apollo-client/blob/8740f198805a99e01136617c4055d611b92cc231/src/react/hooks/__tests__/useMutation.test.tsx#L2328 +// - https://github.com/continuedev/continue/blob/046bca088a833f8b3620412ff64e4b6f41fbb959/extensions/vscode/src/autocomplete/lsp.ts#L60 +const r1: number = map.values().next().value; // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` + +// based on: https://github.com/gcanti/fp-ts/blob/89a772e95e414acee679f42f56527606f7b61f30/src/Map.ts#L246 +interface Next { + readonly done?: boolean + readonly value: A +} +const r2: Next = map.values().next(); // error when strictBuiltinIteratorReturn is true as result is potentially `{ done: true, value: undefined }` + +// based on: https://github.com/graphql/graphql-js/blob/e15c3ec4dc21d9fd1df34fe9798cadf3bf02c6ea/src/execution/__tests__/mapAsyncIterable-test.ts#L175 +async function* source() { yield 1; yield 2; yield 3; } +const doubles = source(); +doubles.return(); + +// based on: https://github.com/backstage/backstage/blob/85d9346ef11c1c20e4405102b4f5d93afb1292c1/packages/core-app-api/src/routing/RouteTracker.tsx#L62 +const r3: number | undefined = set.values().next().value; + +// based on: https://github.com/microsoft/TypeScript/blob/15f67e0b482faf9f6a3ab9965f3c11196bf3e99b/src/harness/compilerImpl.ts#L77 +class MyMap implements Map { + declare private _keys: string[]; + declare private _values: number[]; + declare size: number; + declare [Symbol.toStringTag]: string; + + clear(): void { } + delete(key: string): boolean { return false; } + forEach(callbackfn: (value: number, key: string, map: Map) => void, thisArg?: any): void { } + get(key: string): number | undefined { return undefined; } + has(key: string): boolean { return false; } + set(key: string, value: number): this { return this; } + entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + keys(): IterableIterator { throw new Error("Method not implemented."); } + + [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + + // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` + * values() { + yield* this._values; + } +} diff --git a/tests/cases/compiler/jsFileCompilationWithMapFileAsJsWithOutDir.ts b/tests/cases/compiler/jsFileCompilationWithMapFileAsJsWithOutDir.ts index 9e39ae274b4..0f860626676 100644 --- a/tests/cases/compiler/jsFileCompilationWithMapFileAsJsWithOutDir.ts +++ b/tests/cases/compiler/jsFileCompilationWithMapFileAsJsWithOutDir.ts @@ -1,4 +1,4 @@ -// @allowJs: true,map +// @allowJs: true // @sourcemap: true // @outdir: out diff --git a/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck11.ts b/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck11.ts index e77ec3d911c..14d90f47a86 100644 --- a/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck11.ts +++ b/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck11.ts @@ -1,4 +1,4 @@ //@target: ES6 -function* g(): IterableIterator { +function* g(): IterableIterator { return 0; } \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck12.ts b/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck12.ts index 6f602a23981..fa45b8c39ba 100644 --- a/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck12.ts +++ b/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck12.ts @@ -1,4 +1,4 @@ //@target: ES6 -function* g(): IterableIterator { +function* g(): IterableIterator { return ""; } \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck13.ts b/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck13.ts index a21d9e8ab63..d9cce1a5eaf 100644 --- a/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck13.ts +++ b/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck13.ts @@ -1,5 +1,5 @@ //@target: ES6 -function* g(): IterableIterator { +function* g(): IterableIterator { yield 0; return ""; } \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck26.ts b/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck26.ts index 334d21e3833..f37e13eddd9 100644 --- a/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck26.ts +++ b/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck26.ts @@ -1,5 +1,5 @@ //@target: ES6 -function* g(): IterableIterator<(x: string) => number> { +function* g(): IterableIterator<(x: string) => number, (x: string) => number> { yield x => x.length; yield *[x => x.length]; return x => x.length; diff --git a/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck62.ts b/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck62.ts index 2f30fe9d902..ee85d450653 100644 --- a/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck62.ts +++ b/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck62.ts @@ -6,7 +6,7 @@ export interface StrategicState { lastStrategyApplied?: string; } -export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { +export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { return function*(state) { for (const next of gen(state)) { if (next) { @@ -18,7 +18,7 @@ export function strategy(stratName: string, gen: (a: T } export interface Strategy { - (a: T): IterableIterator; + (a: T): IterableIterator; } export interface State extends StrategicState { @@ -26,7 +26,7 @@ export interface State extends StrategicState { } export const Nothing1: Strategy = strategy("Nothing", function*(state: State) { - return state; + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); export const Nothing2: Strategy = strategy("Nothing", function*(state: State) { @@ -35,6 +35,6 @@ export const Nothing2: Strategy = strategy("Nothing", function*(state: St export const Nothing3: Strategy = strategy("Nothing", function* (state: State) { yield ; - return state; + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); \ No newline at end of file diff --git a/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck63.ts b/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck63.ts index 58411e409b8..e50c40265ae 100644 --- a/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck63.ts +++ b/tests/cases/conformance/es6/yieldExpressions/generatorTypeCheck63.ts @@ -6,7 +6,7 @@ export interface StrategicState { lastStrategyApplied?: string; } -export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { +export function strategy(stratName: string, gen: (a: T) => IterableIterator): (a: T) => IterableIterator { return function*(state) { for (const next of gen(state)) { if (next) { @@ -18,7 +18,7 @@ export function strategy(stratName: string, gen: (a: T } export interface Strategy { - (a: T): IterableIterator; + (a: T): IterableIterator; } export interface State extends StrategicState { @@ -26,18 +26,18 @@ export interface State extends StrategicState { } export const Nothing: Strategy = strategy("Nothing", function* (state: State) { - yield 1; - return state; + yield 1; // number isn't a `State`, so this should error. + return state; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); export const Nothing1: Strategy = strategy("Nothing", function* (state: State) { }); export const Nothing2: Strategy = strategy("Nothing", function* (state: State) { - return 1; + return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); export const Nothing3: Strategy = strategy("Nothing", function* (state: State) { yield state; - return 1; + return 1; // `return`/`TReturn` isn't supported by `strategy`, so this should error. }); \ No newline at end of file diff --git a/tests/cases/conformance/generators/generatorReturnTypeFallback.3.ts b/tests/cases/conformance/generators/generatorReturnTypeFallback.3.ts index 388d8bee7ee..da84940743d 100644 --- a/tests/cases/conformance/generators/generatorReturnTypeFallback.3.ts +++ b/tests/cases/conformance/generators/generatorReturnTypeFallback.3.ts @@ -3,8 +3,6 @@ // @noemit: true // @strict: true -// Do not allow generators to fallback to IterableIterator while in strictNullChecks mode if they need a type for the sent value. -// NOTE: In non-strictNullChecks mode, `undefined` (the default sent value) is assignable to everything. function* f() { const x: string = yield 1; } \ No newline at end of file diff --git a/tests/cases/conformance/types/typeAliases/builtinIteratorReturn.ts b/tests/cases/conformance/types/typeAliases/builtinIteratorReturn.ts new file mode 100644 index 00000000000..cc1852f5af8 --- /dev/null +++ b/tests/cases/conformance/types/typeAliases/builtinIteratorReturn.ts @@ -0,0 +1,32 @@ +// @target: esnext +// @noEmit: true +// @strictBuiltinIteratorReturn: * + +declare const array: number[]; +declare const map: Map; +declare const set: Set; + +const i0 = array[Symbol.iterator](); +const i1 = array.values(); +const i2 = array.keys(); +const i3 = array.entries(); +for (const x of array); + +const i4 = map[Symbol.iterator](); +const i5 = map.values(); +const i6 = map.keys(); +const i7 = map.entries(); +for (const x of map); + +const i8 = set[Symbol.iterator](); +const i9 = set.values(); +const i10 = set.keys(); +const i11 = set.entries(); +for (const x of set); + +declare const i12: IterableIterator; +declare const i13: IterableIterator; +declare const i14: IterableIterator; +declare const i15: Iterable; +declare const i16: Iterable; +declare const i17: Iterable; diff --git a/tests/cases/fourslash/codeFixAddMissingProperties22.ts b/tests/cases/fourslash/codeFixAddMissingProperties22.ts index 5bd5ec0705b..7b54f5ef593 100644 --- a/tests/cases/fourslash/codeFixAddMissingProperties22.ts +++ b/tests/cases/fourslash/codeFixAddMissingProperties22.ts @@ -8,7 +8,7 @@ verify.codeFix({ description: ts.Diagnostics.Add_missing_properties.message, newFileContent: `const x: Iterable = { - [Symbol.iterator]: function(): Iterator { + [Symbol.iterator]: function(): Iterator { throw new Error("Function not implemented."); } }`, From 7f978c7ffea3ef17ab198674a4b0b5150e083c42 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Fri, 19 Jul 2024 14:53:18 -0400 Subject: [PATCH 38/89] Use tuple name inference for `Iterator.next` et al (#59360) --- src/lib/es2015.generator.d.ts | 2 +- src/lib/es2015.iterable.d.ts | 2 +- src/lib/es2018.asyncgenerator.d.ts | 2 +- src/lib/es2018.asynciterable.d.ts | 2 +- .../dependentDestructuredVariables.types | 8 +- .../destructuringAssignmentWithDefault2.types | 16 +- ...y2(exactoptionalpropertytypes=false).types | 8 +- ...ty2(exactoptionalpropertytypes=true).types | 8 +- ...t(strictbuiltiniteratorreturn=false).types | 24 +- ...xt(strictbuiltiniteratorreturn=true).types | 24 +- .../reference/privateNameMethodAsync.types | 16 +- .../privateNameStaticMethodAsync.types | 16 +- .../signatureHelpIteratorNext.baseline | 1584 +++++++++++++++++ .../fourslash/signatureHelpIteratorNext.ts | 24 + 14 files changed, 1672 insertions(+), 64 deletions(-) create mode 100644 tests/baselines/reference/signatureHelpIteratorNext.baseline create mode 100644 tests/cases/fourslash/signatureHelpIteratorNext.ts diff --git a/src/lib/es2015.generator.d.ts b/src/lib/es2015.generator.d.ts index 064260fc470..ac2d833b8d1 100644 --- a/src/lib/es2015.generator.d.ts +++ b/src/lib/es2015.generator.d.ts @@ -2,7 +2,7 @@ interface Generator extends Iterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. - next(...args: [] | [TNext]): IteratorResult; + next(...[value]: [] | [TNext]): IteratorResult; return(value: TReturn): IteratorResult; throw(e: any): IteratorResult; [Symbol.iterator](): Generator; diff --git a/src/lib/es2015.iterable.d.ts b/src/lib/es2015.iterable.d.ts index 9ea54b67f7c..98cf906c7db 100644 --- a/src/lib/es2015.iterable.d.ts +++ b/src/lib/es2015.iterable.d.ts @@ -22,7 +22,7 @@ type IteratorResult = IteratorYieldResult | IteratorReturnR interface Iterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. - next(...args: [] | [TNext]): IteratorResult; + next(...[value]: [] | [TNext]): IteratorResult; return?(value?: TReturn): IteratorResult; throw?(e?: any): IteratorResult; } diff --git a/src/lib/es2018.asyncgenerator.d.ts b/src/lib/es2018.asyncgenerator.d.ts index 8ce3ba23a4d..15385ddabfc 100644 --- a/src/lib/es2018.asyncgenerator.d.ts +++ b/src/lib/es2018.asyncgenerator.d.ts @@ -2,7 +2,7 @@ interface AsyncGenerator extends AsyncIterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. - next(...args: [] | [TNext]): Promise>; + next(...[value]: [] | [TNext]): Promise>; return(value: TReturn | PromiseLike): Promise>; throw(e: any): Promise>; [Symbol.asyncIterator](): AsyncGenerator; diff --git a/src/lib/es2018.asynciterable.d.ts b/src/lib/es2018.asynciterable.d.ts index 5b868867f43..4303763db53 100644 --- a/src/lib/es2018.asynciterable.d.ts +++ b/src/lib/es2018.asynciterable.d.ts @@ -11,7 +11,7 @@ interface SymbolConstructor { interface AsyncIterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. - next(...args: [] | [TNext]): Promise>; + next(...[value]: [] | [TNext]): Promise>; return?(value?: TReturn | PromiseLike): Promise>; throw?(e?: any): Promise>; } diff --git a/tests/baselines/reference/dependentDestructuredVariables.types b/tests/baselines/reference/dependentDestructuredVariables.types index 287dfb00425..290bb2d3973 100644 --- a/tests/baselines/reference/dependentDestructuredVariables.types +++ b/tests/baselines/reference/dependentDestructuredVariables.types @@ -799,12 +799,12 @@ const { value, done } = it.next(); > : ^^^^^^^^^^^^^^^^^^^ >it.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->it.next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>it.next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >it : Iterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ if (!done) { >!done : boolean diff --git a/tests/baselines/reference/destructuringAssignmentWithDefault2.types b/tests/baselines/reference/destructuringAssignmentWithDefault2.types index b3a2c811205..0a4357ab349 100644 --- a/tests/baselines/reference/destructuringAssignmentWithDefault2.types +++ b/tests/baselines/reference/destructuringAssignmentWithDefault2.types @@ -173,12 +173,12 @@ let value; > : ^^^ >r.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->r.next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>r.next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >r : Iterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ({ done: done = false, value } = r.next()); >({ done: done = false, value } = r.next()) : IteratorResult @@ -199,10 +199,10 @@ let value; > : ^^^ >r.next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->r.next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>r.next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >r : Iterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types index c378f821990..ef7c8c5ae73 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=false).types @@ -141,12 +141,12 @@ function mapAsyncIterable( > : ^^^^^^^^^^^^^^^^^^^^ >iterator.next() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.next : (...[value]: [] | [undefined]) => Promise> +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [undefined]) => Promise> +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ }, async return(): Promise> { diff --git a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types index c378f821990..ef7c8c5ae73 100644 --- a/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types +++ b/tests/baselines/reference/discriminateWithOptionalProperty2(exactoptionalpropertytypes=true).types @@ -141,12 +141,12 @@ function mapAsyncIterable( > : ^^^^^^^^^^^^^^^^^^^^ >iterator.next() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.next : (...[value]: [] | [undefined]) => Promise> +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >iterator : AsyncIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [undefined]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [undefined]) => Promise> +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ }, async return(): Promise> { diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types index 11831b7d4eb..be54143d328 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types @@ -18,8 +18,8 @@ const r1: number = map.values().next().value; // error when strictBuiltinIterato >map.values().next().value : any >map.values().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values().next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values().next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map.values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >map.values : () => IterableIterator @@ -28,8 +28,8 @@ const r1: number = map.values().next().value; // error when strictBuiltinIterato > : ^^^^^^^^^^^^^^^^^^^ >values : () => IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : any > : ^^^ @@ -48,8 +48,8 @@ const r2: Next = map.values().next(); // error when strictBuiltinIterato > : ^^^^^^^^^^^^ >map.values().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values().next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values().next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map.values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >map.values : () => IterableIterator @@ -58,8 +58,8 @@ const r2: Next = map.values().next(); // error when strictBuiltinIterato > : ^^^^^^^^^^^^^^^^^^^ >values : () => IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // based on: https://github.com/graphql/graphql-js/blob/e15c3ec4dc21d9fd1df34fe9798cadf3bf02c6ea/src/execution/__tests__/mapAsyncIterable-test.ts#L175 async function* source() { yield 1; yield 2; yield 3; } @@ -100,8 +100,8 @@ const r3: number | undefined = set.values().next().value; >set.values().next().value : any >set.values().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values().next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values().next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set.values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^ >set.values : () => IterableIterator @@ -110,8 +110,8 @@ const r3: number | undefined = set.values().next().value; > : ^^^^^^^^^^^ >values : () => IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : any > : ^^^ diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types index 2f8827d04e1..a3a82d1ba85 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types @@ -19,8 +19,8 @@ const r1: number = map.values().next().value; // error when strictBuiltinIterato > : ^^^^^^^^^^^^^^^^^^ >map.values().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values().next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values().next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map.values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map.values : () => IterableIterator @@ -29,8 +29,8 @@ const r1: number = map.values().next().value; // error when strictBuiltinIterato > : ^^^^^^^^^^^^^^^^^^^ >values : () => IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : number | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -49,8 +49,8 @@ const r2: Next = map.values().next(); // error when strictBuiltinIterato > : ^^^^^^^^^^^^ >map.values().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values().next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values().next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map.values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map.values : () => IterableIterator @@ -59,8 +59,8 @@ const r2: Next = map.values().next(); // error when strictBuiltinIterato > : ^^^^^^^^^^^^^^^^^^^ >values : () => IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // based on: https://github.com/graphql/graphql-js/blob/e15c3ec4dc21d9fd1df34fe9798cadf3bf02c6ea/src/execution/__tests__/mapAsyncIterable-test.ts#L175 async function* source() { yield 1; yield 2; yield 3; } @@ -105,8 +105,8 @@ const r3: number | undefined = set.values().next().value; > : ^^^^^^^^^^^^^^^^^^ >set.values().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values().next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values().next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set.values() : IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set.values : () => IterableIterator @@ -115,8 +115,8 @@ const r3: number | undefined = set.values().next().value; > : ^^^^^^^^^^^ >values : () => IterableIterator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...args: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [any]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : number | undefined > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/privateNameMethodAsync.types b/tests/baselines/reference/privateNameMethodAsync.types index 5f7f74f19b0..eb8dd6cc759 100644 --- a/tests/baselines/reference/privateNameMethodAsync.types +++ b/tests/baselines/reference/privateNameMethodAsync.types @@ -54,16 +54,16 @@ const C = class { > : ^^^^^^^^^^^^^ >this.#baz().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->this.#baz().next : (...args: [] | [unknown]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.#baz().next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#baz() : Generator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#baz : () => Generator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ ->next : (...args: [] | [unknown]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : number | void > : ^^^^^^^^^^^^^ >0 : 0 @@ -80,16 +80,16 @@ const C = class { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#qux().next() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->this.#qux().next : (...args: [] | [unknown]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.#qux().next : (...[value]: [] | [unknown]) => Promise> +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#qux() : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#qux : () => AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : this > : ^^^^ ->next : (...args: [] | [unknown]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [unknown]) => Promise> +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : number | void > : ^^^^^^^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/privateNameStaticMethodAsync.types b/tests/baselines/reference/privateNameStaticMethodAsync.types index ddb582f2174..4f83aba289a 100644 --- a/tests/baselines/reference/privateNameStaticMethodAsync.types +++ b/tests/baselines/reference/privateNameStaticMethodAsync.types @@ -54,16 +54,16 @@ const C = class { > : ^^^^^^^^^^^^^ >this.#baz().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->this.#baz().next : (...args: [] | [unknown]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.#baz().next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#baz() : Generator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#baz : () => Generator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : typeof C > : ^^^^^^^^ ->next : (...args: [] | [unknown]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : number | void > : ^^^^^^^^^^^^^ >0 : 0 @@ -80,16 +80,16 @@ const C = class { > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#qux().next() : Promise> > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->this.#qux().next : (...args: [] | [unknown]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>this.#qux().next : (...[value]: [] | [unknown]) => Promise> +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#qux() : AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this.#qux : () => AsyncGenerator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >this : typeof C > : ^^^^^^^^ ->next : (...args: [] | [unknown]) => Promise> -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [unknown]) => Promise> +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : number | void > : ^^^^^^^^^^^^^ >0 : 0 diff --git a/tests/baselines/reference/signatureHelpIteratorNext.baseline b/tests/baselines/reference/signatureHelpIteratorNext.baseline new file mode 100644 index 00000000000..d3e83c23596 --- /dev/null +++ b/tests/baselines/reference/signatureHelpIteratorNext.baseline @@ -0,0 +1,1584 @@ +// === SignatureHelp === +=== /tests/cases/fourslash/signatureHelpIteratorNext.ts === +// declare const iterator: Iterator; +// +// iterator.next(); +// ^ +// | ---------------------------------------------------------------------- +// | next(): IteratorResult +// | ---------------------------------------------------------------------- +// iterator.next( 0); +// ^ +// | ---------------------------------------------------------------------- +// | next(**value: number**): IteratorResult +// | ---------------------------------------------------------------------- +// +// declare const generator: Generator; +// +// generator.next(); +// ^ +// | ---------------------------------------------------------------------- +// | next(): IteratorResult +// | ---------------------------------------------------------------------- +// generator.next( 0); +// ^ +// | ---------------------------------------------------------------------- +// | next(**value: number**): IteratorResult +// | ---------------------------------------------------------------------- +// +// declare const asyncIterator: AsyncIterator; +// +// asyncIterator.next(); +// ^ +// | ---------------------------------------------------------------------- +// | next(): Promise> +// | ---------------------------------------------------------------------- +// asyncIterator.next( 0); +// ^ +// | ---------------------------------------------------------------------- +// | next(**value: number**): Promise> +// | ---------------------------------------------------------------------- +// +// declare const asyncGenerator: AsyncGenerator; +// +// asyncGenerator.next(); +// ^ +// | ---------------------------------------------------------------------- +// | next(): Promise> +// | ---------------------------------------------------------------------- +// asyncGenerator.next( 0); +// ^ +// | ---------------------------------------------------------------------- +// | next(**value: number**): Promise> +// | ---------------------------------------------------------------------- + +[ + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpIteratorNext.ts", + "position": 71, + "name": "1" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "value", + "documentation": [], + "displayParts": [ + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 71, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpIteratorNext.ts", + "position": 88, + "name": "2" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "value", + "documentation": [], + "displayParts": [ + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 88, + "length": 2 + }, + "selectedItemIndex": 1, + "argumentIndex": 0, + "argumentCount": 1 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpIteratorNext.ts", + "position": 168, + "name": "3" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "value", + "documentation": [], + "displayParts": [ + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 168, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpIteratorNext.ts", + "position": 186, + "name": "4" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "value", + "documentation": [], + "displayParts": [ + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 186, + "length": 2 + }, + "selectedItemIndex": 1, + "argumentIndex": 0, + "argumentCount": 1 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpIteratorNext.ts", + "position": 278, + "name": "5" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Promise", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Promise", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "value", + "documentation": [], + "displayParts": [ + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 278, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpIteratorNext.ts", + "position": 300, + "name": "6" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Promise", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Promise", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "value", + "documentation": [], + "displayParts": [ + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 300, + "length": 2 + }, + "selectedItemIndex": 1, + "argumentIndex": 0, + "argumentCount": 1 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpIteratorNext.ts", + "position": 395, + "name": "7" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Promise", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Promise", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "value", + "documentation": [], + "displayParts": [ + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 395, + "length": 0 + }, + "selectedItemIndex": 0, + "argumentIndex": 0, + "argumentCount": 0 + } + }, + { + "marker": { + "fileName": "/tests/cases/fourslash/signatureHelpIteratorNext.ts", + "position": 418, + "name": "8" + }, + "item": { + "items": [ + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Promise", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [], + "documentation": [], + "tags": [] + }, + { + "isVariadic": false, + "prefixDisplayParts": [ + { + "text": "next", + "kind": "methodName" + }, + { + "text": "(", + "kind": "punctuation" + } + ], + "suffixDisplayParts": [ + { + "text": ")", + "kind": "punctuation" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "Promise", + "kind": "localName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "IteratorResult", + "kind": "aliasName" + }, + { + "text": "<", + "kind": "punctuation" + }, + { + "text": "string", + "kind": "keyword" + }, + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "void", + "kind": "keyword" + }, + { + "text": ">", + "kind": "punctuation" + }, + { + "text": ">", + "kind": "punctuation" + } + ], + "separatorDisplayParts": [ + { + "text": ",", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + } + ], + "parameters": [ + { + "name": "value", + "documentation": [], + "displayParts": [ + { + "text": "value", + "kind": "parameterName" + }, + { + "text": ":", + "kind": "punctuation" + }, + { + "text": " ", + "kind": "space" + }, + { + "text": "number", + "kind": "keyword" + } + ], + "isOptional": false, + "isRest": false + } + ], + "documentation": [], + "tags": [] + } + ], + "applicableSpan": { + "start": 418, + "length": 2 + }, + "selectedItemIndex": 1, + "argumentIndex": 0, + "argumentCount": 1 + } + } +] \ No newline at end of file diff --git a/tests/cases/fourslash/signatureHelpIteratorNext.ts b/tests/cases/fourslash/signatureHelpIteratorNext.ts new file mode 100644 index 00000000000..72344e61a7f --- /dev/null +++ b/tests/cases/fourslash/signatureHelpIteratorNext.ts @@ -0,0 +1,24 @@ +/// +// @lib: esnext + +//// declare const iterator: Iterator; +//// +//// iterator.next(/*1*/); +//// iterator.next(/*2*/ 0); +//// +//// declare const generator: Generator; +//// +//// generator.next(/*3*/); +//// generator.next(/*4*/ 0); +//// +//// declare const asyncIterator: AsyncIterator; +//// +//// asyncIterator.next(/*5*/); +//// asyncIterator.next(/*6*/ 0); +//// +//// declare const asyncGenerator: AsyncGenerator; +//// +//// asyncGenerator.next(/*7*/); +//// asyncGenerator.next(/*8*/ 0); + +verify.baselineSignatureHelp(); From 307ff6c397aa2c4bd52be309827fafb3b71df75a Mon Sep 17 00:00:00 2001 From: Kevin Gibbons Date: Fri, 19 Jul 2024 13:46:03 -0700 Subject: [PATCH 39/89] add types for iterator helpers proposal (#58222) Co-authored-by: Ron Buckton --- src/compiler/commandLineParser.ts | 1 + src/lib/dom.iterable.d.ts | 46 +- src/lib/es2015.generator.d.ts | 2 +- src/lib/es2015.iterable.d.ts | 128 +++--- src/lib/es2018.asyncgenerator.d.ts | 2 +- src/lib/es2018.asynciterable.d.ts | 4 + src/lib/es2020.bigint.d.ts | 16 +- src/lib/es2020.string.d.ts | 2 +- src/lib/es2020.symbol.wellknown.d.ts | 2 +- src/lib/es2022.intl.d.ts | 2 +- src/lib/esnext.d.ts | 1 + src/lib/esnext.iterator.d.ts | 130 ++++++ src/lib/libs.json | 1 + .../argumentsObjectIterator02_ES6.types | 16 +- tests/baselines/reference/arrayFrom.types | 24 +- .../asyncYieldStarContextualType.types | 4 + .../reference/builtinIterator.errors.txt | 164 +++++++ tests/baselines/reference/builtinIterator.js | 136 ++++++ .../reference/builtinIterator.symbols | 196 ++++++++ .../baselines/reference/builtinIterator.types | 428 ++++++++++++++++++ ...n(strictbuiltiniteratorreturn=false).types | 180 ++++---- ...rn(strictbuiltiniteratorreturn=true).types | 180 ++++---- ...odule(moduleresolution=bundler).trace.json | 13 + ...dule(moduleresolution=nodenext).trace.json | 15 + .../Parse --lib option with extra comma.js | 2 +- ... --lib option with trailing white-space.js | 2 +- .../Parse invalid option of library flags.js | 2 +- ...array to compiler-options with json api.js | 2 +- ...ompiler-options with jsonSourceFile api.js | 2 +- ... libs to compiler-options with json api.js | 2 +- ...ompiler-options with jsonSourceFile api.js | 2 +- ... libs to compiler-options with json api.js | 2 +- ...ompiler-options with jsonSourceFile api.js | 2 +- ... libs to compiler-options with json api.js | 2 +- ...ompiler-options with jsonSourceFile api.js | 2 +- .../dependentDestructuredVariables.symbols | 2 +- .../dependentDestructuredVariables.types | 2 +- ...ructuredLateBoundNameHasCorrectTypes.types | 8 +- .../esNextWeakRefs_IterableWeakMap.types | 4 + tests/baselines/reference/for-of12.types | 12 +- tests/baselines/reference/for-of13.types | 12 +- .../generatorReturnContextualType.symbols | 2 +- ...generatorReturnExpressionIsChecked.symbols | 2 +- ...nTypeIndirectReferenceToGlobalType.symbols | 2 +- .../generatorYieldContextualType.types | 4 + ...indirectGlobalSymbolPartOfObjectType.types | 4 +- ...Next(strictbuiltiniteratorreturn=false).js | 7 +- ...strictbuiltiniteratorreturn=false).symbols | 18 +- ...t(strictbuiltiniteratorreturn=false).types | 54 +-- ...rictbuiltiniteratorreturn=true).errors.txt | 17 +- ...TNext(strictbuiltiniteratorreturn=true).js | 7 +- ...(strictbuiltiniteratorreturn=true).symbols | 18 +- ...xt(strictbuiltiniteratorreturn=true).types | 54 +-- .../reference/libCompileChecks.types | 4 +- tests/baselines/reference/mapGroupBy.types | 4 + ...ithAsClauseAndLateBoundProperty.errors.txt | 4 +- ...TypeWithAsClauseAndLateBoundProperty.types | 12 +- ...edTypeWithAsClauseAndLateBoundProperty2.js | 16 +- ...ypeWithAsClauseAndLateBoundProperty2.types | 12 +- ...eLibrary_NoErrorDuplicateLibOptions1.types | 12 +- ...eLibrary_NoErrorDuplicateLibOptions2.types | 12 +- ...dularizeLibrary_TargetES5UsingES6Lib.types | 12 +- ...dularizeLibrary_TargetES6UsingES6Lib.types | 12 +- .../reference/modulePreserve2.trace.json | 12 + .../reference/modulePreserve3.trace.json | 11 + .../narrowingPastLastAssignment.types | 4 + ...sTypesVersions(module=nodenext).trace.json | 14 + ...PackageImports(module=nodenext).trace.json | 15 + ...xportsTrailers(module=nodenext).trace.json | 14 + tests/baselines/reference/objectGroupBy.types | 4 + ...enthesizedJSDocCastAtReturnStatement.types | 4 + .../reactJsxReactResolvedNodeNext.trace.json | 13 + ...eactJsxReactResolvedNodeNextEsm.trace.json | 13 + .../reference/regexMatchAll-esnext.types | 16 +- tests/baselines/reference/regexMatchAll.types | 16 +- .../baselines/reference/stringMatchAll.types | 20 +- .../substitutionTypePassedToExtends.types | 4 + ...does-not-add-color-when-NO_COLOR-is-set.js | 2 +- ...-when-host-can't-provide-terminal-width.js | 2 +- ...tatus.DiagnosticsPresent_OutputsSkipped.js | 2 +- .../telemetry/does-not-expose-paths.js | 2 +- .../types.asyncGenerators.es2018.2.symbols | 2 +- .../typesVersions.ambientModules.trace.json | 12 + .../typesVersions.emptyTypes.trace.json | 13 + .../typesVersions.justIndex.trace.json | 13 + .../typesVersions.multiFile.trace.json | 12 + ...VersionsDeclarationEmit.ambient.trace.json | 12 + ...rsionsDeclarationEmit.multiFile.trace.json | 12 + ...it.multiFileBackReferenceToSelf.trace.json | 12 + ...ultiFileBackReferenceToUnmapped.trace.json | 12 + .../unionAndIntersectionInference3.symbols | 4 +- .../reference/yieldStarContextualType.types | 4 + tests/cases/compiler/builtinIterator.ts | 76 ++++ tests/cases/compiler/iterableTReturnTNext.ts | 7 +- 94 files changed, 1897 insertions(+), 506 deletions(-) create mode 100644 src/lib/esnext.iterator.d.ts create mode 100644 tests/baselines/reference/builtinIterator.errors.txt create mode 100644 tests/baselines/reference/builtinIterator.js create mode 100644 tests/baselines/reference/builtinIterator.symbols create mode 100644 tests/baselines/reference/builtinIterator.types create mode 100644 tests/cases/compiler/builtinIterator.ts diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index b4a09ea84ba..f0ccc291ffb 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -236,6 +236,7 @@ const libEntries: [string, string][] = [ ["esnext.array", "lib.esnext.array.d.ts"], ["esnext.regexp", "lib.esnext.regexp.d.ts"], ["esnext.string", "lib.esnext.string.d.ts"], + ["esnext.iterator", "lib.esnext.iterator.d.ts"], ["decorators", "lib.decorators.d.ts"], ["decorators.legacy", "lib.decorators.legacy.d.ts"], ]; diff --git a/src/lib/dom.iterable.d.ts b/src/lib/dom.iterable.d.ts index 747f2790991..da56ceae7a6 100644 --- a/src/lib/dom.iterable.d.ts +++ b/src/lib/dom.iterable.d.ts @@ -1,30 +1,30 @@ /// interface DOMTokenList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface Headers { - [Symbol.iterator](): IterableIterator<[string, string], BuiltinIteratorReturn>; + [Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>; /** * Returns an iterator allowing to go through all key/value pairs contained in this object. */ - entries(): IterableIterator<[string, string], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>; /** * Returns an iterator allowing to go through all keys f the key/value pairs contained in this object. */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an iterator allowing to go through all values of the key/value pairs contained in this object. */ - values(): IterableIterator; + values(): BuiltinIterator; } interface NodeList { /** * Returns an array of key, value pairs for every entry in the list */ - entries(): IterableIterator<[number, Node], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[number, Node], BuiltinIteratorReturn>; /** * Performs the specified action for each node in an list. * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list. @@ -34,21 +34,21 @@ interface NodeList { /** * Returns an list of keys in the list */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an list of values in the list */ - values(): IterableIterator; + values(): BuiltinIterator; - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface NodeListOf { /** * Returns an array of key, value pairs for every entry in the list */ - entries(): IterableIterator<[number, TNode], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[number, TNode], BuiltinIteratorReturn>; /** * Performs the specified action for each node in an list. @@ -59,55 +59,55 @@ interface NodeListOf { /** * Returns an list of keys in the list */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an list of values in the list */ - values(): IterableIterator; + values(): BuiltinIterator; - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface HTMLCollectionBase { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface HTMLCollectionOf { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface FormData { /** * Returns an array of key, value pairs for every entry in the list */ - entries(): IterableIterator<[string, string | File], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[string, string | File], BuiltinIteratorReturn>; /** * Returns a list of keys in the list */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns a list of values in the list */ - values(): IterableIterator; + values(): BuiltinIterator; - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface URLSearchParams { /** * Returns an array of key, value pairs for every entry in the search params */ - entries(): IterableIterator<[string, string], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>; /** * Returns a list of keys in the search params */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns a list of values in the search params */ - values(): IterableIterator; + values(): BuiltinIterator; /** * iterate over key/value pairs */ - [Symbol.iterator](): IterableIterator<[string, string], BuiltinIteratorReturn>; + [Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>; } diff --git a/src/lib/es2015.generator.d.ts b/src/lib/es2015.generator.d.ts index ac2d833b8d1..2397d79dddb 100644 --- a/src/lib/es2015.generator.d.ts +++ b/src/lib/es2015.generator.d.ts @@ -1,6 +1,6 @@ /// -interface Generator extends Iterator { +interface Generator extends BuiltinIterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. next(...[value]: [] | [TNext]): IteratorResult; return(value: TReturn): IteratorResult; diff --git a/src/lib/es2015.iterable.d.ts b/src/lib/es2015.iterable.d.ts index 98cf906c7db..00a0ff820ca 100644 --- a/src/lib/es2015.iterable.d.ts +++ b/src/lib/es2015.iterable.d.ts @@ -35,26 +35,30 @@ interface IterableIterator extends Iterator; } +interface BuiltinIterator extends Iterator { + [Symbol.iterator](): BuiltinIterator; +} + type BuiltinIteratorReturn = intrinsic; interface Array { /** Iterator */ - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; /** * Returns an iterable of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, T], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[number, T], BuiltinIteratorReturn>; /** * Returns an iterable of keys in the array */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an iterable of values in the array */ - values(): IterableIterator; + values(): BuiltinIterator; } interface ArrayConstructor { @@ -75,67 +79,67 @@ interface ArrayConstructor { interface ReadonlyArray { /** Iterator of values in the array. */ - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; /** * Returns an iterable of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, T], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[number, T], BuiltinIteratorReturn>; /** * Returns an iterable of keys in the array */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an iterable of values in the array */ - values(): IterableIterator; + values(): BuiltinIterator; } interface IArguments { /** Iterator */ - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface Map { /** Returns an iterable of entries in the map. */ - [Symbol.iterator](): IterableIterator<[K, V], BuiltinIteratorReturn>; + [Symbol.iterator](): BuiltinIterator<[K, V], BuiltinIteratorReturn>; /** * Returns an iterable of key, value pairs for every entry in the map. */ - entries(): IterableIterator<[K, V], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[K, V], BuiltinIteratorReturn>; /** * Returns an iterable of keys in the map */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an iterable of values in the map */ - values(): IterableIterator; + values(): BuiltinIterator; } interface ReadonlyMap { /** Returns an iterable of entries in the map. */ - [Symbol.iterator](): IterableIterator<[K, V], BuiltinIteratorReturn>; + [Symbol.iterator](): BuiltinIterator<[K, V], BuiltinIteratorReturn>; /** * Returns an iterable of key, value pairs for every entry in the map. */ - entries(): IterableIterator<[K, V], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[K, V], BuiltinIteratorReturn>; /** * Returns an iterable of keys in the map */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an iterable of values in the map */ - values(): IterableIterator; + values(): BuiltinIterator; } interface MapConstructor { @@ -151,40 +155,40 @@ interface WeakMapConstructor { interface Set { /** Iterates over values in the set. */ - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; /** * Returns an iterable of [v,v] pairs for every value `v` in the set. */ - entries(): IterableIterator<[T, T], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[T, T], BuiltinIteratorReturn>; /** * Despite its name, returns an iterable of the values in the set. */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an iterable of values in the set. */ - values(): IterableIterator; + values(): BuiltinIterator; } interface ReadonlySet { /** Iterates over values in the set. */ - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; /** * Returns an iterable of [v,v] pairs for every value `v` in the set. */ - entries(): IterableIterator<[T, T], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[T, T], BuiltinIteratorReturn>; /** * Despite its name, returns an iterable of the values in the set. */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an iterable of values in the set. */ - values(): IterableIterator; + values(): BuiltinIterator; } interface SetConstructor { @@ -219,23 +223,23 @@ interface PromiseConstructor { interface String { /** Iterator */ - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface Int8Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): BuiltinIterator; } interface Int8ArrayConstructor { @@ -251,19 +255,19 @@ interface Int8ArrayConstructor { } interface Uint8Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): BuiltinIterator; } interface Uint8ArrayConstructor { @@ -279,21 +283,21 @@ interface Uint8ArrayConstructor { } interface Uint8ClampedArray { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): BuiltinIterator; } interface Uint8ClampedArrayConstructor { @@ -309,21 +313,21 @@ interface Uint8ClampedArrayConstructor { } interface Int16Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): BuiltinIterator; } interface Int16ArrayConstructor { @@ -339,19 +343,19 @@ interface Int16ArrayConstructor { } interface Uint16Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): BuiltinIterator; } interface Uint16ArrayConstructor { @@ -367,19 +371,19 @@ interface Uint16ArrayConstructor { } interface Int32Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): BuiltinIterator; } interface Int32ArrayConstructor { @@ -395,19 +399,19 @@ interface Int32ArrayConstructor { } interface Uint32Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): BuiltinIterator; } interface Uint32ArrayConstructor { @@ -423,19 +427,19 @@ interface Uint32ArrayConstructor { } interface Float32Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): BuiltinIterator; } interface Float32ArrayConstructor { @@ -451,19 +455,19 @@ interface Float32ArrayConstructor { } interface Float64Array { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): IterableIterator<[number, number], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; /** * Returns an list of keys in the array */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns an list of values in the array */ - values(): IterableIterator; + values(): BuiltinIterator; } interface Float64ArrayConstructor { diff --git a/src/lib/es2018.asyncgenerator.d.ts b/src/lib/es2018.asyncgenerator.d.ts index 15385ddabfc..e53975ab402 100644 --- a/src/lib/es2018.asyncgenerator.d.ts +++ b/src/lib/es2018.asyncgenerator.d.ts @@ -1,6 +1,6 @@ /// -interface AsyncGenerator extends AsyncIterator { +interface AsyncGenerator extends AsyncBuiltinIterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. next(...[value]: [] | [TNext]): Promise>; return(value: TReturn | PromiseLike): Promise>; diff --git a/src/lib/es2018.asynciterable.d.ts b/src/lib/es2018.asynciterable.d.ts index 4303763db53..17a9b067fa7 100644 --- a/src/lib/es2018.asynciterable.d.ts +++ b/src/lib/es2018.asynciterable.d.ts @@ -23,3 +23,7 @@ interface AsyncIterable { interface AsyncIterableIterator extends AsyncIterator { [Symbol.asyncIterator](): AsyncIterableIterator; } + +interface AsyncBuiltinIterator extends AsyncIterator { + [Symbol.asyncIterator](): AsyncBuiltinIterator; +} diff --git a/src/lib/es2020.bigint.d.ts b/src/lib/es2020.bigint.d.ts index e5cafc442d6..c6ee094a332 100644 --- a/src/lib/es2020.bigint.d.ts +++ b/src/lib/es2020.bigint.d.ts @@ -153,7 +153,7 @@ interface BigInt64Array { copyWithin(target: number, start: number, end?: number): this; /** Yields index, value pairs for every entry in the array. */ - entries(): IterableIterator<[number, bigint], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[number, bigint], BuiltinIteratorReturn>; /** * Determines whether all the members of an array satisfy the specified test. @@ -238,7 +238,7 @@ interface BigInt64Array { join(separator?: string): string; /** Yields each index in the array. */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns the index of the last occurrence of a value in an array. @@ -360,9 +360,9 @@ interface BigInt64Array { valueOf(): BigInt64Array; /** Yields each value in the array. */ - values(): IterableIterator; + values(): BuiltinIterator; - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; readonly [Symbol.toStringTag]: "BigInt64Array"; @@ -425,7 +425,7 @@ interface BigUint64Array { copyWithin(target: number, start: number, end?: number): this; /** Yields index, value pairs for every entry in the array. */ - entries(): IterableIterator<[number, bigint], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[number, bigint], BuiltinIteratorReturn>; /** * Determines whether all the members of an array satisfy the specified test. @@ -510,7 +510,7 @@ interface BigUint64Array { join(separator?: string): string; /** Yields each index in the array. */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** * Returns the index of the last occurrence of a value in an array. @@ -632,9 +632,9 @@ interface BigUint64Array { valueOf(): BigUint64Array; /** Yields each value in the array. */ - values(): IterableIterator; + values(): BuiltinIterator; - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; readonly [Symbol.toStringTag]: "BigUint64Array"; diff --git a/src/lib/es2020.string.d.ts b/src/lib/es2020.string.d.ts index 7f7911d517d..4d23b7f3194 100644 --- a/src/lib/es2020.string.d.ts +++ b/src/lib/es2020.string.d.ts @@ -6,7 +6,7 @@ interface String { * containing the results of that search. * @param regexp A variable name or string literal containing the regular expression pattern and flags. */ - matchAll(regexp: RegExp): IterableIterator; + matchAll(regexp: RegExp): BuiltinIterator; /** Converts all alphabetic characters to lowercase, taking into account the host environment's current locale. */ toLocaleLowerCase(locales?: Intl.LocalesArgument): string; diff --git a/src/lib/es2020.symbol.wellknown.d.ts b/src/lib/es2020.symbol.wellknown.d.ts index 0a65134b7c2..07aab68a092 100644 --- a/src/lib/es2020.symbol.wellknown.d.ts +++ b/src/lib/es2020.symbol.wellknown.d.ts @@ -15,5 +15,5 @@ interface RegExp { * containing the results of that search. * @param string A string to search within. */ - [Symbol.matchAll](str: string): IterableIterator; + [Symbol.matchAll](str: string): BuiltinIterator; } diff --git a/src/lib/es2022.intl.d.ts b/src/lib/es2022.intl.d.ts index e92a67f7a88..115e15a5282 100644 --- a/src/lib/es2022.intl.d.ts +++ b/src/lib/es2022.intl.d.ts @@ -37,7 +37,7 @@ declare namespace Intl { containing(codeUnitIndex?: number): SegmentData; /** Returns an iterator to iterate over the segments. */ - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface SegmentData { diff --git a/src/lib/esnext.d.ts b/src/lib/esnext.d.ts index 94aedd4480c..877f4c133c5 100644 --- a/src/lib/esnext.d.ts +++ b/src/lib/esnext.d.ts @@ -8,3 +8,4 @@ /// /// /// +/// diff --git a/src/lib/esnext.iterator.d.ts b/src/lib/esnext.iterator.d.ts new file mode 100644 index 00000000000..6a8a85eea87 --- /dev/null +++ b/src/lib/esnext.iterator.d.ts @@ -0,0 +1,130 @@ +/// + +// NOTE: This is specified as what is essentially an unreachable module. All actual global declarations can be found +// in the `declare global` section, below. This is necessary as there is currently no way to declare an `abstract` +// member without declaring a `class`, but declaring `class Iterator` globally would conflict with TypeScript's +// general purpose `Iterator` interface. +export {}; + +// Abstract type that allows us to mark `next` as `abstract` +declare abstract class Iterator { // eslint-disable-line @typescript-eslint/no-unsafe-declaration-merging + abstract next(value?: unknown): IteratorResult; +} + +// Merge all members of `BuiltinIterator` into `Iterator` +interface Iterator extends globalThis.BuiltinIterator {} + +// Capture the `Iterator` constructor in a type we can use in the `extends` clause of `IteratorConstructor`. +type BuiltinIteratorConstructor = typeof Iterator; + +declare global { + // Global `BuiltinIterator` interface that can be augmented by polyfills + interface BuiltinIterator { + /** + * Returns this iterator. + */ + [Symbol.iterator](): BuiltinIterator; + + /** + * Creates an iterator whose values are the result of applying the callback to the values from this iterator. + * @param callbackfn A function that accepts up to two arguments to be used to transform values from the underlying iterator. + */ + map(callbackfn: (value: T, index: number) => U): BuiltinIterator; + + /** + * Creates an iterator whose values are those from this iterator for which the provided predicate returns true. + * @param predicate A function that accepts up to two arguments to be used to test values from the underlying iterator. + */ + filter(predicate: (value: T, index: number) => value is S): BuiltinIterator; + + /** + * Creates an iterator whose values are those from this iterator for which the provided predicate returns true. + * @param predicate A function that accepts up to two arguments to be used to test values from the underlying iterator. + */ + filter(predicate: (value: T, index: number) => unknown): BuiltinIterator; + + /** + * Creates an iterator whose values are the values from this iterator, stopping once the provided limit is reached. + * @param limit The maximum number of values to yield. + */ + take(limit: number): BuiltinIterator; + + /** + * Creates an iterator whose values are the values from this iterator after skipping the provided count. + * @param count The number of values to drop. + */ + drop(count: number): BuiltinIterator; + + /** + * Creates an iterator whose values are the result of applying the callback to the values from this iterator and then flattening the resulting iterators or iterables. + * @param callback A function that accepts up to two arguments to be used to transform values from the underlying iterator into new iterators or iterables to be flattened into the result. + */ + flatMap(callback: (value: T, index: number) => Iterator | Iterable): BuiltinIterator; + + /** + * Calls the specified callback function for all the elements in this iterator. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to three arguments. The reduce method calls the callbackfn function one time for each element in the iterator. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of a value from the iterator. + */ + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number) => T): T; + reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number) => T, initialValue: T): T; + + /** + * Calls the specified callback function for all the elements in this iterator. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. + * @param callbackfn A function that accepts up to three arguments. The reduce method calls the callbackfn function one time for each element in the iterator. + * @param initialValue If initialValue is specified, it is used as the initial value to start the accumulation. The first call to the callbackfn function provides this value as an argument instead of a value from the iterator. + */ + reduce(callbackfn: (previousValue: U, currentValue: T, currentIndex: number) => U, initialValue: U): U; + + /** + * Creates a new array from the values yielded by this iterator. + */ + toArray(): T[]; + + /** + * Performs the specified action for each element in the iterator. + * @param callbackfn A function that accepts up to two arguments. forEach calls the callbackfn function one time for each element in the iterator. + */ + forEach(callbackfn: (value: T, index: number) => void): void; + + /** + * Determines whether the specified callback function returns true for any element of this iterator. + * @param predicate A function that accepts up to two arguments. The some method calls + * the predicate function for each element in this iterator until the predicate returns a value + * true, or until the end of the iterator. + */ + some(predicate: (value: T, index: number) => unknown): boolean; + + /** + * Determines whether all the members of this iterator satisfy the specified test. + * @param predicate A function that accepts up to two arguments. The every method calls + * the predicate function for each element in this iterator until the predicate returns + * false, or until the end of this iterator. + */ + every(predicate: (value: T, index: number) => unknown): boolean; + + /** + * Returns the value of the first element in this iterator where predicate is true, and undefined + * otherwise. + * @param predicate find calls predicate once for each element of this iterator, in + * order, until it finds one where predicate returns true. If such an element is found, find + * immediately returns that element value. Otherwise, find returns undefined. + */ + find(predicate: (value: T, index: number) => value is S): S | undefined; + find(predicate: (value: T, index: number) => unknown): T | undefined; + + readonly [Symbol.toStringTag]: string; + } + + // Global `IteratorConstructor` interface that can be augmented by polyfills + interface IteratorConstructor extends BuiltinIteratorConstructor { + /** + * Creates a native iterator from an iterator or iterable object. + * Returns its input if the input already inherits from the built-in Iterator class. + * @param value An iterator or iterable object to convert a native iterator. + */ + from(value: Iterator | Iterable): BuiltinIterator; + } + + var Iterator: IteratorConstructor; +} diff --git a/src/lib/libs.json b/src/lib/libs.json index 9477c3d78ed..fb40b9d10dc 100644 --- a/src/lib/libs.json +++ b/src/lib/libs.json @@ -80,6 +80,7 @@ "esnext.array", "esnext.regexp", "esnext.string", + "esnext.iterator", "decorators", "decorators.legacy", // Default libraries diff --git a/tests/baselines/reference/argumentsObjectIterator02_ES6.types b/tests/baselines/reference/argumentsObjectIterator02_ES6.types index 4dd2e090a43..c192ab9617b 100644 --- a/tests/baselines/reference/argumentsObjectIterator02_ES6.types +++ b/tests/baselines/reference/argumentsObjectIterator02_ES6.types @@ -12,10 +12,10 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe > : ^^^^^^ let blah = arguments[Symbol.iterator]; ->blah : () => IterableIterator -> : ^^^^^^ ->arguments[Symbol.iterator] : () => IterableIterator -> : ^^^^^^ +>blah : () => BuiltinIterator +> : ^^^^^^ +>arguments[Symbol.iterator] : () => BuiltinIterator +> : ^^^^^^ >arguments : IArguments > : ^^^^^^^^^^ >Symbol.iterator : unique symbol @@ -33,10 +33,10 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe for (let arg of blah()) { >arg : any ->blah() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^ ->blah : () => IterableIterator -> : ^^^^^^ +>blah() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>blah : () => BuiltinIterator +> : ^^^^^^ result.push(arg + arg); >result.push(arg + arg) : number diff --git a/tests/baselines/reference/arrayFrom.types b/tests/baselines/reference/arrayFrom.types index d8c53ad231c..8829708cedd 100644 --- a/tests/baselines/reference/arrayFrom.types +++ b/tests/baselines/reference/arrayFrom.types @@ -83,14 +83,14 @@ const result2: A[] = Array.from(inputA.values()); > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } > : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ->inputA.values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^ ->inputA.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>inputA.values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>inputA.values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >inputA : A[] > : ^^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const result3: B[] = Array.from(inputA.values()); // expect error >result3 : B[] @@ -103,14 +103,14 @@ const result3: B[] = Array.from(inputA.values()); // expect error > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } > : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ->inputA.values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^ ->inputA.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>inputA.values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>inputA.values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >inputA : A[] > : ^^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const result4: A[] = Array.from(inputB, ({ b }): A => ({ a: b })); >result4 : A[] diff --git a/tests/baselines/reference/asyncYieldStarContextualType.types b/tests/baselines/reference/asyncYieldStarContextualType.types index 1a74d90e887..fa37a8b0c9b 100644 --- a/tests/baselines/reference/asyncYieldStarContextualType.types +++ b/tests/baselines/reference/asyncYieldStarContextualType.types @@ -1,5 +1,9 @@ //// [tests/cases/compiler/asyncYieldStarContextualType.ts] //// +=== Performance Stats === +Type Count: 1,000 +Instantiation count: 2,500 + === asyncYieldStarContextualType.ts === // https://github.com/microsoft/TypeScript/issues/57903 interface Result { diff --git a/tests/baselines/reference/builtinIterator.errors.txt b/tests/baselines/reference/builtinIterator.errors.txt new file mode 100644 index 00000000000..26749ea24a6 --- /dev/null +++ b/tests/baselines/reference/builtinIterator.errors.txt @@ -0,0 +1,164 @@ +builtinIterator.ts(38,1): error TS2511: Cannot create an instance of an abstract class. +builtinIterator.ts(40,7): error TS2515: Non-abstract class 'C' does not implement inherited abstract member next from class 'Iterator'. +builtinIterator.ts(44,3): error TS2416: Property 'next' in type 'BadIterator1' is not assignable to the same property in base type 'Iterator'. + Type '() => { readonly done: false; readonly value: 0; } | { readonly done: true; readonly value: "a string"; }' is not assignable to type '(value?: unknown) => IteratorResult'. + Type '{ readonly done: false; readonly value: 0; } | { readonly done: true; readonly value: "a string"; }' is not assignable to type 'IteratorResult'. + Type '{ readonly done: true; readonly value: "a string"; }' is not assignable to type 'IteratorResult'. + Type '{ readonly done: true; readonly value: "a string"; }' is not assignable to type 'IteratorReturnResult'. + Types of property 'value' are incompatible. + Type '"a string"' is not assignable to type 'undefined'. +builtinIterator.ts(54,3): error TS2416: Property 'next' in type 'BadIterator2' is not assignable to the same property in base type 'Iterator'. + Type '() => { done: boolean; value: number; }' is not assignable to type '(value?: unknown) => IteratorResult'. + Type '{ done: boolean; value: number; }' is not assignable to type 'IteratorResult'. + Type '{ done: boolean; value: number; }' is not assignable to type 'IteratorYieldResult'. + Types of property 'done' are incompatible. + Type 'boolean' is not assignable to type 'false'. +builtinIterator.ts(60,3): error TS2416: Property 'next' in type 'BadIterator3' is not assignable to the same property in base type 'Iterator'. + Type '() => { done: boolean; value: number; } | { done: boolean; value: string; }' is not assignable to type '(value?: unknown) => IteratorResult'. + Type '{ done: boolean; value: number; } | { done: boolean; value: string; }' is not assignable to type 'IteratorResult'. + Type '{ done: boolean; value: number; }' is not assignable to type 'IteratorResult'. + Type '{ done: boolean; value: number; }' is not assignable to type 'IteratorYieldResult'. + Types of property 'done' are incompatible. + Type 'boolean' is not assignable to type 'false'. +builtinIterator.ts(70,29): error TS2345: Argument of type 'Generator' is not assignable to parameter of type 'Iterator | Iterable'. + Type 'Generator' is not assignable to type 'Iterator'. + Types of property 'next' are incompatible. + Type '(...[value]: [] | [boolean]) => IteratorResult' is not assignable to type '(...[value]: [] | [undefined]) => IteratorResult'. + Types of parameters '__0' and '__0' are incompatible. + Type '[] | [undefined]' is not assignable to type '[] | [boolean]'. + Type '[undefined]' is not assignable to type '[] | [boolean]'. + Type '[undefined]' is not assignable to type '[boolean]'. + Type 'undefined' is not assignable to type 'boolean'. +builtinIterator.ts(73,35): error TS2322: Type 'Generator' is not assignable to type 'Iterator | Iterable'. + Type 'Generator' is not assignable to type 'Iterator'. + Types of property 'next' are incompatible. + Type '(...[value]: [] | [boolean]) => IteratorResult' is not assignable to type '(...[value]: [] | [undefined]) => IteratorResult'. + Types of parameters '__0' and '__0' are incompatible. + Type '[] | [undefined]' is not assignable to type '[] | [boolean]'. + Type '[undefined]' is not assignable to type '[] | [boolean]'. + Type '[undefined]' is not assignable to type '[boolean]'. + Type 'undefined' is not assignable to type 'boolean'. + + +==== builtinIterator.ts (7 errors) ==== + const iterator = Iterator.from([0, 1, 2]); + + const mapped = iterator.map(String); + + const filtered = iterator.filter(x => x > 0); + + function isZero(x: number): x is 0 { + return x === 0; + } + const zero = iterator.filter(isZero); + + const iteratorFromBare = Iterator.from({ + next() { + return { + done: Math.random() < .5, + value: "a string", + }; + }, + }); + + + function* gen() { + yield 0; + } + + const mappedGen = gen().map(x => x === 0 ? "zero" : "other"); + + const mappedValues = [0, 1, 2].values().map(x => x === 0 ? "zero" : "other"); + + + class GoodIterator extends Iterator { + next() { + return { done: false, value: 0 } as const; + } + } + + // error cases + new Iterator(); + ~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2511: Cannot create an instance of an abstract class. + + class C extends Iterator {} + ~ +!!! error TS2515: Non-abstract class 'C' does not implement inherited abstract member next from class 'Iterator'. + + // it's unfortunate that these are an error + class BadIterator1 extends Iterator { + next() { + ~~~~ +!!! error TS2416: Property 'next' in type 'BadIterator1' is not assignable to the same property in base type 'Iterator'. +!!! error TS2416: Type '() => { readonly done: false; readonly value: 0; } | { readonly done: true; readonly value: "a string"; }' is not assignable to type '(value?: unknown) => IteratorResult'. +!!! error TS2416: Type '{ readonly done: false; readonly value: 0; } | { readonly done: true; readonly value: "a string"; }' is not assignable to type 'IteratorResult'. +!!! error TS2416: Type '{ readonly done: true; readonly value: "a string"; }' is not assignable to type 'IteratorResult'. +!!! error TS2416: Type '{ readonly done: true; readonly value: "a string"; }' is not assignable to type 'IteratorReturnResult'. +!!! error TS2416: Types of property 'value' are incompatible. +!!! error TS2416: Type '"a string"' is not assignable to type 'undefined'. + if (Math.random() < .5) { + return { done: false, value: 0 } as const; + } else { + return { done: true, value: "a string" } as const; + } + } + } + + class BadIterator2 extends Iterator { + next() { + ~~~~ +!!! error TS2416: Property 'next' in type 'BadIterator2' is not assignable to the same property in base type 'Iterator'. +!!! error TS2416: Type '() => { done: boolean; value: number; }' is not assignable to type '(value?: unknown) => IteratorResult'. +!!! error TS2416: Type '{ done: boolean; value: number; }' is not assignable to type 'IteratorResult'. +!!! error TS2416: Type '{ done: boolean; value: number; }' is not assignable to type 'IteratorYieldResult'. +!!! error TS2416: Types of property 'done' are incompatible. +!!! error TS2416: Type 'boolean' is not assignable to type 'false'. + return { done: false, value: 0 }; + } + } + + class BadIterator3 extends Iterator { + next() { + ~~~~ +!!! error TS2416: Property 'next' in type 'BadIterator3' is not assignable to the same property in base type 'Iterator'. +!!! error TS2416: Type '() => { done: boolean; value: number; } | { done: boolean; value: string; }' is not assignable to type '(value?: unknown) => IteratorResult'. +!!! error TS2416: Type '{ done: boolean; value: number; } | { done: boolean; value: string; }' is not assignable to type 'IteratorResult'. +!!! error TS2416: Type '{ done: boolean; value: number; }' is not assignable to type 'IteratorResult'. +!!! error TS2416: Type '{ done: boolean; value: number; }' is not assignable to type 'IteratorYieldResult'. +!!! error TS2416: Types of property 'done' are incompatible. +!!! error TS2416: Type 'boolean' is not assignable to type 'false'. + if (Math.random() < .5) { + return { done: false, value: 0 }; + } else { + return { done: true, value: "a string" }; + } + } + } + + declare const g1: Generator; + const iter1 = Iterator.from(g1); + ~~ +!!! error TS2345: Argument of type 'Generator' is not assignable to parameter of type 'Iterator | Iterable'. +!!! error TS2345: Type 'Generator' is not assignable to type 'Iterator'. +!!! error TS2345: Types of property 'next' are incompatible. +!!! error TS2345: Type '(...[value]: [] | [boolean]) => IteratorResult' is not assignable to type '(...[value]: [] | [undefined]) => IteratorResult'. +!!! error TS2345: Types of parameters '__0' and '__0' are incompatible. +!!! error TS2345: Type '[] | [undefined]' is not assignable to type '[] | [boolean]'. +!!! error TS2345: Type '[undefined]' is not assignable to type '[] | [boolean]'. +!!! error TS2345: Type '[undefined]' is not assignable to type '[boolean]'. +!!! error TS2345: Type 'undefined' is not assignable to type 'boolean'. + + declare const iter2: BuiltinIterator; + const iter3 = iter2.flatMap(() => g1); + ~~ +!!! error TS2322: Type 'Generator' is not assignable to type 'Iterator | Iterable'. +!!! error TS2322: Type 'Generator' is not assignable to type 'Iterator'. +!!! error TS2322: Types of property 'next' are incompatible. +!!! error TS2322: Type '(...[value]: [] | [boolean]) => IteratorResult' is not assignable to type '(...[value]: [] | [undefined]) => IteratorResult'. +!!! error TS2322: Types of parameters '__0' and '__0' are incompatible. +!!! error TS2322: Type '[] | [undefined]' is not assignable to type '[] | [boolean]'. +!!! error TS2322: Type '[undefined]' is not assignable to type '[] | [boolean]'. +!!! error TS2322: Type '[undefined]' is not assignable to type '[boolean]'. +!!! error TS2322: Type 'undefined' is not assignable to type 'boolean'. +!!! related TS6502 lib.esnext.iterator.d.ts:--:--: The expected type comes from the return type of this signature. \ No newline at end of file diff --git a/tests/baselines/reference/builtinIterator.js b/tests/baselines/reference/builtinIterator.js new file mode 100644 index 00000000000..192d53b106b --- /dev/null +++ b/tests/baselines/reference/builtinIterator.js @@ -0,0 +1,136 @@ +//// [tests/cases/compiler/builtinIterator.ts] //// + +//// [builtinIterator.ts] +const iterator = Iterator.from([0, 1, 2]); + +const mapped = iterator.map(String); + +const filtered = iterator.filter(x => x > 0); + +function isZero(x: number): x is 0 { + return x === 0; +} +const zero = iterator.filter(isZero); + +const iteratorFromBare = Iterator.from({ + next() { + return { + done: Math.random() < .5, + value: "a string", + }; + }, +}); + + +function* gen() { + yield 0; +} + +const mappedGen = gen().map(x => x === 0 ? "zero" : "other"); + +const mappedValues = [0, 1, 2].values().map(x => x === 0 ? "zero" : "other"); + + +class GoodIterator extends Iterator { + next() { + return { done: false, value: 0 } as const; + } +} + +// error cases +new Iterator(); + +class C extends Iterator {} + +// it's unfortunate that these are an error +class BadIterator1 extends Iterator { + next() { + if (Math.random() < .5) { + return { done: false, value: 0 } as const; + } else { + return { done: true, value: "a string" } as const; + } + } +} + +class BadIterator2 extends Iterator { + next() { + return { done: false, value: 0 }; + } +} + +class BadIterator3 extends Iterator { + next() { + if (Math.random() < .5) { + return { done: false, value: 0 }; + } else { + return { done: true, value: "a string" }; + } + } +} + +declare const g1: Generator; +const iter1 = Iterator.from(g1); + +declare const iter2: BuiltinIterator; +const iter3 = iter2.flatMap(() => g1); + +//// [builtinIterator.js] +"use strict"; +const iterator = Iterator.from([0, 1, 2]); +const mapped = iterator.map(String); +const filtered = iterator.filter(x => x > 0); +function isZero(x) { + return x === 0; +} +const zero = iterator.filter(isZero); +const iteratorFromBare = Iterator.from({ + next() { + return { + done: Math.random() < .5, + value: "a string", + }; + }, +}); +function* gen() { + yield 0; +} +const mappedGen = gen().map(x => x === 0 ? "zero" : "other"); +const mappedValues = [0, 1, 2].values().map(x => x === 0 ? "zero" : "other"); +class GoodIterator extends Iterator { + next() { + return { done: false, value: 0 }; + } +} +// error cases +new Iterator(); +class C extends Iterator { +} +// it's unfortunate that these are an error +class BadIterator1 extends Iterator { + next() { + if (Math.random() < .5) { + return { done: false, value: 0 }; + } + else { + return { done: true, value: "a string" }; + } + } +} +class BadIterator2 extends Iterator { + next() { + return { done: false, value: 0 }; + } +} +class BadIterator3 extends Iterator { + next() { + if (Math.random() < .5) { + return { done: false, value: 0 }; + } + else { + return { done: true, value: "a string" }; + } + } +} +const iter1 = Iterator.from(g1); +const iter3 = iter2.flatMap(() => g1); diff --git a/tests/baselines/reference/builtinIterator.symbols b/tests/baselines/reference/builtinIterator.symbols new file mode 100644 index 00000000000..4c8795a5a1d --- /dev/null +++ b/tests/baselines/reference/builtinIterator.symbols @@ -0,0 +1,196 @@ +//// [tests/cases/compiler/builtinIterator.ts] //// + +=== builtinIterator.ts === +const iterator = Iterator.from([0, 1, 2]); +>iterator : Symbol(iterator, Decl(builtinIterator.ts, 0, 5)) +>Iterator.from : Symbol(IteratorConstructor.from, Decl(lib.esnext.iterator.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) +>from : Symbol(IteratorConstructor.from, Decl(lib.esnext.iterator.d.ts, --, --)) + +const mapped = iterator.map(String); +>mapped : Symbol(mapped, Decl(builtinIterator.ts, 2, 5)) +>iterator.map : Symbol(BuiltinIterator.map, Decl(lib.esnext.iterator.d.ts, --, --)) +>iterator : Symbol(iterator, Decl(builtinIterator.ts, 0, 5)) +>map : Symbol(BuiltinIterator.map, Decl(lib.esnext.iterator.d.ts, --, --)) +>String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 7 more) + +const filtered = iterator.filter(x => x > 0); +>filtered : Symbol(filtered, Decl(builtinIterator.ts, 4, 5)) +>iterator.filter : Symbol(BuiltinIterator.filter, Decl(lib.esnext.iterator.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) +>iterator : Symbol(iterator, Decl(builtinIterator.ts, 0, 5)) +>filter : Symbol(BuiltinIterator.filter, Decl(lib.esnext.iterator.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) +>x : Symbol(x, Decl(builtinIterator.ts, 4, 33)) +>x : Symbol(x, Decl(builtinIterator.ts, 4, 33)) + +function isZero(x: number): x is 0 { +>isZero : Symbol(isZero, Decl(builtinIterator.ts, 4, 45)) +>x : Symbol(x, Decl(builtinIterator.ts, 6, 16)) +>x : Symbol(x, Decl(builtinIterator.ts, 6, 16)) + + return x === 0; +>x : Symbol(x, Decl(builtinIterator.ts, 6, 16)) +} +const zero = iterator.filter(isZero); +>zero : Symbol(zero, Decl(builtinIterator.ts, 9, 5)) +>iterator.filter : Symbol(BuiltinIterator.filter, Decl(lib.esnext.iterator.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) +>iterator : Symbol(iterator, Decl(builtinIterator.ts, 0, 5)) +>filter : Symbol(BuiltinIterator.filter, Decl(lib.esnext.iterator.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) +>isZero : Symbol(isZero, Decl(builtinIterator.ts, 4, 45)) + +const iteratorFromBare = Iterator.from({ +>iteratorFromBare : Symbol(iteratorFromBare, Decl(builtinIterator.ts, 11, 5)) +>Iterator.from : Symbol(IteratorConstructor.from, Decl(lib.esnext.iterator.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) +>from : Symbol(IteratorConstructor.from, Decl(lib.esnext.iterator.d.ts, --, --)) + + next() { +>next : Symbol(next, Decl(builtinIterator.ts, 11, 40)) + + return { + done: Math.random() < .5, +>done : Symbol(done, Decl(builtinIterator.ts, 13, 12)) +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + value: "a string", +>value : Symbol(value, Decl(builtinIterator.ts, 14, 31)) + + }; + }, +}); + + +function* gen() { +>gen : Symbol(gen, Decl(builtinIterator.ts, 18, 3)) + + yield 0; +} + +const mappedGen = gen().map(x => x === 0 ? "zero" : "other"); +>mappedGen : Symbol(mappedGen, Decl(builtinIterator.ts, 25, 5)) +>gen().map : Symbol(BuiltinIterator.map, Decl(lib.esnext.iterator.d.ts, --, --)) +>gen : Symbol(gen, Decl(builtinIterator.ts, 18, 3)) +>map : Symbol(BuiltinIterator.map, Decl(lib.esnext.iterator.d.ts, --, --)) +>x : Symbol(x, Decl(builtinIterator.ts, 25, 28)) +>x : Symbol(x, Decl(builtinIterator.ts, 25, 28)) + +const mappedValues = [0, 1, 2].values().map(x => x === 0 ? "zero" : "other"); +>mappedValues : Symbol(mappedValues, Decl(builtinIterator.ts, 27, 5)) +>[0, 1, 2].values().map : Symbol(BuiltinIterator.map, Decl(lib.esnext.iterator.d.ts, --, --)) +>[0, 1, 2].values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) +>map : Symbol(BuiltinIterator.map, Decl(lib.esnext.iterator.d.ts, --, --)) +>x : Symbol(x, Decl(builtinIterator.ts, 27, 44)) +>x : Symbol(x, Decl(builtinIterator.ts, 27, 44)) + + +class GoodIterator extends Iterator { +>GoodIterator : Symbol(GoodIterator, Decl(builtinIterator.ts, 27, 77)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) + + next() { +>next : Symbol(GoodIterator.next, Decl(builtinIterator.ts, 30, 45)) + + return { done: false, value: 0 } as const; +>done : Symbol(done, Decl(builtinIterator.ts, 32, 12)) +>value : Symbol(value, Decl(builtinIterator.ts, 32, 25)) +>const : Symbol(const) + } +} + +// error cases +new Iterator(); +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) + +class C extends Iterator {} +>C : Symbol(C, Decl(builtinIterator.ts, 37, 23)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) + +// it's unfortunate that these are an error +class BadIterator1 extends Iterator { +>BadIterator1 : Symbol(BadIterator1, Decl(builtinIterator.ts, 39, 35)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) + + next() { +>next : Symbol(BadIterator1.next, Decl(builtinIterator.ts, 42, 45)) + + if (Math.random() < .5) { +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + return { done: false, value: 0 } as const; +>done : Symbol(done, Decl(builtinIterator.ts, 45, 14)) +>value : Symbol(value, Decl(builtinIterator.ts, 45, 27)) +>const : Symbol(const) + + } else { + return { done: true, value: "a string" } as const; +>done : Symbol(done, Decl(builtinIterator.ts, 47, 14)) +>value : Symbol(value, Decl(builtinIterator.ts, 47, 26)) +>const : Symbol(const) + } + } +} + +class BadIterator2 extends Iterator { +>BadIterator2 : Symbol(BadIterator2, Decl(builtinIterator.ts, 50, 1)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) + + next() { +>next : Symbol(BadIterator2.next, Decl(builtinIterator.ts, 52, 45)) + + return { done: false, value: 0 }; +>done : Symbol(done, Decl(builtinIterator.ts, 54, 12)) +>value : Symbol(value, Decl(builtinIterator.ts, 54, 25)) + } +} + +class BadIterator3 extends Iterator { +>BadIterator3 : Symbol(BadIterator3, Decl(builtinIterator.ts, 56, 1)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) + + next() { +>next : Symbol(BadIterator3.next, Decl(builtinIterator.ts, 58, 45)) + + if (Math.random() < .5) { +>Math.random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) +>Math : Symbol(Math, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) +>random : Symbol(Math.random, Decl(lib.es5.d.ts, --, --)) + + return { done: false, value: 0 }; +>done : Symbol(done, Decl(builtinIterator.ts, 61, 14)) +>value : Symbol(value, Decl(builtinIterator.ts, 61, 27)) + + } else { + return { done: true, value: "a string" }; +>done : Symbol(done, Decl(builtinIterator.ts, 63, 14)) +>value : Symbol(value, Decl(builtinIterator.ts, 63, 26)) + } + } +} + +declare const g1: Generator; +>g1 : Symbol(g1, Decl(builtinIterator.ts, 68, 13)) +>Generator : Symbol(Generator, Decl(lib.es2015.generator.d.ts, --, --)) + +const iter1 = Iterator.from(g1); +>iter1 : Symbol(iter1, Decl(builtinIterator.ts, 69, 5)) +>Iterator.from : Symbol(IteratorConstructor.from, Decl(lib.esnext.iterator.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) +>from : Symbol(IteratorConstructor.from, Decl(lib.esnext.iterator.d.ts, --, --)) +>g1 : Symbol(g1, Decl(builtinIterator.ts, 68, 13)) + +declare const iter2: BuiltinIterator; +>iter2 : Symbol(iter2, Decl(builtinIterator.ts, 71, 13)) +>BuiltinIterator : Symbol(BuiltinIterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) +>BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) + +const iter3 = iter2.flatMap(() => g1); +>iter3 : Symbol(iter3, Decl(builtinIterator.ts, 72, 5)) +>iter2.flatMap : Symbol(BuiltinIterator.flatMap, Decl(lib.esnext.iterator.d.ts, --, --)) +>iter2 : Symbol(iter2, Decl(builtinIterator.ts, 71, 13)) +>flatMap : Symbol(BuiltinIterator.flatMap, Decl(lib.esnext.iterator.d.ts, --, --)) +>g1 : Symbol(g1, Decl(builtinIterator.ts, 68, 13)) + diff --git a/tests/baselines/reference/builtinIterator.types b/tests/baselines/reference/builtinIterator.types new file mode 100644 index 00000000000..7ee1560178e --- /dev/null +++ b/tests/baselines/reference/builtinIterator.types @@ -0,0 +1,428 @@ +//// [tests/cases/compiler/builtinIterator.ts] //// + +=== builtinIterator.ts === +const iterator = Iterator.from([0, 1, 2]); +>iterator : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from([0, 1, 2]) : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from : (value: Iterator | Iterable) => BuiltinIterator +> : ^ ^^ ^^ ^^^^^ +>Iterator : IteratorConstructor +> : ^^^^^^^^^^^^^^^^^^^ +>from : (value: Iterator | Iterable) => BuiltinIterator +> : ^ ^^ ^^ ^^^^^ +>[0, 1, 2] : number[] +> : ^^^^^^^^ +>0 : 0 +> : ^ +>1 : 1 +> : ^ +>2 : 2 +> : ^ + +const mapped = iterator.map(String); +>mapped : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.map(String) : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.map : (callbackfn: (value: number, index: number) => U) => BuiltinIterator +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : (callbackfn: (value: number, index: number) => U) => BuiltinIterator +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>String : StringConstructor +> : ^^^^^^^^^^^^^^^^^ + +const filtered = iterator.filter(x => x > 0); +>filtered : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.filter(x => x > 0) : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.filter : { (predicate: (value: number, index: number) => value is S): BuiltinIterator; (predicate: (value: number, index: number) => unknown): BuiltinIterator; } +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>filter : { (predicate: (value: number, index: number) => value is S): BuiltinIterator; (predicate: (value: number, index: number) => unknown): BuiltinIterator; } +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x => x > 0 : (x: number) => boolean +> : ^ ^^^^^^^^^^^^^^^^^^^^ +>x : number +> : ^^^^^^ +>x > 0 : boolean +> : ^^^^^^^ +>x : number +> : ^^^^^^ +>0 : 0 +> : ^ + +function isZero(x: number): x is 0 { +>isZero : (x: number) => x is 0 +> : ^ ^^ ^^^^^ +>x : number +> : ^^^^^^ + + return x === 0; +>x === 0 : boolean +> : ^^^^^^^ +>x : number +> : ^^^^^^ +>0 : 0 +> : ^ +} +const zero = iterator.filter(isZero); +>zero : BuiltinIterator<0, undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.filter(isZero) : BuiltinIterator<0, undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.filter : { (predicate: (value: number, index: number) => value is S): BuiltinIterator; (predicate: (value: number, index: number) => unknown): BuiltinIterator; } +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>filter : { (predicate: (value: number, index: number) => value is S): BuiltinIterator; (predicate: (value: number, index: number) => unknown): BuiltinIterator; } +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>isZero : (x: number) => x is 0 +> : ^ ^^ ^^^^^ + +const iteratorFromBare = Iterator.from({ +>iteratorFromBare : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from({ next() { return { done: Math.random() < .5, value: "a string", }; },}) : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from : (value: Iterator | Iterable) => BuiltinIterator +> : ^ ^^ ^^ ^^^^^ +>Iterator : IteratorConstructor +> : ^^^^^^^^^^^^^^^^^^^ +>from : (value: Iterator | Iterable) => BuiltinIterator +> : ^ ^^ ^^ ^^^^^ +>{ next() { return { done: Math.random() < .5, value: "a string", }; },} : { next(): { done: boolean; value: string; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + next() { +>next : () => { done: boolean; value: string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + return { +>{ done: Math.random() < .5, value: "a string", } : { done: boolean; value: string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + done: Math.random() < .5, +>done : boolean +> : ^^^^^^^ +>Math.random() < .5 : boolean +> : ^^^^^^^ +>Math.random() : number +> : ^^^^^^ +>Math.random : () => number +> : ^^^^^^ +>Math : Math +> : ^^^^ +>random : () => number +> : ^^^^^^ +>.5 : 0.5 +> : ^^^ + + value: "a string", +>value : string +> : ^^^^^^ +>"a string" : "a string" +> : ^^^^^^^^^^ + + }; + }, +}); + + +function* gen() { +>gen : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + yield 0; +>yield 0 : any +> : ^^^ +>0 : 0 +> : ^ +} + +const mappedGen = gen().map(x => x === 0 ? "zero" : "other"); +>mappedGen : BuiltinIterator<"zero" | "other", undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>gen().map(x => x === 0 ? "zero" : "other") : BuiltinIterator<"zero" | "other", undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>gen().map : (callbackfn: (value: number, index: number) => U) => BuiltinIterator +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>gen() : Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>gen : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : (callbackfn: (value: number, index: number) => U) => BuiltinIterator +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x => x === 0 ? "zero" : "other" : (x: number) => "zero" | "other" +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : number +> : ^^^^^^ +>x === 0 ? "zero" : "other" : "zero" | "other" +> : ^^^^^^^^^^^^^^^^ +>x === 0 : boolean +> : ^^^^^^^ +>x : number +> : ^^^^^^ +>0 : 0 +> : ^ +>"zero" : "zero" +> : ^^^^^^ +>"other" : "other" +> : ^^^^^^^ + +const mappedValues = [0, 1, 2].values().map(x => x === 0 ? "zero" : "other"); +>mappedValues : BuiltinIterator<"zero" | "other", undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[0, 1, 2].values().map(x => x === 0 ? "zero" : "other") : BuiltinIterator<"zero" | "other", undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[0, 1, 2].values().map : (callbackfn: (value: number, index: number) => U) => BuiltinIterator +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[0, 1, 2].values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[0, 1, 2].values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[0, 1, 2] : number[] +> : ^^^^^^^^ +>0 : 0 +> : ^ +>1 : 1 +> : ^ +>2 : 2 +> : ^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : (callbackfn: (value: number, index: number) => U) => BuiltinIterator +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x => x === 0 ? "zero" : "other" : (x: number) => "zero" | "other" +> : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>x : number +> : ^^^^^^ +>x === 0 ? "zero" : "other" : "zero" | "other" +> : ^^^^^^^^^^^^^^^^ +>x === 0 : boolean +> : ^^^^^^^ +>x : number +> : ^^^^^^ +>0 : 0 +> : ^ +>"zero" : "zero" +> : ^^^^^^ +>"other" : "other" +> : ^^^^^^^ + + +class GoodIterator extends Iterator { +>GoodIterator : GoodIterator +> : ^^^^^^^^^^^^ +>Iterator : Iterator +> : ^^^^^^^^^^^^^^^^ + + next() { +>next : () => { readonly done: false; readonly value: 0; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + return { done: false, value: 0 } as const; +>{ done: false, value: 0 } as const : { readonly done: false; readonly value: 0; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ done: false, value: 0 } : { readonly done: false; readonly value: 0; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>done : false +> : ^^^^^ +>false : false +> : ^^^^^ +>value : 0 +> : ^ +>0 : 0 +> : ^ + } +} + +// error cases +new Iterator(); +>new Iterator() : any +> : ^^^ +>Iterator : IteratorConstructor +> : ^^^^^^^^^^^^^^^^^^^ + +class C extends Iterator {} +>C : C +> : ^ +>Iterator : Iterator +> : ^^^^^^^^^^^^^^^^ + +// it's unfortunate that these are an error +class BadIterator1 extends Iterator { +>BadIterator1 : BadIterator1 +> : ^^^^^^^^^^^^ +>Iterator : Iterator +> : ^^^^^^^^^^^^^^^^ + + next() { +>next : () => { readonly done: false; readonly value: 0; } | { readonly done: true; readonly value: "a string"; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + if (Math.random() < .5) { +>Math.random() < .5 : boolean +> : ^^^^^^^ +>Math.random() : number +> : ^^^^^^ +>Math.random : () => number +> : ^^^^^^ +>Math : Math +> : ^^^^ +>random : () => number +> : ^^^^^^ +>.5 : 0.5 +> : ^^^ + + return { done: false, value: 0 } as const; +>{ done: false, value: 0 } as const : { readonly done: false; readonly value: 0; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ done: false, value: 0 } : { readonly done: false; readonly value: 0; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>done : false +> : ^^^^^ +>false : false +> : ^^^^^ +>value : 0 +> : ^ +>0 : 0 +> : ^ + + } else { + return { done: true, value: "a string" } as const; +>{ done: true, value: "a string" } as const : { readonly done: true; readonly value: "a string"; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ done: true, value: "a string" } : { readonly done: true; readonly value: "a string"; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>done : true +> : ^^^^ +>true : true +> : ^^^^ +>value : "a string" +> : ^^^^^^^^^^ +>"a string" : "a string" +> : ^^^^^^^^^^ + } + } +} + +class BadIterator2 extends Iterator { +>BadIterator2 : BadIterator2 +> : ^^^^^^^^^^^^ +>Iterator : Iterator +> : ^^^^^^^^^^^^^^^^ + + next() { +>next : () => { done: boolean; value: number; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + return { done: false, value: 0 }; +>{ done: false, value: 0 } : { done: boolean; value: number; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>done : boolean +> : ^^^^^^^ +>false : false +> : ^^^^^ +>value : number +> : ^^^^^^ +>0 : 0 +> : ^ + } +} + +class BadIterator3 extends Iterator { +>BadIterator3 : BadIterator3 +> : ^^^^^^^^^^^^ +>Iterator : Iterator +> : ^^^^^^^^^^^^^^^^ + + next() { +>next : () => { done: boolean; value: number; } | { done: boolean; value: string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + + if (Math.random() < .5) { +>Math.random() < .5 : boolean +> : ^^^^^^^ +>Math.random() : number +> : ^^^^^^ +>Math.random : () => number +> : ^^^^^^ +>Math : Math +> : ^^^^ +>random : () => number +> : ^^^^^^ +>.5 : 0.5 +> : ^^^ + + return { done: false, value: 0 }; +>{ done: false, value: 0 } : { done: boolean; value: number; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>done : boolean +> : ^^^^^^^ +>false : false +> : ^^^^^ +>value : number +> : ^^^^^^ +>0 : 0 +> : ^ + + } else { + return { done: true, value: "a string" }; +>{ done: true, value: "a string" } : { done: boolean; value: string; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>done : boolean +> : ^^^^^^^ +>true : true +> : ^^^^ +>value : string +> : ^^^^^^ +>"a string" : "a string" +> : ^^^^^^^^^^ + } + } +} + +declare const g1: Generator; +>g1 : Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +const iter1 = Iterator.from(g1); +>iter1 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from(g1) : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from : (value: Iterator | Iterable) => BuiltinIterator +> : ^ ^^ ^^ ^^^^^ +>Iterator : IteratorConstructor +> : ^^^^^^^^^^^^^^^^^^^ +>from : (value: Iterator | Iterable) => BuiltinIterator +> : ^ ^^ ^^ ^^^^^ +>g1 : Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +declare const iter2: BuiltinIterator; +>iter2 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +const iter3 = iter2.flatMap(() => g1); +>iter3 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iter2.flatMap(() => g1) : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iter2.flatMap : (callback: (value: string, index: number) => Iterator | Iterable) => BuiltinIterator +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iter2 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>flatMap : (callback: (value: string, index: number) => Iterator | Iterable) => BuiltinIterator +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>() => g1 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g1 : Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).types b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).types index 914c702b131..3ed79289266 100644 --- a/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).types +++ b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).types @@ -14,12 +14,12 @@ declare const set: Set; > : ^^^^^^^^^^^ const i0 = array[Symbol.iterator](); ->i0 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->array[Symbol.iterator]() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->array[Symbol.iterator] : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i0 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array[Symbol.iterator]() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array[Symbol.iterator] : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >array : number[] > : ^^^^^^^^ >Symbol.iterator : unique symbol @@ -30,40 +30,40 @@ const i0 = array[Symbol.iterator](); > : ^^^^^^^^^^^^^ const i1 = array.values(); ->i1 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->array.values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->array.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i1 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >array : number[] > : ^^^^^^^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const i2 = array.keys(); ->i2 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->array.keys() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->array.keys : () => IterableIterator -> : ^^^^^^ +>i2 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.keys() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.keys : () => BuiltinIterator +> : ^^^^^^ >array : number[] > : ^^^^^^^^ ->keys : () => IterableIterator -> : ^^^^^^ +>keys : () => BuiltinIterator +> : ^^^^^^ const i3 = array.entries(); ->i3 : IterableIterator<[number, number]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.entries() : IterableIterator<[number, number]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.entries : () => IterableIterator<[number, number]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i3 : BuiltinIterator<[number, number], any, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.entries() : BuiltinIterator<[number, number], any, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.entries : () => BuiltinIterator<[number, number], any, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >array : number[] > : ^^^^^^^^ ->entries : () => IterableIterator<[number, number]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>entries : () => BuiltinIterator<[number, number], any, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ for (const x of array); >x : number @@ -72,12 +72,12 @@ for (const x of array); > : ^^^^^^^^ const i4 = map[Symbol.iterator](); ->i4 : IterableIterator<[string, number]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map[Symbol.iterator]() : IterableIterator<[string, number]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map[Symbol.iterator] : () => IterableIterator<[string, number]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i4 : BuiltinIterator<[string, number], any, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map[Symbol.iterator]() : BuiltinIterator<[string, number], any, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map[Symbol.iterator] : () => BuiltinIterator<[string, number], any, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ >Symbol.iterator : unique symbol @@ -88,40 +88,40 @@ const i4 = map[Symbol.iterator](); > : ^^^^^^^^^^^^^ const i5 = map.values(); ->i5 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i5 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const i6 = map.keys(); ->i6 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->map.keys() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->map.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i6 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.keys() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const i7 = map.entries(); ->i7 : IterableIterator<[string, number]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.entries() : IterableIterator<[string, number]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.entries : () => IterableIterator<[string, number]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i7 : BuiltinIterator<[string, number], any, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.entries() : BuiltinIterator<[string, number], any, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.entries : () => BuiltinIterator<[string, number], any, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->entries : () => IterableIterator<[string, number]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>entries : () => BuiltinIterator<[string, number], any, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ for (const x of map); >x : [string, number] @@ -130,12 +130,12 @@ for (const x of map); > : ^^^^^^^^^^^^^^^^^^^ const i8 = set[Symbol.iterator](); ->i8 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->set[Symbol.iterator]() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->set[Symbol.iterator] : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i8 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set[Symbol.iterator]() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set[Symbol.iterator] : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ >Symbol.iterator : unique symbol @@ -146,40 +146,40 @@ const i8 = set[Symbol.iterator](); > : ^^^^^^^^^^^^^ const i9 = set.values(); ->i9 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i9 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const i10 = set.keys(); ->i10 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->set.keys() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->set.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i10 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.keys() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const i11 = set.entries(); ->i11 : IterableIterator<[number, number]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.entries() : IterableIterator<[number, number]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.entries : () => IterableIterator<[number, number]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i11 : BuiltinIterator<[number, number], any, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.entries() : BuiltinIterator<[number, number], any, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.entries : () => BuiltinIterator<[number, number], any, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->entries : () => IterableIterator<[number, number]> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>entries : () => BuiltinIterator<[number, number], any, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ for (const x of set); >x : number diff --git a/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).types b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).types index f0ffe8c1d63..4a4d461d4a7 100644 --- a/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).types +++ b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).types @@ -14,12 +14,12 @@ declare const set: Set; > : ^^^^^^^^^^^ const i0 = array[Symbol.iterator](); ->i0 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array[Symbol.iterator]() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array[Symbol.iterator] : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i0 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array[Symbol.iterator]() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array[Symbol.iterator] : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >array : number[] > : ^^^^^^^^ >Symbol.iterator : unique symbol @@ -30,40 +30,40 @@ const i0 = array[Symbol.iterator](); > : ^^^^^^^^^^^^^ const i1 = array.values(); ->i1 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i1 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >array : number[] > : ^^^^^^^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const i2 = array.keys(); ->i2 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.keys() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.keys : () => IterableIterator -> : ^^^^^^ +>i2 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.keys() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.keys : () => BuiltinIterator +> : ^^^^^^ >array : number[] > : ^^^^^^^^ ->keys : () => IterableIterator -> : ^^^^^^ +>keys : () => BuiltinIterator +> : ^^^^^^ const i3 = array.entries(); ->i3 : IterableIterator<[number, number], undefined> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.entries() : IterableIterator<[number, number], undefined> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.entries : () => IterableIterator<[number, number], undefined> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i3 : BuiltinIterator<[number, number], undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.entries() : BuiltinIterator<[number, number], undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.entries : () => BuiltinIterator<[number, number], undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >array : number[] > : ^^^^^^^^ ->entries : () => IterableIterator<[number, number], undefined> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>entries : () => BuiltinIterator<[number, number], undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ for (const x of array); >x : number @@ -72,12 +72,12 @@ for (const x of array); > : ^^^^^^^^ const i4 = map[Symbol.iterator](); ->i4 : IterableIterator<[string, number], undefined> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map[Symbol.iterator]() : IterableIterator<[string, number], undefined> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map[Symbol.iterator] : () => IterableIterator<[string, number], undefined> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i4 : BuiltinIterator<[string, number], undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map[Symbol.iterator]() : BuiltinIterator<[string, number], undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map[Symbol.iterator] : () => BuiltinIterator<[string, number], undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ >Symbol.iterator : unique symbol @@ -88,40 +88,40 @@ const i4 = map[Symbol.iterator](); > : ^^^^^^^^^^^^^ const i5 = map.values(); ->i5 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i5 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const i6 = map.keys(); ->i6 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.keys() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i6 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.keys() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const i7 = map.entries(); ->i7 : IterableIterator<[string, number], undefined> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.entries() : IterableIterator<[string, number], undefined> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.entries : () => IterableIterator<[string, number], undefined> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i7 : BuiltinIterator<[string, number], undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.entries() : BuiltinIterator<[string, number], undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.entries : () => BuiltinIterator<[string, number], undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->entries : () => IterableIterator<[string, number], undefined> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>entries : () => BuiltinIterator<[string, number], undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ for (const x of map); >x : [string, number] @@ -130,12 +130,12 @@ for (const x of map); > : ^^^^^^^^^^^^^^^^^^^ const i8 = set[Symbol.iterator](); ->i8 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set[Symbol.iterator]() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set[Symbol.iterator] : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i8 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set[Symbol.iterator]() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set[Symbol.iterator] : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ >Symbol.iterator : unique symbol @@ -146,40 +146,40 @@ const i8 = set[Symbol.iterator](); > : ^^^^^^^^^^^^^ const i9 = set.values(); ->i9 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i9 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const i10 = set.keys(); ->i10 : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.keys() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i10 : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.keys() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const i11 = set.entries(); ->i11 : IterableIterator<[number, number], undefined> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.entries() : IterableIterator<[number, number], undefined> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.entries : () => IterableIterator<[number, number], undefined> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i11 : BuiltinIterator<[number, number], undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.entries() : BuiltinIterator<[number, number], undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.entries : () => BuiltinIterator<[number, number], undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->entries : () => IterableIterator<[number, number], undefined> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>entries : () => BuiltinIterator<[number, number], undefined, any> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ for (const x of set); >x : number diff --git a/tests/baselines/reference/bundlerDirectoryModule(moduleresolution=bundler).trace.json b/tests/baselines/reference/bundlerDirectoryModule(moduleresolution=bundler).trace.json index 8934226b9c5..411dbddcecb 100644 --- a/tests/baselines/reference/bundlerDirectoryModule(moduleresolution=bundler).trace.json +++ b/tests/baselines/reference/bundlerDirectoryModule(moduleresolution=bundler).trace.json @@ -941,6 +941,19 @@ "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", "Directory '/node_modules' does not exist, skipping all lookups in it.", "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/bundlerDirectoryModule(moduleresolution=nodenext).trace.json b/tests/baselines/reference/bundlerDirectoryModule(moduleresolution=nodenext).trace.json index 1f3f12c6112..512fe8819a3 100644 --- a/tests/baselines/reference/bundlerDirectoryModule(moduleresolution=nodenext).trace.json +++ b/tests/baselines/reference/bundlerDirectoryModule(moduleresolution=nodenext).trace.json @@ -1089,6 +1089,21 @@ "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", "File '/.ts/package.json' does not exist according to earlier cached lookups.", "File '/package.json' does not exist according to earlier cached lookups.", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse --lib option with extra comma.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse --lib option with extra comma.js index 44a56c66ec5..cfcd52b395b 100644 --- a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse --lib option with extra comma.js +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse --lib option with extra comma.js @@ -10,4 +10,4 @@ WatchOptions:: FileNames:: es7,0.ts Errors:: -error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'decorators', 'decorators.legacy'. +error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'esnext.iterator', 'decorators', 'decorators.legacy'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse --lib option with trailing white-space.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse --lib option with trailing white-space.js index 87aeb7b21a2..596b4249a3c 100644 --- a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse --lib option with trailing white-space.js +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse --lib option with trailing white-space.js @@ -10,4 +10,4 @@ WatchOptions:: FileNames:: es7,0.ts Errors:: -error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'decorators', 'decorators.legacy'. +error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'esnext.iterator', 'decorators', 'decorators.legacy'. diff --git a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse invalid option of library flags.js b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse invalid option of library flags.js index 0213cdbf5b8..807f4f9583f 100644 --- a/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse invalid option of library flags.js +++ b/tests/baselines/reference/config/commandLineParsing/parseCommandLine/Parse invalid option of library flags.js @@ -10,4 +10,4 @@ WatchOptions:: FileNames:: 0.ts Errors:: -error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'decorators', 'decorators.legacy'. +error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'esnext.iterator', 'decorators', 'decorators.legacy'. diff --git a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs array to compiler-options with json api.js b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs array to compiler-options with json api.js index 04028e2fda1..29cc5e97530 100644 --- a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs array to compiler-options with json api.js +++ b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs array to compiler-options with json api.js @@ -30,5 +30,5 @@ CompilerOptions:: "configFilePath": "/apath/tsconfig.json" } Errors:: -error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'decorators', 'decorators.legacy'. +error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'esnext.iterator', 'decorators', 'decorators.legacy'. diff --git a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs array to compiler-options with jsonSourceFile api.js b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs array to compiler-options with jsonSourceFile api.js index 768504a0158..5166204b479 100644 --- a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs array to compiler-options with jsonSourceFile api.js +++ b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs array to compiler-options with jsonSourceFile api.js @@ -30,7 +30,7 @@ CompilerOptions:: "configFilePath": "/apath/tsconfig.json" } Errors:: -tsconfig.json:8:7 - error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'decorators', 'decorators.legacy'. +tsconfig.json:8:7 - error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'esnext.iterator', 'decorators', 'decorators.legacy'. 8 ""    ~~ diff --git a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs to compiler-options with json api.js b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs to compiler-options with json api.js index 12cd9f9a69f..1256fcb0be3 100644 --- a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs to compiler-options with json api.js +++ b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs to compiler-options with json api.js @@ -33,5 +33,5 @@ CompilerOptions:: "configFilePath": "/apath/tsconfig.json" } Errors:: -error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'decorators', 'decorators.legacy'. +error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'esnext.iterator', 'decorators', 'decorators.legacy'. diff --git a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs to compiler-options with jsonSourceFile api.js b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs to compiler-options with jsonSourceFile api.js index b220f686852..db849a0aecc 100644 --- a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs to compiler-options with jsonSourceFile api.js +++ b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert empty string option of libs to compiler-options with jsonSourceFile api.js @@ -33,7 +33,7 @@ CompilerOptions:: "configFilePath": "/apath/tsconfig.json" } Errors:: -tsconfig.json:9:7 - error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'decorators', 'decorators.legacy'. +tsconfig.json:9:7 - error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'esnext.iterator', 'decorators', 'decorators.legacy'. 9 ""    ~~ diff --git a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert incorrect option of libs to compiler-options with json api.js b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert incorrect option of libs to compiler-options with json api.js index 53df38f31b2..e1d795e42bd 100644 --- a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert incorrect option of libs to compiler-options with json api.js +++ b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert incorrect option of libs to compiler-options with json api.js @@ -35,5 +35,5 @@ CompilerOptions:: "configFilePath": "/apath/tsconfig.json" } Errors:: -error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'decorators', 'decorators.legacy'. +error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'esnext.iterator', 'decorators', 'decorators.legacy'. diff --git a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert incorrect option of libs to compiler-options with jsonSourceFile api.js b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert incorrect option of libs to compiler-options with jsonSourceFile api.js index d528f18a595..21f96c3a576 100644 --- a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert incorrect option of libs to compiler-options with jsonSourceFile api.js +++ b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert incorrect option of libs to compiler-options with jsonSourceFile api.js @@ -35,7 +35,7 @@ CompilerOptions:: "configFilePath": "/apath/tsconfig.json" } Errors:: -tsconfig.json:10:7 - error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'decorators', 'decorators.legacy'. +tsconfig.json:10:7 - error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'esnext.iterator', 'decorators', 'decorators.legacy'. 10 "incorrectLib"    ~~~~~~~~~~~~~~ diff --git a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert trailing-whitespace string option of libs to compiler-options with json api.js b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert trailing-whitespace string option of libs to compiler-options with json api.js index 910344faabc..b4f79a2e2c1 100644 --- a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert trailing-whitespace string option of libs to compiler-options with json api.js +++ b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert trailing-whitespace string option of libs to compiler-options with json api.js @@ -30,5 +30,5 @@ CompilerOptions:: "configFilePath": "/apath/tsconfig.json" } Errors:: -error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'decorators', 'decorators.legacy'. +error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'esnext.iterator', 'decorators', 'decorators.legacy'. diff --git a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert trailing-whitespace string option of libs to compiler-options with jsonSourceFile api.js b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert trailing-whitespace string option of libs to compiler-options with jsonSourceFile api.js index 0878868862d..8c18f04855e 100644 --- a/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert trailing-whitespace string option of libs to compiler-options with jsonSourceFile api.js +++ b/tests/baselines/reference/config/convertCompilerOptionsFromJson/Convert trailing-whitespace string option of libs to compiler-options with jsonSourceFile api.js @@ -30,7 +30,7 @@ CompilerOptions:: "configFilePath": "/apath/tsconfig.json" } Errors:: -tsconfig.json:8:7 - error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'decorators', 'decorators.legacy'. +tsconfig.json:8:7 - error TS6046: Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'esnext.iterator', 'decorators', 'decorators.legacy'. 8 " "    ~~~~~ diff --git a/tests/baselines/reference/dependentDestructuredVariables.symbols b/tests/baselines/reference/dependentDestructuredVariables.symbols index ae71b255d1a..f3d5beb7b98 100644 --- a/tests/baselines/reference/dependentDestructuredVariables.symbols +++ b/tests/baselines/reference/dependentDestructuredVariables.symbols @@ -477,7 +477,7 @@ const reducerBroken = (state: number, { type, payload }: Action3) => { declare var it: Iterator; >it : Symbol(it, Decl(dependentDestructuredVariables.ts, 183, 11)) ->Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) const { value, done } = it.next(); >value : Symbol(value, Decl(dependentDestructuredVariables.ts, 184, 7)) diff --git a/tests/baselines/reference/dependentDestructuredVariables.types b/tests/baselines/reference/dependentDestructuredVariables.types index 290bb2d3973..1b829f101d4 100644 --- a/tests/baselines/reference/dependentDestructuredVariables.types +++ b/tests/baselines/reference/dependentDestructuredVariables.types @@ -2,7 +2,7 @@ === Performance Stats === Type Count: 2,500 -Instantiation count: 1,000 +Instantiation count: 5,000 === dependentDestructuredVariables.ts === type Action = diff --git a/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types b/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types index 5259f7d4b49..3a69a723a7b 100644 --- a/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types +++ b/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types @@ -8,16 +8,16 @@ let { [Symbol.iterator]: destructured } = []; > : ^^^^^^^^^^^^^^^^^ >iterator : unique symbol > : ^^^^^^^^^^^^^ ->destructured : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>destructured : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ void destructured; >void destructured : undefined > : ^^^^^^^^^ ->destructured : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>destructured : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const named = "prop"; >named : "prop" diff --git a/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types b/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types index d53b79137fc..a5fdfa43c94 100644 --- a/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types +++ b/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types @@ -1,5 +1,9 @@ //// [tests/cases/compiler/esNextWeakRefs_IterableWeakMap.ts] //// +=== Performance Stats === +Type Count: 1,000 +Instantiation count: 1,000 -> 2,500 + === esNextWeakRefs_IterableWeakMap.ts === /** `static #cleanup` */ const IterableWeakMap_cleanup = ({ ref, set }: { diff --git a/tests/baselines/reference/for-of12.types b/tests/baselines/reference/for-of12.types index 24c0ba69b97..3bab8ba5859 100644 --- a/tests/baselines/reference/for-of12.types +++ b/tests/baselines/reference/for-of12.types @@ -8,16 +8,16 @@ var v: string; for (v of [0, ""].values()) { } >v : string > : ^^^^^^ ->[0, ""].values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->[0, ""].values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[0, ""].values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[0, ""].values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[0, ""] : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ >"" : "" > : ^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of13.types b/tests/baselines/reference/for-of13.types index 6bfdc1fe849..42aef034f74 100644 --- a/tests/baselines/reference/for-of13.types +++ b/tests/baselines/reference/for-of13.types @@ -8,14 +8,14 @@ var v: string; for (v of [""].values()) { } >v : string > : ^^^^^^ ->[""].values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->[""].values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[""].values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[""].values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[""] : string[] > : ^^^^^^^^ >"" : "" > : ^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/generatorReturnContextualType.symbols b/tests/baselines/reference/generatorReturnContextualType.symbols index 276b6fd013a..ebaa5c3f235 100644 --- a/tests/baselines/reference/generatorReturnContextualType.symbols +++ b/tests/baselines/reference/generatorReturnContextualType.symbols @@ -14,7 +14,7 @@ function* f1(): Generator { function* g1(): Iterator { >g1 : Symbol(g1, Decl(generatorReturnContextualType.ts, 4, 1)) ->Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) >x : Symbol(x, Decl(generatorReturnContextualType.ts, 6, 31)) return { x: 'x' }; diff --git a/tests/baselines/reference/generatorReturnExpressionIsChecked.symbols b/tests/baselines/reference/generatorReturnExpressionIsChecked.symbols index 6366a757256..976b4c3114d 100644 --- a/tests/baselines/reference/generatorReturnExpressionIsChecked.symbols +++ b/tests/baselines/reference/generatorReturnExpressionIsChecked.symbols @@ -3,7 +3,7 @@ === generatorReturnExpressionIsChecked.ts === function* f(): Iterator { >f : Symbol(f, Decl(generatorReturnExpressionIsChecked.ts, 0, 0)) ->Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) return invalid; } diff --git a/tests/baselines/reference/generatorReturnTypeIndirectReferenceToGlobalType.symbols b/tests/baselines/reference/generatorReturnTypeIndirectReferenceToGlobalType.symbols index 555b7048d41..a4fae06f899 100644 --- a/tests/baselines/reference/generatorReturnTypeIndirectReferenceToGlobalType.symbols +++ b/tests/baselines/reference/generatorReturnTypeIndirectReferenceToGlobalType.symbols @@ -3,7 +3,7 @@ === generatorReturnTypeIndirectReferenceToGlobalType.ts === interface I1 extends Iterator<0, 1, 2> {} >I1 : Symbol(I1, Decl(generatorReturnTypeIndirectReferenceToGlobalType.ts, 0, 0)) ->Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) function* f1(): I1 { >f1 : Symbol(f1, Decl(generatorReturnTypeIndirectReferenceToGlobalType.ts, 0, 41)) diff --git a/tests/baselines/reference/generatorYieldContextualType.types b/tests/baselines/reference/generatorYieldContextualType.types index 70ee0b52e5c..f4bade2d738 100644 --- a/tests/baselines/reference/generatorYieldContextualType.types +++ b/tests/baselines/reference/generatorYieldContextualType.types @@ -1,5 +1,9 @@ //// [tests/cases/conformance/generators/generatorYieldContextualType.ts] //// +=== Performance Stats === +Type Count: 1,000 +Instantiation count: 2,500 + === generatorYieldContextualType.ts === declare function f1(gen: () => Generator): void; >f1 : (gen: () => Generator) => void diff --git a/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types b/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types index 6003f038d36..65c655b1ea3 100644 --- a/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types +++ b/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types @@ -13,8 +13,8 @@ const Symbol = globalThis.Symbol; > : ^^^^^^^^^^^^^^^^^ [][Symbol.iterator]; ->[][Symbol.iterator] : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[][Symbol.iterator] : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >Symbol.iterator : unique symbol diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).js b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).js index 0c0f14988e4..b79d0bfee7f 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).js +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).js @@ -37,10 +37,9 @@ class MyMap implements Map { get(key: string): number | undefined { return undefined; } has(key: string): boolean { return false; } set(key: string, value: number): this { return this; } - entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } - keys(): IterableIterator { throw new Error("Method not implemented."); } - - [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + keys(): BuiltinIterator { throw new Error("Method not implemented."); } + [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` * values() { diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).symbols b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).symbols index b72ed04227d..c1e1de41c30 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).symbols +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).symbols @@ -118,30 +118,30 @@ class MyMap implements Map { >value : Symbol(value, Decl(iterableTReturnTNext.ts, 35, 20)) >this : Symbol(MyMap, Decl(iterableTReturnTNext.ts, 21, 57)) - entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } >entries : Symbol(MyMap.entries, Decl(iterableTReturnTNext.ts, 35, 58)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>BuiltinIterator : Symbol(BuiltinIterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) >BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) - keys(): IterableIterator { throw new Error("Method not implemented."); } ->keys : Symbol(MyMap.keys, Decl(iterableTReturnTNext.ts, 36, 120)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) + keys(): BuiltinIterator { throw new Error("Method not implemented."); } +>keys : Symbol(MyMap.keys, Decl(iterableTReturnTNext.ts, 36, 119)) +>BuiltinIterator : Symbol(BuiltinIterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) >BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) - [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } ->[Symbol.iterator] : Symbol(MyMap[Symbol.iterator], Decl(iterableTReturnTNext.ts, 37, 107)) + [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } +>[Symbol.iterator] : Symbol(MyMap[Symbol.iterator], Decl(iterableTReturnTNext.ts, 37, 106)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>BuiltinIterator : Symbol(BuiltinIterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) >BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` * values() { ->values : Symbol(MyMap.values, Decl(iterableTReturnTNext.ts, 39, 130)) +>values : Symbol(MyMap.values, Decl(iterableTReturnTNext.ts, 38, 129)) yield* this._values; >this._values : Symbol(MyMap._values, Decl(iterableTReturnTNext.ts, 25, 36)) diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types index be54143d328..64293b894db 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types @@ -20,14 +20,14 @@ const r1: number = map.values().next().value; // error when strictBuiltinIterato > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map.values().next : (...[value]: [] | [any]) => IteratorResult > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...[value]: [] | [any]) => IteratorResult > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : any @@ -50,14 +50,14 @@ const r2: Next = map.values().next(); // error when strictBuiltinIterato > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map.values().next : (...[value]: [] | [any]) => IteratorResult > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...[value]: [] | [any]) => IteratorResult > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -102,14 +102,14 @@ const r3: number | undefined = set.values().next().value; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set.values().next : (...[value]: [] | [any]) => IteratorResult > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...[value]: [] | [any]) => IteratorResult > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : any @@ -193,9 +193,9 @@ class MyMap implements Map { >this : this > : ^^^^ - entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } ->entries : () => IterableIterator<[string, number], BuiltinIteratorReturn> -> : ^^^^^^ + entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } +>entries : () => BuiltinIterator<[string, number], BuiltinIteratorReturn> +> : ^^^^^^ >new Error("Method not implemented.") : Error > : ^^^^^ >Error : ErrorConstructor @@ -203,9 +203,9 @@ class MyMap implements Map { >"Method not implemented." : "Method not implemented." > : ^^^^^^^^^^^^^^^^^^^^^^^^^ - keys(): IterableIterator { throw new Error("Method not implemented."); } ->keys : () => IterableIterator -> : ^^^^^^ + keys(): BuiltinIterator { throw new Error("Method not implemented."); } +>keys : () => BuiltinIterator +> : ^^^^^^ >new Error("Method not implemented.") : Error > : ^^^^^ >Error : ErrorConstructor @@ -213,9 +213,9 @@ class MyMap implements Map { >"Method not implemented." : "Method not implemented." > : ^^^^^^^^^^^^^^^^^^^^^^^^^ - [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } ->[Symbol.iterator] : () => IterableIterator<[string, number], BuiltinIteratorReturn> -> : ^^^^^^ + [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } +>[Symbol.iterator] : () => BuiltinIterator<[string, number], BuiltinIteratorReturn> +> : ^^^^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).errors.txt b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).errors.txt index f5134dd19f0..4912e19f699 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).errors.txt +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).errors.txt @@ -4,9 +4,9 @@ iterableTReturnTNext.ts(14,7): error TS2322: Type 'IteratorResult' is not assignable to type 'Next'. Types of property 'value' are incompatible. Type 'undefined' is not assignable to type 'number'. -iterableTReturnTNext.ts(43,7): error TS2416: Property 'values' in type 'MyMap' is not assignable to the same property in base type 'Map'. - Type '() => Generator' is not assignable to type '() => IterableIterator'. - Call signature return types 'Generator' and 'IterableIterator' are incompatible. +iterableTReturnTNext.ts(42,7): error TS2416: Property 'values' in type 'MyMap' is not assignable to the same property in base type 'Map'. + Type '() => Generator' is not assignable to type '() => BuiltinIterator'. + Call signature return types 'Generator' and 'BuiltinIterator' are incompatible. The types returned by 'next(...)' are incompatible between these types. Type 'IteratorResult' is not assignable to type 'IteratorResult'. Type 'IteratorReturnResult' is not assignable to type 'IteratorResult'. @@ -59,17 +59,16 @@ iterableTReturnTNext.ts(43,7): error TS2416: Property 'values' in type 'MyMap' i get(key: string): number | undefined { return undefined; } has(key: string): boolean { return false; } set(key: string, value: number): this { return this; } - entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } - keys(): IterableIterator { throw new Error("Method not implemented."); } - - [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + keys(): BuiltinIterator { throw new Error("Method not implemented."); } + [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` * values() { ~~~~~~ !!! error TS2416: Property 'values' in type 'MyMap' is not assignable to the same property in base type 'Map'. -!!! error TS2416: Type '() => Generator' is not assignable to type '() => IterableIterator'. -!!! error TS2416: Call signature return types 'Generator' and 'IterableIterator' are incompatible. +!!! error TS2416: Type '() => Generator' is not assignable to type '() => BuiltinIterator'. +!!! error TS2416: Call signature return types 'Generator' and 'BuiltinIterator' are incompatible. !!! error TS2416: The types returned by 'next(...)' are incompatible between these types. !!! error TS2416: Type 'IteratorResult' is not assignable to type 'IteratorResult'. !!! error TS2416: Type 'IteratorReturnResult' is not assignable to type 'IteratorResult'. diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).js b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).js index 0c0f14988e4..b79d0bfee7f 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).js +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).js @@ -37,10 +37,9 @@ class MyMap implements Map { get(key: string): number | undefined { return undefined; } has(key: string): boolean { return false; } set(key: string, value: number): this { return this; } - entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } - keys(): IterableIterator { throw new Error("Method not implemented."); } - - [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + keys(): BuiltinIterator { throw new Error("Method not implemented."); } + [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` * values() { diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).symbols b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).symbols index b72ed04227d..c1e1de41c30 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).symbols +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).symbols @@ -118,30 +118,30 @@ class MyMap implements Map { >value : Symbol(value, Decl(iterableTReturnTNext.ts, 35, 20)) >this : Symbol(MyMap, Decl(iterableTReturnTNext.ts, 21, 57)) - entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } >entries : Symbol(MyMap.entries, Decl(iterableTReturnTNext.ts, 35, 58)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>BuiltinIterator : Symbol(BuiltinIterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) >BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) - keys(): IterableIterator { throw new Error("Method not implemented."); } ->keys : Symbol(MyMap.keys, Decl(iterableTReturnTNext.ts, 36, 120)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) + keys(): BuiltinIterator { throw new Error("Method not implemented."); } +>keys : Symbol(MyMap.keys, Decl(iterableTReturnTNext.ts, 36, 119)) +>BuiltinIterator : Symbol(BuiltinIterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) >BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) - [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } ->[Symbol.iterator] : Symbol(MyMap[Symbol.iterator], Decl(iterableTReturnTNext.ts, 37, 107)) + [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } +>[Symbol.iterator] : Symbol(MyMap[Symbol.iterator], Decl(iterableTReturnTNext.ts, 37, 106)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ->IterableIterator : Symbol(IterableIterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>BuiltinIterator : Symbol(BuiltinIterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) >BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` * values() { ->values : Symbol(MyMap.values, Decl(iterableTReturnTNext.ts, 39, 130)) +>values : Symbol(MyMap.values, Decl(iterableTReturnTNext.ts, 38, 129)) yield* this._values; >this._values : Symbol(MyMap._values, Decl(iterableTReturnTNext.ts, 25, 36)) diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types index a3a82d1ba85..71a1e6da575 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types @@ -21,14 +21,14 @@ const r1: number = map.values().next().value; // error when strictBuiltinIterato > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map.values().next : (...[value]: [] | [any]) => IteratorResult > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...[value]: [] | [any]) => IteratorResult > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : number | undefined @@ -51,14 +51,14 @@ const r2: Next = map.values().next(); // error when strictBuiltinIterato > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map.values().next : (...[value]: [] | [any]) => IteratorResult > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...[value]: [] | [any]) => IteratorResult > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -107,14 +107,14 @@ const r3: number | undefined = set.values().next().value; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set.values().next : (...[value]: [] | [any]) => IteratorResult > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->values : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >next : (...[value]: [] | [any]) => IteratorResult > : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : number | undefined @@ -199,9 +199,9 @@ class MyMap implements Map { >this : this > : ^^^^ - entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } ->entries : () => IterableIterator<[string, number], BuiltinIteratorReturn> -> : ^^^^^^ + entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } +>entries : () => BuiltinIterator<[string, number], BuiltinIteratorReturn> +> : ^^^^^^ >new Error("Method not implemented.") : Error > : ^^^^^ >Error : ErrorConstructor @@ -209,9 +209,9 @@ class MyMap implements Map { >"Method not implemented." : "Method not implemented." > : ^^^^^^^^^^^^^^^^^^^^^^^^^ - keys(): IterableIterator { throw new Error("Method not implemented."); } ->keys : () => IterableIterator -> : ^^^^^^ + keys(): BuiltinIterator { throw new Error("Method not implemented."); } +>keys : () => BuiltinIterator +> : ^^^^^^ >new Error("Method not implemented.") : Error > : ^^^^^ >Error : ErrorConstructor @@ -219,9 +219,9 @@ class MyMap implements Map { >"Method not implemented." : "Method not implemented." > : ^^^^^^^^^^^^^^^^^^^^^^^^^ - [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } ->[Symbol.iterator] : () => IterableIterator<[string, number], BuiltinIteratorReturn> -> : ^^^^^^ + [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } +>[Symbol.iterator] : () => BuiltinIterator<[string, number], BuiltinIteratorReturn> +> : ^^^^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor diff --git a/tests/baselines/reference/libCompileChecks.types b/tests/baselines/reference/libCompileChecks.types index d2715dfaf68..6015f4c5117 100644 --- a/tests/baselines/reference/libCompileChecks.types +++ b/tests/baselines/reference/libCompileChecks.types @@ -1,9 +1,9 @@ //// [tests/cases/compiler/libCompileChecks.ts] //// === Performance Stats === -Assignability cache: 2,500 +Assignability cache: 5,000 Type Count: 10,000 -Instantiation count: 2,500 +Instantiation count: 5,000 === libCompileChecks.ts === diff --git a/tests/baselines/reference/mapGroupBy.types b/tests/baselines/reference/mapGroupBy.types index 090af0f19de..dde7f5accd8 100644 --- a/tests/baselines/reference/mapGroupBy.types +++ b/tests/baselines/reference/mapGroupBy.types @@ -1,5 +1,9 @@ //// [tests/cases/compiler/mapGroupBy.ts] //// +=== Performance Stats === +Type Count: 1,000 +Instantiation count: 2,500 + === mapGroupBy.ts === const basic = Map.groupBy([0, 2, 8], x => x < 5 ? 'small' : 'large'); >basic : Map<"small" | "large", number[]> diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.errors.txt b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.errors.txt index 380aa151c2c..bca4e124b9e 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.errors.txt +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.errors.txt @@ -1,4 +1,4 @@ -mappedTypeWithAsClauseAndLateBoundProperty.ts(3,1): error TS2741: Property 'length' is missing in type '{ [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: NumberFormatOptions & DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; }' but required in type 'number[]'. +mappedTypeWithAsClauseAndLateBoundProperty.ts(3,1): error TS2741: Property 'length' is missing in type '{ [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: NumberFormatOptions & DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; }' but required in type 'number[]'. ==== mappedTypeWithAsClauseAndLateBoundProperty.ts (1 errors) ==== @@ -6,6 +6,6 @@ mappedTypeWithAsClauseAndLateBoundProperty.ts(3,1): error TS2741: Property 'leng declare let src2: { [K in keyof number[] as Exclude]: (number[])[K] }; tgt2 = src2; // Should error ~~~~ -!!! error TS2741: Property 'length' is missing in type '{ [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: NumberFormatOptions & DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; }' but required in type 'number[]'. +!!! error TS2741: Property 'length' is missing in type '{ [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: NumberFormatOptions & DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; }' but required in type 'number[]'. !!! related TS2728 lib.es5.d.ts:--:--: 'length' is declared here. \ No newline at end of file diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types index b64ece233e1..7caab51892d 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types @@ -6,14 +6,14 @@ declare let tgt2: number[]; > : ^^^^^^^^ declare let src2: { [K in keyof number[] as Exclude]: (number[])[K] }; ->src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tgt2 = src2; // Should error ->tgt2 = src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>tgt2 = src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >tgt2 : number[] > : ^^^^^^^^ ->src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js index 82e67a1e2c4..7d5de17211a 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js @@ -62,13 +62,13 @@ export declare const thing: { findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; - entries: () => IterableIterator<[number, number]>; - keys: () => IterableIterator; - values: () => IterableIterator; + entries: () => BuiltinIterator<[number, number], any, any>; + keys: () => BuiltinIterator; + values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; - [Symbol.iterator]: () => IterableIterator; + [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; @@ -171,13 +171,13 @@ mappedTypeWithAsClauseAndLateBoundProperty2.d.ts(27,118): error TS2526: A 'this' findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; - entries: () => IterableIterator<[number, number]>; - keys: () => IterableIterator; - values: () => IterableIterator; + entries: () => BuiltinIterator<[number, number], any, any>; + keys: () => BuiltinIterator; + values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; - [Symbol.iterator]: () => IterableIterator; + [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types index 17e5229e64b..4f712549244 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types @@ -2,11 +2,11 @@ === mappedTypeWithAsClauseAndLateBoundProperty2.ts === export const thing = (null as any as { [K in keyof number[] as Exclude]: (number[])[K] }); ->thing : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(null as any as { [K in keyof number[] as Exclude]: (number[])[K] }) : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->null as any as { [K in keyof number[] as Exclude]: (number[])[K] } : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => IterableIterator<[number, number]>; keys: () => IterableIterator; values: () => IterableIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => IterableIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>thing : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(null as any as { [K in keyof number[] as Exclude]: (number[])[K] }) : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>null as any as { [K in keyof number[] as Exclude]: (number[])[K] } : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >null as any : any diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types index 79250a582cd..075659bb6c6 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types @@ -58,14 +58,14 @@ m.clear(); // Using ES6 iterable m.keys(); ->m.keys() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->m.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>m.keys() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>m.keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ ->keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // Using ES6 function function Baz() { } diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types index 55d4b9bcb32..21ebd844500 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types @@ -58,14 +58,14 @@ m.clear(); // Using ES6 iterable m.keys(); ->m.keys() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->m.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>m.keys() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>m.keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ ->keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // Using ES6 function function Baz() { } diff --git a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types index a8e7094e159..14688b34b13 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types @@ -58,14 +58,14 @@ m.clear(); // Using ES6 iterable m.keys(); ->m.keys() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->m.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>m.keys() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>m.keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ ->keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // Using ES6 function function Baz() { } diff --git a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types index cb5bfa219fe..67cc3c013d5 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types @@ -58,14 +58,14 @@ m.clear(); // Using ES6 iterable m.keys(); ->m.keys() : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^ ->m.keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>m.keys() : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>m.keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ ->keys : () => IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // Using ES6 function function Baz() { } diff --git a/tests/baselines/reference/modulePreserve2.trace.json b/tests/baselines/reference/modulePreserve2.trace.json index cdf0c117a02..39549599465 100644 --- a/tests/baselines/reference/modulePreserve2.trace.json +++ b/tests/baselines/reference/modulePreserve2.trace.json @@ -887,6 +887,18 @@ "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/modulePreserve3.trace.json b/tests/baselines/reference/modulePreserve3.trace.json index 6131b1b5063..59645b44479 100644 --- a/tests/baselines/reference/modulePreserve3.trace.json +++ b/tests/baselines/reference/modulePreserve3.trace.json @@ -815,6 +815,17 @@ "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/narrowingPastLastAssignment.types b/tests/baselines/reference/narrowingPastLastAssignment.types index 16513a09fdf..ba185b982df 100644 --- a/tests/baselines/reference/narrowingPastLastAssignment.types +++ b/tests/baselines/reference/narrowingPastLastAssignment.types @@ -1,5 +1,9 @@ //// [tests/cases/compiler/narrowingPastLastAssignment.ts] //// +=== Performance Stats === +Type Count: 1,000 +Instantiation count: 1,000 + === narrowingPastLastAssignment.ts === function action(f: Function) {} >action : (f: Function) => void diff --git a/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).trace.json b/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).trace.json index f4021f2e677..99162f29578 100644 --- a/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).trace.json +++ b/tests/baselines/reference/nodeModulesExportsBlocksTypesVersions(module=nodenext).trace.json @@ -1203,6 +1203,20 @@ "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", "File '/.ts/package.json' does not exist according to earlier cached lookups.", "File '/package.json' does not exist according to earlier cached lookups.", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules/@types' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/nodeModulesPackageImports(module=nodenext).trace.json b/tests/baselines/reference/nodeModulesPackageImports(module=nodenext).trace.json index 928b94be2e2..a464a662352 100644 --- a/tests/baselines/reference/nodeModulesPackageImports(module=nodenext).trace.json +++ b/tests/baselines/reference/nodeModulesPackageImports(module=nodenext).trace.json @@ -1148,6 +1148,21 @@ "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", "File '/.ts/package.json' does not exist according to earlier cached lookups.", "File '/package.json' does not exist according to earlier cached lookups.", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/nodeModulesPackagePatternExportsTrailers(module=nodenext).trace.json b/tests/baselines/reference/nodeModulesPackagePatternExportsTrailers(module=nodenext).trace.json index 24d3f4ba59a..43e8b3f92de 100644 --- a/tests/baselines/reference/nodeModulesPackagePatternExportsTrailers(module=nodenext).trace.json +++ b/tests/baselines/reference/nodeModulesPackagePatternExportsTrailers(module=nodenext).trace.json @@ -1184,6 +1184,20 @@ "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", "File '/.ts/package.json' does not exist according to earlier cached lookups.", "File '/package.json' does not exist according to earlier cached lookups.", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules/@types' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/objectGroupBy.types b/tests/baselines/reference/objectGroupBy.types index ec9a37f131b..f836f949d68 100644 --- a/tests/baselines/reference/objectGroupBy.types +++ b/tests/baselines/reference/objectGroupBy.types @@ -1,5 +1,9 @@ //// [tests/cases/compiler/objectGroupBy.ts] //// +=== Performance Stats === +Type Count: 1,000 +Instantiation count: 2,500 + === objectGroupBy.ts === const basic = Object.groupBy([0, 2, 8], x => x < 5 ? 'small' : 'large'); >basic : Partial> diff --git a/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types b/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types index 25270ffaee5..e138921e963 100644 --- a/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types +++ b/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types @@ -1,5 +1,9 @@ //// [tests/cases/compiler/parenthesizedJSDocCastAtReturnStatement.ts] //// +=== Performance Stats === +Type Count: 1,000 +Instantiation count: 1,000 + === index.js === /** @type {Map>} */ const cache = new Map() diff --git a/tests/baselines/reference/reactJsxReactResolvedNodeNext.trace.json b/tests/baselines/reference/reactJsxReactResolvedNodeNext.trace.json index e09f66f8ac9..33b36675433 100644 --- a/tests/baselines/reference/reactJsxReactResolvedNodeNext.trace.json +++ b/tests/baselines/reference/reactJsxReactResolvedNodeNext.trace.json @@ -977,6 +977,19 @@ "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", "File '/.ts/package.json' does not exist according to earlier cached lookups.", "File '/package.json' does not exist according to earlier cached lookups.", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/reactJsxReactResolvedNodeNextEsm.trace.json b/tests/baselines/reference/reactJsxReactResolvedNodeNextEsm.trace.json index 371f19d242f..f8b98bdb4e4 100644 --- a/tests/baselines/reference/reactJsxReactResolvedNodeNextEsm.trace.json +++ b/tests/baselines/reference/reactJsxReactResolvedNodeNextEsm.trace.json @@ -977,6 +977,19 @@ "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", "File '/.ts/package.json' does not exist according to earlier cached lookups.", "File '/package.json' does not exist according to earlier cached lookups.", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", + "File '/.ts/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/regexMatchAll-esnext.types b/tests/baselines/reference/regexMatchAll-esnext.types index 222721c3f59..80790de1128 100644 --- a/tests/baselines/reference/regexMatchAll-esnext.types +++ b/tests/baselines/reference/regexMatchAll-esnext.types @@ -2,12 +2,12 @@ === regexMatchAll-esnext.ts === const matches = /\w/g[Symbol.matchAll]("matchAll"); ->matches : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->/\w/g[Symbol.matchAll]("matchAll") : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->/\w/g[Symbol.matchAll] : (str: string) => IterableIterator -> : ^ ^^ ^^^^^ +>matches : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>/\w/g[Symbol.matchAll]("matchAll") : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>/\w/g[Symbol.matchAll] : (str: string) => BuiltinIterator +> : ^ ^^ ^^^^^ >/\w/g : RegExp > : ^^^^^^ >Symbol.matchAll : unique symbol @@ -26,8 +26,8 @@ const array = [...matches]; > : ^^^^^^^^^^^^^^^^^^ >...matches : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->matches : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>matches : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const { index, input } = array[0]; >index : number diff --git a/tests/baselines/reference/regexMatchAll.types b/tests/baselines/reference/regexMatchAll.types index 53a391b22ee..3237c73dba1 100644 --- a/tests/baselines/reference/regexMatchAll.types +++ b/tests/baselines/reference/regexMatchAll.types @@ -2,12 +2,12 @@ === regexMatchAll.ts === const matches = /\w/g[Symbol.matchAll]("matchAll"); ->matches : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->/\w/g[Symbol.matchAll]("matchAll") : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->/\w/g[Symbol.matchAll] : (str: string) => IterableIterator -> : ^ ^^ ^^^^^ +>matches : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>/\w/g[Symbol.matchAll]("matchAll") : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>/\w/g[Symbol.matchAll] : (str: string) => BuiltinIterator +> : ^ ^^ ^^^^^ >/\w/g : RegExp > : ^^^^^^ >Symbol.matchAll : unique symbol @@ -26,8 +26,8 @@ const array = [...matches]; > : ^^^^^^^^^^^^^^^^^^ >...matches : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->matches : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>matches : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const { index, input } = array[0]; >index : number diff --git a/tests/baselines/reference/stringMatchAll.types b/tests/baselines/reference/stringMatchAll.types index 12f4460a2e8..13e45697d8b 100644 --- a/tests/baselines/reference/stringMatchAll.types +++ b/tests/baselines/reference/stringMatchAll.types @@ -2,16 +2,16 @@ === stringMatchAll.ts === const matches = "matchAll".matchAll(/\w/g); ->matches : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->"matchAll".matchAll(/\w/g) : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->"matchAll".matchAll : (regexp: RegExp) => IterableIterator -> : ^ ^^ ^^^^^ +>matches : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>"matchAll".matchAll(/\w/g) : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>"matchAll".matchAll : (regexp: RegExp) => BuiltinIterator +> : ^ ^^ ^^^^^ >"matchAll" : "matchAll" > : ^^^^^^^^^^ ->matchAll : (regexp: RegExp) => IterableIterator -> : ^ ^^ ^^^^^ +>matchAll : (regexp: RegExp) => BuiltinIterator +> : ^ ^^ ^^^^^ >/\w/g : RegExp > : ^^^^^^ @@ -22,8 +22,8 @@ const array = [...matches]; > : ^^^^^^^^^^^^^^^^^ >...matches : RegExpExecArray > : ^^^^^^^^^^^^^^^ ->matches : IterableIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>matches : BuiltinIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const { index, input } = array[0]; >index : number diff --git a/tests/baselines/reference/substitutionTypePassedToExtends.types b/tests/baselines/reference/substitutionTypePassedToExtends.types index c8aee67f83c..a5d81c4699c 100644 --- a/tests/baselines/reference/substitutionTypePassedToExtends.types +++ b/tests/baselines/reference/substitutionTypePassedToExtends.types @@ -1,5 +1,9 @@ //// [tests/cases/compiler/substitutionTypePassedToExtends.ts] //// +=== Performance Stats === +Type Count: 500 -> 1,000 +Instantiation count: 100 -> 1,000 + === substitutionTypePassedToExtends.ts === type Foo1 = [A, B] extends unknown[][] ? Bar1<[A, B]> : 'else' >Foo1 : Foo1 diff --git a/tests/baselines/reference/tsc/runWithoutArgs/does-not-add-color-when-NO_COLOR-is-set.js b/tests/baselines/reference/tsc/runWithoutArgs/does-not-add-color-when-NO_COLOR-is-set.js index bafc6105409..aa5a75e9553 100644 --- a/tests/baselines/reference/tsc/runWithoutArgs/does-not-add-color-when-NO_COLOR-is-set.js +++ b/tests/baselines/reference/tsc/runWithoutArgs/does-not-add-color-when-NO_COLOR-is-set.js @@ -116,7 +116,7 @@ default: undefined --lib Specify a set of bundled library declaration files that describe the target runtime environment. -one or more: es5, es6/es2015, es7/es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, esnext, dom, dom.iterable, dom.asynciterable, webworker, webworker.importscripts, webworker.iterable, webworker.asynciterable, scripthost, es2015.core, es2015.collection, es2015.generator, es2015.iterable, es2015.promise, es2015.proxy, es2015.reflect, es2015.symbol, es2015.symbol.wellknown, es2016.array.include, es2016.intl, es2017.date, es2017.object, es2017.sharedmemory, es2017.string, es2017.intl, es2017.typedarrays, es2018.asyncgenerator, es2018.asynciterable/esnext.asynciterable, es2018.intl, es2018.promise, es2018.regexp, es2019.array, es2019.object, es2019.string, es2019.symbol/esnext.symbol, es2019.intl, es2020.bigint/esnext.bigint, es2020.date, es2020.promise, es2020.sharedmemory, es2020.string, es2020.symbol.wellknown, es2020.intl, es2020.number, es2021.promise, es2021.string, es2021.weakref/esnext.weakref, es2021.intl, es2022.array, es2022.error, es2022.intl, es2022.object, es2022.sharedmemory, es2022.string, es2022.regexp, es2023.array, es2023.collection, es2023.intl, esnext.array, esnext.collection, esnext.intl, esnext.disposable, esnext.string, esnext.promise, esnext.decorators, esnext.object, esnext.regexp, decorators, decorators.legacy +one or more: es5, es6/es2015, es7/es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, esnext, dom, dom.iterable, dom.asynciterable, webworker, webworker.importscripts, webworker.iterable, webworker.asynciterable, scripthost, es2015.core, es2015.collection, es2015.generator, es2015.iterable, es2015.promise, es2015.proxy, es2015.reflect, es2015.symbol, es2015.symbol.wellknown, es2016.array.include, es2016.intl, es2017.date, es2017.object, es2017.sharedmemory, es2017.string, es2017.intl, es2017.typedarrays, es2018.asyncgenerator, es2018.asynciterable/esnext.asynciterable, es2018.intl, es2018.promise, es2018.regexp, es2019.array, es2019.object, es2019.string, es2019.symbol/esnext.symbol, es2019.intl, es2020.bigint/esnext.bigint, es2020.date, es2020.promise, es2020.sharedmemory, es2020.string, es2020.symbol.wellknown, es2020.intl, es2020.number, es2021.promise, es2021.string, es2021.weakref/esnext.weakref, es2021.intl, es2022.array, es2022.error, es2022.intl, es2022.object, es2022.sharedmemory, es2022.string, es2022.regexp, es2023.array, es2023.collection, es2023.intl, esnext.array, esnext.collection, esnext.intl, esnext.disposable, esnext.string, esnext.promise, esnext.decorators, esnext.object, esnext.regexp, esnext.iterator, decorators, decorators.legacy default: undefined --allowJs diff --git a/tests/baselines/reference/tsc/runWithoutArgs/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped-when-host-can't-provide-terminal-width.js b/tests/baselines/reference/tsc/runWithoutArgs/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped-when-host-can't-provide-terminal-width.js index 5d298153e39..f9d8afa189b 100644 --- a/tests/baselines/reference/tsc/runWithoutArgs/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped-when-host-can't-provide-terminal-width.js +++ b/tests/baselines/reference/tsc/runWithoutArgs/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped-when-host-can't-provide-terminal-width.js @@ -116,7 +116,7 @@ default: undefined --lib Specify a set of bundled library declaration files that describe the target runtime environment. -one or more: es5, es6/es2015, es7/es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, esnext, dom, dom.iterable, dom.asynciterable, webworker, webworker.importscripts, webworker.iterable, webworker.asynciterable, scripthost, es2015.core, es2015.collection, es2015.generator, es2015.iterable, es2015.promise, es2015.proxy, es2015.reflect, es2015.symbol, es2015.symbol.wellknown, es2016.array.include, es2016.intl, es2017.date, es2017.object, es2017.sharedmemory, es2017.string, es2017.intl, es2017.typedarrays, es2018.asyncgenerator, es2018.asynciterable/esnext.asynciterable, es2018.intl, es2018.promise, es2018.regexp, es2019.array, es2019.object, es2019.string, es2019.symbol/esnext.symbol, es2019.intl, es2020.bigint/esnext.bigint, es2020.date, es2020.promise, es2020.sharedmemory, es2020.string, es2020.symbol.wellknown, es2020.intl, es2020.number, es2021.promise, es2021.string, es2021.weakref/esnext.weakref, es2021.intl, es2022.array, es2022.error, es2022.intl, es2022.object, es2022.sharedmemory, es2022.string, es2022.regexp, es2023.array, es2023.collection, es2023.intl, esnext.array, esnext.collection, esnext.intl, esnext.disposable, esnext.string, esnext.promise, esnext.decorators, esnext.object, esnext.regexp, decorators, decorators.legacy +one or more: es5, es6/es2015, es7/es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, esnext, dom, dom.iterable, dom.asynciterable, webworker, webworker.importscripts, webworker.iterable, webworker.asynciterable, scripthost, es2015.core, es2015.collection, es2015.generator, es2015.iterable, es2015.promise, es2015.proxy, es2015.reflect, es2015.symbol, es2015.symbol.wellknown, es2016.array.include, es2016.intl, es2017.date, es2017.object, es2017.sharedmemory, es2017.string, es2017.intl, es2017.typedarrays, es2018.asyncgenerator, es2018.asynciterable/esnext.asynciterable, es2018.intl, es2018.promise, es2018.regexp, es2019.array, es2019.object, es2019.string, es2019.symbol/esnext.symbol, es2019.intl, es2020.bigint/esnext.bigint, es2020.date, es2020.promise, es2020.sharedmemory, es2020.string, es2020.symbol.wellknown, es2020.intl, es2020.number, es2021.promise, es2021.string, es2021.weakref/esnext.weakref, es2021.intl, es2022.array, es2022.error, es2022.intl, es2022.object, es2022.sharedmemory, es2022.string, es2022.regexp, es2023.array, es2023.collection, es2023.intl, esnext.array, esnext.collection, esnext.intl, esnext.disposable, esnext.string, esnext.promise, esnext.decorators, esnext.object, esnext.regexp, esnext.iterator, decorators, decorators.legacy default: undefined --allowJs diff --git a/tests/baselines/reference/tsc/runWithoutArgs/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped.js b/tests/baselines/reference/tsc/runWithoutArgs/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped.js index 5d298153e39..f9d8afa189b 100644 --- a/tests/baselines/reference/tsc/runWithoutArgs/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped.js +++ b/tests/baselines/reference/tsc/runWithoutArgs/show-help-with-ExitStatus.DiagnosticsPresent_OutputsSkipped.js @@ -116,7 +116,7 @@ default: undefined --lib Specify a set of bundled library declaration files that describe the target runtime environment. -one or more: es5, es6/es2015, es7/es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, esnext, dom, dom.iterable, dom.asynciterable, webworker, webworker.importscripts, webworker.iterable, webworker.asynciterable, scripthost, es2015.core, es2015.collection, es2015.generator, es2015.iterable, es2015.promise, es2015.proxy, es2015.reflect, es2015.symbol, es2015.symbol.wellknown, es2016.array.include, es2016.intl, es2017.date, es2017.object, es2017.sharedmemory, es2017.string, es2017.intl, es2017.typedarrays, es2018.asyncgenerator, es2018.asynciterable/esnext.asynciterable, es2018.intl, es2018.promise, es2018.regexp, es2019.array, es2019.object, es2019.string, es2019.symbol/esnext.symbol, es2019.intl, es2020.bigint/esnext.bigint, es2020.date, es2020.promise, es2020.sharedmemory, es2020.string, es2020.symbol.wellknown, es2020.intl, es2020.number, es2021.promise, es2021.string, es2021.weakref/esnext.weakref, es2021.intl, es2022.array, es2022.error, es2022.intl, es2022.object, es2022.sharedmemory, es2022.string, es2022.regexp, es2023.array, es2023.collection, es2023.intl, esnext.array, esnext.collection, esnext.intl, esnext.disposable, esnext.string, esnext.promise, esnext.decorators, esnext.object, esnext.regexp, decorators, decorators.legacy +one or more: es5, es6/es2015, es7/es2016, es2017, es2018, es2019, es2020, es2021, es2022, es2023, esnext, dom, dom.iterable, dom.asynciterable, webworker, webworker.importscripts, webworker.iterable, webworker.asynciterable, scripthost, es2015.core, es2015.collection, es2015.generator, es2015.iterable, es2015.promise, es2015.proxy, es2015.reflect, es2015.symbol, es2015.symbol.wellknown, es2016.array.include, es2016.intl, es2017.date, es2017.object, es2017.sharedmemory, es2017.string, es2017.intl, es2017.typedarrays, es2018.asyncgenerator, es2018.asynciterable/esnext.asynciterable, es2018.intl, es2018.promise, es2018.regexp, es2019.array, es2019.object, es2019.string, es2019.symbol/esnext.symbol, es2019.intl, es2020.bigint/esnext.bigint, es2020.date, es2020.promise, es2020.sharedmemory, es2020.string, es2020.symbol.wellknown, es2020.intl, es2020.number, es2021.promise, es2021.string, es2021.weakref/esnext.weakref, es2021.intl, es2022.array, es2022.error, es2022.intl, es2022.object, es2022.sharedmemory, es2022.string, es2022.regexp, es2023.array, es2023.collection, es2023.intl, esnext.array, esnext.collection, esnext.intl, esnext.disposable, esnext.string, esnext.promise, esnext.decorators, esnext.object, esnext.regexp, esnext.iterator, decorators, decorators.legacy default: undefined --allowJs diff --git a/tests/baselines/reference/tsserver/telemetry/does-not-expose-paths.js b/tests/baselines/reference/tsserver/telemetry/does-not-expose-paths.js index 51776f53d24..200888bca40 100644 --- a/tests/baselines/reference/tsserver/telemetry/does-not-expose-paths.js +++ b/tests/baselines/reference/tsserver/telemetry/does-not-expose-paths.js @@ -442,7 +442,7 @@ Info seq [hh:mm:ss:mss] event: "line": 34, "offset": 16 }, - "text": "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'decorators', 'decorators.legacy'.", + "text": "Argument for '--lib' option must be: 'es5', 'es6', 'es2015', 'es7', 'es2016', 'es2017', 'es2018', 'es2019', 'es2020', 'es2021', 'es2022', 'es2023', 'esnext', 'dom', 'dom.iterable', 'dom.asynciterable', 'webworker', 'webworker.importscripts', 'webworker.iterable', 'webworker.asynciterable', 'scripthost', 'es2015.core', 'es2015.collection', 'es2015.generator', 'es2015.iterable', 'es2015.promise', 'es2015.proxy', 'es2015.reflect', 'es2015.symbol', 'es2015.symbol.wellknown', 'es2016.array.include', 'es2016.intl', 'es2017.date', 'es2017.object', 'es2017.sharedmemory', 'es2017.string', 'es2017.intl', 'es2017.typedarrays', 'es2018.asyncgenerator', 'es2018.asynciterable', 'es2018.intl', 'es2018.promise', 'es2018.regexp', 'es2019.array', 'es2019.object', 'es2019.string', 'es2019.symbol', 'es2019.intl', 'es2020.bigint', 'es2020.date', 'es2020.promise', 'es2020.sharedmemory', 'es2020.string', 'es2020.symbol.wellknown', 'es2020.intl', 'es2020.number', 'es2021.promise', 'es2021.string', 'es2021.weakref', 'es2021.intl', 'es2022.array', 'es2022.error', 'es2022.intl', 'es2022.object', 'es2022.sharedmemory', 'es2022.string', 'es2022.regexp', 'es2023.array', 'es2023.collection', 'es2023.intl', 'esnext.array', 'esnext.collection', 'esnext.symbol', 'esnext.asynciterable', 'esnext.intl', 'esnext.disposable', 'esnext.bigint', 'esnext.string', 'esnext.promise', 'esnext.weakref', 'esnext.decorators', 'esnext.object', 'esnext.regexp', 'esnext.iterator', 'decorators', 'decorators.legacy'.", "code": 6046, "category": "error", "fileName": "/tsconfig.json" diff --git a/tests/baselines/reference/types.asyncGenerators.es2018.2.symbols b/tests/baselines/reference/types.asyncGenerators.es2018.2.symbols index 5fc37ff0791..ec2eea8b3b4 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.2.symbols +++ b/tests/baselines/reference/types.asyncGenerators.es2018.2.symbols @@ -142,7 +142,7 @@ async function * explicitReturnType11(): Iterable { } async function * explicitReturnType12(): Iterator { >explicitReturnType12 : Symbol(explicitReturnType12, Decl(types.asyncGenerators.es2018.2.ts, 68, 1)) ->Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) yield 1; } diff --git a/tests/baselines/reference/typesVersions.ambientModules.trace.json b/tests/baselines/reference/typesVersions.ambientModules.trace.json index 91387ca4d64..440bf144cd7 100644 --- a/tests/baselines/reference/typesVersions.ambientModules.trace.json +++ b/tests/baselines/reference/typesVersions.ambientModules.trace.json @@ -924,6 +924,18 @@ "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", "Directory '/node_modules' does not exist, skipping all lookups in it.", "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules/@types' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typesVersions.emptyTypes.trace.json b/tests/baselines/reference/typesVersions.emptyTypes.trace.json index ad8ce1a041e..a7e3c8ee4d4 100644 --- a/tests/baselines/reference/typesVersions.emptyTypes.trace.json +++ b/tests/baselines/reference/typesVersions.emptyTypes.trace.json @@ -943,6 +943,19 @@ "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", "Directory '/node_modules' does not exist, skipping all lookups in it.", "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typesVersions.justIndex.trace.json b/tests/baselines/reference/typesVersions.justIndex.trace.json index b256dc3de4b..9a51bb2ec28 100644 --- a/tests/baselines/reference/typesVersions.justIndex.trace.json +++ b/tests/baselines/reference/typesVersions.justIndex.trace.json @@ -943,6 +943,19 @@ "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", "Directory '/node_modules' does not exist, skipping all lookups in it.", "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typesVersions.multiFile.trace.json b/tests/baselines/reference/typesVersions.multiFile.trace.json index eddcfe77842..5e4f850fef1 100644 --- a/tests/baselines/reference/typesVersions.multiFile.trace.json +++ b/tests/baselines/reference/typesVersions.multiFile.trace.json @@ -885,6 +885,18 @@ "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", "Directory '/node_modules' does not exist, skipping all lookups in it.", "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules/@types' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.trace.json b/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.trace.json index 91387ca4d64..440bf144cd7 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.trace.json +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.trace.json @@ -924,6 +924,18 @@ "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", "Directory '/node_modules' does not exist, skipping all lookups in it.", "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules/@types' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.trace.json b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.trace.json index eddcfe77842..5e4f850fef1 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.trace.json +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.trace.json @@ -885,6 +885,18 @@ "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", "Directory '/node_modules' does not exist, skipping all lookups in it.", "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules/@types' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.trace.json b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.trace.json index f172221e685..a788ea8099e 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.trace.json +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.trace.json @@ -907,6 +907,18 @@ "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", "Directory '/node_modules' does not exist, skipping all lookups in it.", "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules/@types' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.trace.json b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.trace.json index cdd64b13a3f..328752d50a8 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.trace.json +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.trace.json @@ -891,6 +891,18 @@ "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", "Directory '/node_modules' does not exist, skipping all lookups in it.", "======== Module name '@typescript/lib-esnext/string' was not resolved. ========", + "======== Resolving module '@typescript/lib-esnext/iterator' from '/.src/__lib_node_modules_lookup_lib.esnext.iterator.d.ts__.ts'. ========", + "Explicitly specified module resolution kind: 'Node10'.", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: TypeScript, Declaration.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "Directory '/.src/node_modules/@types' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "Scoped package detected, looking in 'typescript__lib-esnext/iterator'", + "Loading module '@typescript/lib-esnext/iterator' from 'node_modules' folder, target file types: JavaScript.", + "Searching all ancestor node_modules directories for fallback extensions: JavaScript.", + "Directory '/node_modules' does not exist, skipping all lookups in it.", + "======== Module name '@typescript/lib-esnext/iterator' was not resolved. ========", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/unionAndIntersectionInference3.symbols b/tests/baselines/reference/unionAndIntersectionInference3.symbols index e84536ec7cc..41531386e78 100644 --- a/tests/baselines/reference/unionAndIntersectionInference3.symbols +++ b/tests/baselines/reference/unionAndIntersectionInference3.symbols @@ -29,7 +29,7 @@ const g: (com: () => Iterator | AsyncIterator) => Pro >R : Symbol(R, Decl(unionAndIntersectionInference3.ts, 8, 12)) >S : Symbol(S, Decl(unionAndIntersectionInference3.ts, 8, 15)) >com : Symbol(com, Decl(unionAndIntersectionInference3.ts, 8, 19)) ->Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) >S : Symbol(S, Decl(unionAndIntersectionInference3.ts, 8, 15)) >U : Symbol(U, Decl(unionAndIntersectionInference3.ts, 8, 10)) >R : Symbol(R, Decl(unionAndIntersectionInference3.ts, 8, 12)) @@ -43,7 +43,7 @@ const g: (com: () => Iterator | AsyncIterator) => Pro >R : Symbol(R, Decl(unionAndIntersectionInference3.ts, 8, 99)) >S : Symbol(S, Decl(unionAndIntersectionInference3.ts, 8, 102)) >com : Symbol(com, Decl(unionAndIntersectionInference3.ts, 8, 106)) ->Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --)) +>Iterator : Symbol(Iterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) >S : Symbol(S, Decl(unionAndIntersectionInference3.ts, 8, 102)) >U : Symbol(U, Decl(unionAndIntersectionInference3.ts, 8, 97)) >R : Symbol(R, Decl(unionAndIntersectionInference3.ts, 8, 99)) diff --git a/tests/baselines/reference/yieldStarContextualType.types b/tests/baselines/reference/yieldStarContextualType.types index a3996cf7981..25f8d0324ee 100644 --- a/tests/baselines/reference/yieldStarContextualType.types +++ b/tests/baselines/reference/yieldStarContextualType.types @@ -1,5 +1,9 @@ //// [tests/cases/compiler/yieldStarContextualType.ts] //// +=== Performance Stats === +Type Count: 1,000 +Instantiation count: 2,500 + === yieldStarContextualType.ts === declare const g: () => Generator; >g : () => Generator diff --git a/tests/cases/compiler/builtinIterator.ts b/tests/cases/compiler/builtinIterator.ts new file mode 100644 index 00000000000..3b20d9fe53d --- /dev/null +++ b/tests/cases/compiler/builtinIterator.ts @@ -0,0 +1,76 @@ +// @target: esnext +// @strict: true + +const iterator = Iterator.from([0, 1, 2]); + +const mapped = iterator.map(String); + +const filtered = iterator.filter(x => x > 0); + +function isZero(x: number): x is 0 { + return x === 0; +} +const zero = iterator.filter(isZero); + +const iteratorFromBare = Iterator.from({ + next() { + return { + done: Math.random() < .5, + value: "a string", + }; + }, +}); + + +function* gen() { + yield 0; +} + +const mappedGen = gen().map(x => x === 0 ? "zero" : "other"); + +const mappedValues = [0, 1, 2].values().map(x => x === 0 ? "zero" : "other"); + + +class GoodIterator extends Iterator { + next() { + return { done: false, value: 0 } as const; + } +} + +// error cases +new Iterator(); + +class C extends Iterator {} + +// it's unfortunate that these are an error +class BadIterator1 extends Iterator { + next() { + if (Math.random() < .5) { + return { done: false, value: 0 } as const; + } else { + return { done: true, value: "a string" } as const; + } + } +} + +class BadIterator2 extends Iterator { + next() { + return { done: false, value: 0 }; + } +} + +class BadIterator3 extends Iterator { + next() { + if (Math.random() < .5) { + return { done: false, value: 0 }; + } else { + return { done: true, value: "a string" }; + } + } +} + +declare const g1: Generator; +const iter1 = Iterator.from(g1); + +declare const iter2: BuiltinIterator; +const iter3 = iter2.flatMap(() => g1); \ No newline at end of file diff --git a/tests/cases/compiler/iterableTReturnTNext.ts b/tests/cases/compiler/iterableTReturnTNext.ts index 9e24354b88d..f51ecdbf019 100644 --- a/tests/cases/compiler/iterableTReturnTNext.ts +++ b/tests/cases/compiler/iterableTReturnTNext.ts @@ -38,10 +38,9 @@ class MyMap implements Map { get(key: string): number | undefined { return undefined; } has(key: string): boolean { return false; } set(key: string, value: number): this { return this; } - entries(): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } - keys(): IterableIterator { throw new Error("Method not implemented."); } - - [Symbol.iterator](): IterableIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + keys(): BuiltinIterator { throw new Error("Method not implemented."); } + [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` * values() { From 98f45d7a4c827891081ccdc955cfa9a693a52edc Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Fri, 19 Jul 2024 17:27:35 -0400 Subject: [PATCH 40/89] Manual update of generated DOM and Worker libs (#59366) --- src/lib/dom.asynciterable.generated.d.ts | 12 +- src/lib/dom.iterable.generated.d.ts | 146 +++++++++--------- .../webworker.asynciterable.generated.d.ts | 12 +- src/lib/webworker.iterable.generated.d.ts | 60 +++---- 4 files changed, 115 insertions(+), 115 deletions(-) diff --git a/src/lib/dom.asynciterable.generated.d.ts b/src/lib/dom.asynciterable.generated.d.ts index 51955bc3071..28d15775c66 100644 --- a/src/lib/dom.asynciterable.generated.d.ts +++ b/src/lib/dom.asynciterable.generated.d.ts @@ -3,13 +3,13 @@ ///////////////////////////// interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileSystemHandle]>; - entries(): AsyncIterableIterator<[string, FileSystemHandle]>; - keys(): AsyncIterableIterator; - values(): AsyncIterableIterator; + [Symbol.asyncIterator](): AsyncBuiltinIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; + entries(): AsyncBuiltinIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; + keys(): AsyncBuiltinIterator; + values(): AsyncBuiltinIterator; } interface ReadableStream { - [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): AsyncIterableIterator; - values(options?: ReadableStreamIteratorOptions): AsyncIterableIterator; + [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): AsyncBuiltinIterator; + values(options?: ReadableStreamIteratorOptions): AsyncBuiltinIterator; } diff --git a/src/lib/dom.iterable.generated.d.ts b/src/lib/dom.iterable.generated.d.ts index d5a009b078c..f23e1534c46 100644 --- a/src/lib/dom.iterable.generated.d.ts +++ b/src/lib/dom.iterable.generated.d.ts @@ -23,36 +23,36 @@ interface BaseAudioContext { } interface CSSKeyframesRule { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface CSSNumericArray { - [Symbol.iterator](): IterableIterator; - entries(): IterableIterator<[number, CSSNumericValue]>; - keys(): IterableIterator; - values(): IterableIterator; + [Symbol.iterator](): BuiltinIterator; + entries(): BuiltinIterator<[number, CSSNumericValue], BuiltinIteratorReturn>; + keys(): BuiltinIterator; + values(): BuiltinIterator; } interface CSSRuleList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface CSSStyleDeclaration { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface CSSTransformValue { - [Symbol.iterator](): IterableIterator; - entries(): IterableIterator<[number, CSSTransformComponent]>; - keys(): IterableIterator; - values(): IterableIterator; + [Symbol.iterator](): BuiltinIterator; + entries(): BuiltinIterator<[number, CSSTransformComponent], BuiltinIteratorReturn>; + keys(): BuiltinIterator; + values(): BuiltinIterator; } interface CSSUnparsedValue { - [Symbol.iterator](): IterableIterator; - entries(): IterableIterator<[number, CSSUnparsedSegment]>; - keys(): IterableIterator; - values(): IterableIterator; + [Symbol.iterator](): BuiltinIterator; + entries(): BuiltinIterator<[number, CSSUnparsedSegment], BuiltinIteratorReturn>; + keys(): BuiltinIterator; + values(): BuiltinIterator; } interface Cache { @@ -74,72 +74,72 @@ interface CustomStateSet extends Set { } interface DOMRectList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface DOMStringList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface DOMTokenList { - [Symbol.iterator](): IterableIterator; - entries(): IterableIterator<[number, string]>; - keys(): IterableIterator; - values(): IterableIterator; + [Symbol.iterator](): BuiltinIterator; + entries(): BuiltinIterator<[number, string], BuiltinIteratorReturn>; + keys(): BuiltinIterator; + values(): BuiltinIterator; } interface DataTransferItemList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface EventCounts extends ReadonlyMap { } interface FileList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface FontFaceSet extends Set { } interface FormData { - [Symbol.iterator](): IterableIterator<[string, FormDataEntryValue]>; + [Symbol.iterator](): BuiltinIterator<[string, FormDataEntryValue], BuiltinIteratorReturn>; /** Returns an array of key, value pairs for every entry in the list. */ - entries(): IterableIterator<[string, FormDataEntryValue]>; + entries(): BuiltinIterator<[string, FormDataEntryValue], BuiltinIteratorReturn>; /** Returns a list of keys in the list. */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** Returns a list of values in the list. */ - values(): IterableIterator; + values(): BuiltinIterator; } interface HTMLAllCollection { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface HTMLCollectionBase { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface HTMLCollectionOf { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface HTMLFormElement { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface HTMLSelectElement { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface Headers { - [Symbol.iterator](): IterableIterator<[string, string]>; + [Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>; /** Returns an iterator allowing to go through all key/value pairs contained in this object. */ - entries(): IterableIterator<[string, string]>; + entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>; /** Returns an iterator allowing to go through all keys of the key/value pairs contained in this object. */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** Returns an iterator allowing to go through all values of the key/value pairs contained in this object. */ - values(): IterableIterator; + values(): BuiltinIterator; } interface Highlight extends Set { @@ -180,14 +180,14 @@ interface MIDIOutputMap extends ReadonlyMap { } interface MediaKeyStatusMap { - [Symbol.iterator](): IterableIterator<[BufferSource, MediaKeyStatus]>; - entries(): IterableIterator<[BufferSource, MediaKeyStatus]>; - keys(): IterableIterator; - values(): IterableIterator; + [Symbol.iterator](): BuiltinIterator<[BufferSource, MediaKeyStatus], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[BufferSource, MediaKeyStatus], BuiltinIteratorReturn>; + keys(): BuiltinIterator; + values(): BuiltinIterator; } interface MediaList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface MessageEvent { @@ -196,11 +196,11 @@ interface MessageEvent { } interface MimeTypeArray { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface NamedNodeMap { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface Navigator { @@ -215,31 +215,31 @@ interface Navigator { } interface NodeList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; /** Returns an array of key, value pairs for every entry in the list. */ - entries(): IterableIterator<[number, Node]>; + entries(): BuiltinIterator<[number, Node], BuiltinIteratorReturn>; /** Returns an list of keys in the list. */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** Returns an list of values in the list. */ - values(): IterableIterator; + values(): BuiltinIterator; } interface NodeListOf { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; /** Returns an array of key, value pairs for every entry in the list. */ - entries(): IterableIterator<[number, TNode]>; + entries(): BuiltinIterator<[number, TNode], BuiltinIteratorReturn>; /** Returns an list of keys in the list. */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** Returns an list of values in the list. */ - values(): IterableIterator; + values(): BuiltinIterator; } interface Plugin { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface PluginArray { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface RTCRtpTransceiver { @@ -251,46 +251,46 @@ interface RTCStatsReport extends ReadonlyMap { } interface SVGLengthList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface SVGNumberList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface SVGPointList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface SVGStringList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface SVGTransformList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface SourceBufferList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface SpeechRecognitionResult { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface SpeechRecognitionResultList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface StylePropertyMapReadOnly { - [Symbol.iterator](): IterableIterator<[string, Iterable]>; - entries(): IterableIterator<[string, Iterable]>; - keys(): IterableIterator; - values(): IterableIterator>; + [Symbol.iterator](): BuiltinIterator<[string, Iterable], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[string, Iterable], BuiltinIteratorReturn>; + keys(): BuiltinIterator; + values(): BuiltinIterator, BuiltinIteratorReturn>; } interface StyleSheetList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface SubtleCrypto { @@ -309,25 +309,25 @@ interface SubtleCrypto { } interface TextTrackCueList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface TextTrackList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface TouchList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface URLSearchParams { - [Symbol.iterator](): IterableIterator<[string, string]>; + [Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>; /** Returns an array of key, value pairs for every entry in the search params. */ - entries(): IterableIterator<[string, string]>; + entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>; /** Returns a list of keys in the search params. */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** Returns a list of values in the search params. */ - values(): IterableIterator; + values(): BuiltinIterator; } interface WEBGL_draw_buffers { diff --git a/src/lib/webworker.asynciterable.generated.d.ts b/src/lib/webworker.asynciterable.generated.d.ts index 11c9e198260..0ade610693c 100644 --- a/src/lib/webworker.asynciterable.generated.d.ts +++ b/src/lib/webworker.asynciterable.generated.d.ts @@ -3,13 +3,13 @@ ///////////////////////////// interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): AsyncIterableIterator<[string, FileSystemHandle]>; - entries(): AsyncIterableIterator<[string, FileSystemHandle]>; - keys(): AsyncIterableIterator; - values(): AsyncIterableIterator; + [Symbol.asyncIterator](): AsyncBuiltinIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; + entries(): AsyncBuiltinIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; + keys(): AsyncBuiltinIterator; + values(): AsyncBuiltinIterator; } interface ReadableStream { - [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): AsyncIterableIterator; - values(options?: ReadableStreamIteratorOptions): AsyncIterableIterator; + [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): AsyncBuiltinIterator; + values(options?: ReadableStreamIteratorOptions): AsyncBuiltinIterator; } diff --git a/src/lib/webworker.iterable.generated.d.ts b/src/lib/webworker.iterable.generated.d.ts index 56feaa21547..46628a75b82 100644 --- a/src/lib/webworker.iterable.generated.d.ts +++ b/src/lib/webworker.iterable.generated.d.ts @@ -8,24 +8,24 @@ interface AbortSignal { } interface CSSNumericArray { - [Symbol.iterator](): IterableIterator; - entries(): IterableIterator<[number, CSSNumericValue]>; - keys(): IterableIterator; - values(): IterableIterator; + [Symbol.iterator](): BuiltinIterator; + entries(): BuiltinIterator<[number, CSSNumericValue], BuiltinIteratorReturn>; + keys(): BuiltinIterator; + values(): BuiltinIterator; } interface CSSTransformValue { - [Symbol.iterator](): IterableIterator; - entries(): IterableIterator<[number, CSSTransformComponent]>; - keys(): IterableIterator; - values(): IterableIterator; + [Symbol.iterator](): BuiltinIterator; + entries(): BuiltinIterator<[number, CSSTransformComponent], BuiltinIteratorReturn>; + keys(): BuiltinIterator; + values(): BuiltinIterator; } interface CSSUnparsedValue { - [Symbol.iterator](): IterableIterator; - entries(): IterableIterator<[number, CSSUnparsedSegment]>; - keys(): IterableIterator; - values(): IterableIterator; + [Symbol.iterator](): BuiltinIterator; + entries(): BuiltinIterator<[number, CSSUnparsedSegment], BuiltinIteratorReturn>; + keys(): BuiltinIterator; + values(): BuiltinIterator; } interface Cache { @@ -44,34 +44,34 @@ interface CanvasPathDrawingStyles { } interface DOMStringList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface FileList { - [Symbol.iterator](): IterableIterator; + [Symbol.iterator](): BuiltinIterator; } interface FontFaceSet extends Set { } interface FormData { - [Symbol.iterator](): IterableIterator<[string, FormDataEntryValue]>; + [Symbol.iterator](): BuiltinIterator<[string, FormDataEntryValue], BuiltinIteratorReturn>; /** Returns an array of key, value pairs for every entry in the list. */ - entries(): IterableIterator<[string, FormDataEntryValue]>; + entries(): BuiltinIterator<[string, FormDataEntryValue], BuiltinIteratorReturn>; /** Returns a list of keys in the list. */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** Returns a list of values in the list. */ - values(): IterableIterator; + values(): BuiltinIterator; } interface Headers { - [Symbol.iterator](): IterableIterator<[string, string]>; + [Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>; /** Returns an iterator allowing to go through all key/value pairs contained in this object. */ - entries(): IterableIterator<[string, string]>; + entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>; /** Returns an iterator allowing to go through all keys of the key/value pairs contained in this object. */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** Returns an iterator allowing to go through all values of the key/value pairs contained in this object. */ - values(): IterableIterator; + values(): BuiltinIterator; } interface IDBDatabase { @@ -100,10 +100,10 @@ interface MessageEvent { } interface StylePropertyMapReadOnly { - [Symbol.iterator](): IterableIterator<[string, Iterable]>; - entries(): IterableIterator<[string, Iterable]>; - keys(): IterableIterator; - values(): IterableIterator>; + [Symbol.iterator](): BuiltinIterator<[string, Iterable], BuiltinIteratorReturn>; + entries(): BuiltinIterator<[string, Iterable], BuiltinIteratorReturn>; + keys(): BuiltinIterator; + values(): BuiltinIterator, BuiltinIteratorReturn>; } interface SubtleCrypto { @@ -122,13 +122,13 @@ interface SubtleCrypto { } interface URLSearchParams { - [Symbol.iterator](): IterableIterator<[string, string]>; + [Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>; /** Returns an array of key, value pairs for every entry in the search params. */ - entries(): IterableIterator<[string, string]>; + entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>; /** Returns a list of keys in the search params. */ - keys(): IterableIterator; + keys(): BuiltinIterator; /** Returns a list of values in the search params. */ - values(): IterableIterator; + values(): BuiltinIterator; } interface WEBGL_draw_buffers { From 79bd844d9b32a8e1d31998a72fc2365305107ff5 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Fri, 19 Jul 2024 19:02:54 -0400 Subject: [PATCH 41/89] Add fast paths for 'BuiltinIterator' and 'AsyncBuiltinIterator' (#59368) --- src/compiler/checker.ts | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b31f54a89b7..8372bdcb7c3 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1176,6 +1176,7 @@ interface IterationTypesResolver { getGlobalIteratorType: (reportErrors: boolean) => GenericType; getGlobalIterableType: (reportErrors: boolean) => GenericType; getGlobalIterableIteratorType: (reportErrors: boolean) => GenericType; + getGlobalBuiltinIteratorType: (reportErrors: boolean) => GenericType; getGlobalGeneratorType: (reportErrors: boolean) => GenericType; resolveIterationType: (type: Type, errorNode: Node | undefined) => Type | undefined; mustHaveANextMethodDiagnostic: DiagnosticMessage; @@ -2159,6 +2160,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { getGlobalIteratorType: getGlobalAsyncIteratorType, getGlobalIterableType: getGlobalAsyncIterableType, getGlobalIterableIteratorType: getGlobalAsyncIterableIteratorType, + getGlobalBuiltinIteratorType: getGlobalAsyncBuiltinIteratorType, getGlobalGeneratorType: getGlobalAsyncGeneratorType, resolveIterationType: (type, errorNode) => getAwaitedType(type, errorNode, Diagnostics.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member), mustHaveANextMethodDiagnostic: Diagnostics.An_async_iterator_must_have_a_next_method, @@ -2173,6 +2175,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { getGlobalIteratorType, getGlobalIterableType, getGlobalIterableIteratorType, + getGlobalBuiltinIteratorType, getGlobalGeneratorType, resolveIterationType: (type, _errorNode) => type, mustHaveANextMethodDiagnostic: Diagnostics.An_iterator_must_have_a_next_method, @@ -2234,12 +2237,14 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { var deferredGlobalIterableType: GenericType | undefined; var deferredGlobalIteratorType: GenericType | undefined; var deferredGlobalIterableIteratorType: GenericType | undefined; + var deferredGlobalBuiltinIteratorType: GenericType | undefined; var deferredGlobalGeneratorType: GenericType | undefined; var deferredGlobalIteratorYieldResultType: GenericType | undefined; var deferredGlobalIteratorReturnResultType: GenericType | undefined; var deferredGlobalAsyncIterableType: GenericType | undefined; var deferredGlobalAsyncIteratorType: GenericType | undefined; var deferredGlobalAsyncIterableIteratorType: GenericType | undefined; + var deferredGlobalAsyncBuiltinIteratorType: GenericType | undefined; var deferredGlobalAsyncGeneratorType: GenericType | undefined; var deferredGlobalTemplateStringsArrayType: ObjectType | undefined; var deferredGlobalImportMetaType: ObjectType; @@ -16930,6 +16935,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return (deferredGlobalAsyncIterableIteratorType ||= getGlobalType("AsyncIterableIterator" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; } + function getGlobalAsyncBuiltinIteratorType(reportErrors: boolean) { + return (deferredGlobalAsyncBuiltinIteratorType ||= getGlobalType("AsyncBuiltinIterator" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; + } + function getGlobalAsyncGeneratorType(reportErrors: boolean) { return (deferredGlobalAsyncGeneratorType ||= getGlobalType("AsyncGenerator" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; } @@ -16946,6 +16955,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return (deferredGlobalIterableIteratorType ||= getGlobalType("IterableIterator" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; } + function getGlobalBuiltinIteratorType(reportErrors: boolean) { + return (deferredGlobalBuiltinIteratorType ||= getGlobalType("BuiltinIterator" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; + } + function getGlobalGeneratorType(reportErrors: boolean) { return (deferredGlobalGeneratorType ||= getGlobalType("Generator" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; } @@ -44773,10 +44786,12 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // As an optimization, if the type is an instantiation of the following global type, then // just grab its related type arguments: // - `Iterable` or `AsyncIterable` + // - `BuiltinIterator` or `AsyncBuiltinIterator` // - `IterableIterator` or `AsyncIterableIterator` // - `Generator` or `AsyncGenerator` if ( isReferenceToType(type, resolver.getGlobalIterableType(/*reportErrors*/ false)) || + isReferenceToType(type, resolver.getGlobalBuiltinIteratorType(/*reportErrors*/ false)) || isReferenceToType(type, resolver.getGlobalIterableIteratorType(/*reportErrors*/ false)) || isReferenceToType(type, resolver.getGlobalGeneratorType(/*reportErrors*/ false)) ) { @@ -44899,9 +44914,11 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // As an optimization, if the type is an instantiation of one of the following global types, // then just grab its related type arguments: // - `IterableIterator` or `AsyncIterableIterator` + // - `BuiltinIterator` or `AsyncBuiltinIterator` // - `Iterator` or `AsyncIterator` // - `Generator` or `AsyncGenerator` if ( + isReferenceToType(type, resolver.getGlobalBuiltinIteratorType(/*reportErrors*/ false)) || isReferenceToType(type, resolver.getGlobalIterableIteratorType(/*reportErrors*/ false)) || isReferenceToType(type, resolver.getGlobalIteratorType(/*reportErrors*/ false)) || isReferenceToType(type, resolver.getGlobalGeneratorType(/*reportErrors*/ false)) From 85d6bb6fe6fbc29f289af40499823dc678928f51 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Fri, 19 Jul 2024 17:35:02 -0700 Subject: [PATCH 42/89] Add new option "noUncheckedSideEffectImports" (#58941) --- src/compiler/checker.ts | 11 +- src/compiler/commandLineParser.ts | 9 + src/compiler/diagnosticMessages.json | 4 + src/compiler/types.ts | 1 + src/compiler/utilities.ts | 7 + .../unittests/tscWatch/programUpdates.ts | 36 ++++ tests/baselines/reference/api/typescript.d.ts | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 1 + .../tsconfig.json | 5 + ...njs,nouncheckedsideeffectimports=false).js | 14 ++ ...ouncheckedsideeffectimports=false).symbols | 8 + ...,nouncheckedsideeffectimports=false).types | 8 + ...ncheckedsideeffectimports=true).errors.txt | 16 ++ ...onjs,nouncheckedsideeffectimports=true).js | 14 ++ ...nouncheckedsideeffectimports=true).symbols | 8 + ...s,nouncheckedsideeffectimports=true).types | 8 + ...ext,nouncheckedsideeffectimports=false).js | 14 ++ ...ouncheckedsideeffectimports=false).symbols | 8 + ...,nouncheckedsideeffectimports=false).types | 8 + ...ncheckedsideeffectimports=true).errors.txt | 16 ++ ...next,nouncheckedsideeffectimports=true).js | 14 ++ ...nouncheckedsideeffectimports=true).symbols | 8 + ...t,nouncheckedsideeffectimports=true).types | 8 + ...rve,nouncheckedsideeffectimports=false).js | 12 ++ ...ouncheckedsideeffectimports=false).symbols | 8 + ...,nouncheckedsideeffectimports=false).types | 8 + ...ncheckedsideeffectimports=true).errors.txt | 16 ++ ...erve,nouncheckedsideeffectimports=true).js | 12 ++ ...nouncheckedsideeffectimports=true).symbols | 8 + ...e,nouncheckedsideeffectimports=true).types | 8 + ...ouncheckedsideeffectimports=false).symbols | 6 + ...,nouncheckedsideeffectimports=false).types | 6 + ...nouncheckedsideeffectimports=true).symbols | 6 + ...e,nouncheckedsideeffectimports=true).types | 6 + ...ouncheckedsideeffectimports=false).symbols | 6 + ...,nouncheckedsideeffectimports=false).types | 6 + ...nouncheckedsideeffectimports=true).symbols | 6 + ...e,nouncheckedsideeffectimports=true).types | 6 + ...uto,nouncheckedsideeffectimports=false).js | 15 ++ ...ouncheckedsideeffectimports=false).symbols | 12 ++ ...,nouncheckedsideeffectimports=false).types | 19 ++ ...auto,nouncheckedsideeffectimports=true).js | 15 ++ ...nouncheckedsideeffectimports=true).symbols | 12 ++ ...o,nouncheckedsideeffectimports=true).types | 19 ++ ...rce,nouncheckedsideeffectimports=false).js | 17 ++ ...ouncheckedsideeffectimports=false).symbols | 12 ++ ...,nouncheckedsideeffectimports=false).types | 19 ++ ...orce,nouncheckedsideeffectimports=true).js | 17 ++ ...nouncheckedsideeffectimports=true).symbols | 12 ++ ...e,nouncheckedsideeffectimports=true).types | 19 ++ ...acy,nouncheckedsideeffectimports=false).js | 15 ++ ...ouncheckedsideeffectimports=false).symbols | 12 ++ ...,nouncheckedsideeffectimports=false).types | 19 ++ ...gacy,nouncheckedsideeffectimports=true).js | 15 ++ ...nouncheckedsideeffectimports=true).symbols | 12 ++ ...y,nouncheckedsideeffectimports=true).types | 19 ++ ...ts4(nouncheckedsideeffectimports=false).js | 33 ++++ ...ouncheckedsideeffectimports=false).symbols | 6 + ...(nouncheckedsideeffectimports=false).types | 6 + ...rts4(nouncheckedsideeffectimports=true).js | 33 ++++ ...nouncheckedsideeffectimports=true).symbols | 6 + ...4(nouncheckedsideeffectimports=true).types | 6 + ...checkedSideEffectImports-of-config-file.js | 172 ++++++++++++++++++ tests/cases/compiler/sideEffectImports1.ts | 6 + tests/cases/compiler/sideEffectImports2.ts | 17 ++ tests/cases/compiler/sideEffectImports3.ts | 9 + tests/cases/compiler/sideEffectImports4.ts | 36 ++++ .../fourslash/sideEffectImportsSuggestion1.ts | 19 ++ 78 files changed, 985 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noUncheckedSideEffectImports/tsconfig.json create mode 100644 tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).js create mode 100644 tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).types create mode 100644 tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).errors.txt create mode 100644 tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).js create mode 100644 tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).types create mode 100644 tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).js create mode 100644 tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).types create mode 100644 tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).errors.txt create mode 100644 tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).js create mode 100644 tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).types create mode 100644 tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).js create mode 100644 tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).types create mode 100644 tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).errors.txt create mode 100644 tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).js create mode 100644 tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).types create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=false).types create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=true).types create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=false).types create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=true).types create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).js create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).types create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).js create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).types create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).js create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).types create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).js create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).types create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).js create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).types create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).js create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).types create mode 100644 tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).js create mode 100644 tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).symbols create mode 100644 tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).types create mode 100644 tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).js create mode 100644 tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).symbols create mode 100644 tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).types create mode 100644 tests/baselines/reference/tscWatch/programUpdates/when-changing-noUncheckedSideEffectImports-of-config-file.js create mode 100644 tests/cases/compiler/sideEffectImports1.ts create mode 100644 tests/cases/compiler/sideEffectImports2.ts create mode 100644 tests/cases/compiler/sideEffectImports3.ts create mode 100644 tests/cases/compiler/sideEffectImports4.ts create mode 100644 tests/cases/fourslash/sideEffectImportsSuggestion1.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 8372bdcb7c3..e589fbbbf98 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -720,6 +720,7 @@ import { isSetAccessorDeclaration, isShorthandAmbientModuleSymbol, isShorthandPropertyAssignment, + isSideEffectImport, isSingleOrDoubleQuote, isSourceFile, isSourceFileJS, @@ -1505,6 +1506,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { var noImplicitThis = getStrictOptionValue(compilerOptions, "noImplicitThis"); var useUnknownInCatchVariables = getStrictOptionValue(compilerOptions, "useUnknownInCatchVariables"); var exactOptionalPropertyTypes = compilerOptions.exactOptionalPropertyTypes; + var noUncheckedSideEffectImports = !!compilerOptions.noUncheckedSideEffectImports; var checkBinaryExpression = createCheckBinaryExpression(); var emitResolver = createResolver(); @@ -4660,7 +4662,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // merged symbol is module declaration symbol combined with all augmentations return getMergedSymbol(sourceFile.symbol); } - if (errorNode && moduleNotFoundError) { + if (errorNode && moduleNotFoundError && !isSideEffectImport(errorNode)) { // report errors only if it was requested error(errorNode, Diagnostics.File_0_is_not_a_module, sourceFile.fileName); } @@ -4765,6 +4767,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function errorOnImplicitAnyModule(isError: boolean, errorNode: Node, sourceFile: SourceFile, mode: ResolutionMode, { packageId, resolvedFileName }: ResolvedModuleFull, moduleReference: string): void { + if (isSideEffectImport(errorNode)) { + return; + } + let errorInfo: DiagnosticMessageChain | undefined; if (!isExternalModuleNameRelative(moduleReference) && packageId) { errorInfo = createModuleNotFoundChain(sourceFile, host, moduleReference, mode, packageId.name); @@ -47246,6 +47252,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } } + else if (noUncheckedSideEffectImports && !importClause) { + void resolveExternalModuleName(node, node.moduleSpecifier); + } } checkImportAttributes(node); } diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index f0ccc291ffb..13764554943 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -1202,6 +1202,15 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ category: Diagnostics.Modules, description: Diagnostics.Conditions_to_set_in_addition_to_the_resolver_specific_defaults_when_resolving_imports, }, + { + name: "noUncheckedSideEffectImports", + type: "boolean", + affectsSemanticDiagnostics: true, + affectsBuildInfo: true, + category: Diagnostics.Modules, + description: Diagnostics.Check_side_effect_imports, + defaultValueDescription: false, + }, // Source Maps { diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 8c40f2f860e..8b9024132ab 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -6388,6 +6388,10 @@ "category": "Message", "code": 6805 }, + "Check side effect imports.": { + "category": "Message", + "code": 6806 + }, "one of:": { "category": "Message", diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 28d69a39e4d..7ccdae935b1 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -7418,6 +7418,7 @@ export interface CompilerOptions { target?: ScriptTarget; traceResolution?: boolean; useUnknownInCatchVariables?: boolean; + noUncheckedSideEffectImports?: boolean; resolveJsonModule?: boolean; types?: string[]; /** Paths used to compute primary types search locations */ diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index b29944a5236..458c589b63e 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -287,6 +287,7 @@ import { isIdentifier, isIdentifierStart, isIdentifierText, + isImportDeclaration, isImportTypeNode, isInterfaceDeclaration, isJSDoc, @@ -11758,3 +11759,9 @@ export function hasInferredType(node: Node): node is HasInferredType { return false; } } + +/** @internal */ +export function isSideEffectImport(node: Node): boolean { + const ancestor = findAncestor(node, isImportDeclaration); + return !!ancestor && !ancestor.importClause; +} diff --git a/src/testRunner/unittests/tscWatch/programUpdates.ts b/src/testRunner/unittests/tscWatch/programUpdates.ts index 626367c7f30..6bfa06fcaa4 100644 --- a/src/testRunner/unittests/tscWatch/programUpdates.ts +++ b/src/testRunner/unittests/tscWatch/programUpdates.ts @@ -2245,4 +2245,40 @@ import { x } from "../b";`, }, ], }); + + verifyTscWatch({ + scenario, + subScenario: "when changing noUncheckedSideEffectImports of config file", + commandLineArgs: ["-w", "-p", ".", "--extendedDiagnostics"], + sys: () => { + const module1: File = { + path: `/user/username/projects/myproject/a.ts`, + content: `import "does-not-exist";`, + }; + const config: File = { + path: `/user/username/projects/myproject/tsconfig.json`, + content: jsonToReadableText({ + compilerOptions: { + noUncheckedSideEffectImports: false, + }, + }), + }; + return createWatchedSystem([module1, config, libFile], { currentDirectory: "/user/username/projects/myproject" }); + }, + edits: [ + { + caption: "Change noUncheckedSideEffectImports to true", + edit: sys => + sys.writeFile( + `/user/username/projects/myproject/tsconfig.json`, + jsonToReadableText({ + compilerOptions: { + noUncheckedSideEffectImports: true, + }, + }), + ), + timeouts: sys => sys.runQueuedTimeoutCallbacks(), + }, + ], + }); }); diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 3855078b1f2..85d35b85c9c 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -7017,6 +7017,7 @@ declare namespace ts { target?: ScriptTarget; traceResolution?: boolean; useUnknownInCatchVariables?: boolean; + noUncheckedSideEffectImports?: boolean; resolveJsonModule?: boolean; types?: string[]; /** Paths used to compute primary types search locations */ diff --git a/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json index a7774be58c9..56a8ab81090 100644 --- a/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Default initialized TSConfig/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json index a7774be58c9..56a8ab81090 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --help/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json index a7774be58c9..56a8ab81090 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with --watch/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json index 705b9f76e01..2128e19b491 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with advanced options/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json index ebe2ee57e90..3a57b6b66b6 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with boolean value compiler options/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json index 46fb71d52c3..457ad18d7fd 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with enum value compiler options/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json index 300866f96a8..3c272c2c102 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with files options/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json index 8a8db313c21..cbec354c31b 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option value/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json index a7774be58c9..56a8ab81090 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with incorrect compiler option/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json index 84f23824275..49877df48bb 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options with enum value/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json index 6494b47ae9e..79727a965d6 100644 --- a/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json +++ b/tests/baselines/reference/config/initTSConfig/Initialized TSConfig with list compiler options/tsconfig.json @@ -39,6 +39,7 @@ // "resolvePackageJsonExports": true, /* Use the package.json 'exports' field when resolving package imports. */ // "resolvePackageJsonImports": true, /* Use the package.json 'imports' field when resolving imports. */ // "customConditions": [], /* Conditions to set in addition to the resolver-specific defaults when resolving imports. */ + // "noUncheckedSideEffectImports": true, /* Check side effect imports. */ // "resolveJsonModule": true, /* Enable importing .json files. */ // "allowArbitraryExtensions": true, /* Enable importing files with any extension, provided a declaration file is present. */ // "noResolve": true, /* Disallow 'import's, 'require's or ''s from expanding the number of files TypeScript should add to a project. */ diff --git a/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noUncheckedSideEffectImports/tsconfig.json b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noUncheckedSideEffectImports/tsconfig.json new file mode 100644 index 00000000000..ebfea7ecd97 --- /dev/null +++ b/tests/baselines/reference/config/showConfig/Shows tsconfig for single option/noUncheckedSideEffectImports/tsconfig.json @@ -0,0 +1,5 @@ +{ + "compilerOptions": { + "noUncheckedSideEffectImports": true + } +} diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).js b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).js new file mode 100644 index 00000000000..b9f2790a4b2 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).js @@ -0,0 +1,14 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +//// [sideEffectImports1.ts] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + + +//// [sideEffectImports1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("does-not-exist"); +require("./does-not-exist-either"); +require("./does-not-exist-either.js"); diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).symbols new file mode 100644 index 00000000000..e9f4818d85a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).types b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).types new file mode 100644 index 00000000000..e9f4818d85a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=false).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).errors.txt b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).errors.txt new file mode 100644 index 00000000000..e1813116cb0 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).errors.txt @@ -0,0 +1,16 @@ +sideEffectImports1.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. +sideEffectImports1.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. +sideEffectImports1.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. + + +==== sideEffectImports1.ts (3 errors) ==== + import "does-not-exist"; + ~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. + import "./does-not-exist-either"; + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. + import "./does-not-exist-either.js"; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. + \ No newline at end of file diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).js b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).js new file mode 100644 index 00000000000..b9f2790a4b2 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).js @@ -0,0 +1,14 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +//// [sideEffectImports1.ts] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + + +//// [sideEffectImports1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("does-not-exist"); +require("./does-not-exist-either"); +require("./does-not-exist-either.js"); diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).symbols new file mode 100644 index 00000000000..e9f4818d85a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).types b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).types new file mode 100644 index 00000000000..e9f4818d85a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=commonjs,nouncheckedsideeffectimports=true).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).js b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).js new file mode 100644 index 00000000000..b9f2790a4b2 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).js @@ -0,0 +1,14 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +//// [sideEffectImports1.ts] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + + +//// [sideEffectImports1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("does-not-exist"); +require("./does-not-exist-either"); +require("./does-not-exist-either.js"); diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).symbols new file mode 100644 index 00000000000..e9f4818d85a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).types b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).types new file mode 100644 index 00000000000..e9f4818d85a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=false).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).errors.txt b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).errors.txt new file mode 100644 index 00000000000..e1813116cb0 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).errors.txt @@ -0,0 +1,16 @@ +sideEffectImports1.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. +sideEffectImports1.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. +sideEffectImports1.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. + + +==== sideEffectImports1.ts (3 errors) ==== + import "does-not-exist"; + ~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. + import "./does-not-exist-either"; + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. + import "./does-not-exist-either.js"; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. + \ No newline at end of file diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).js b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).js new file mode 100644 index 00000000000..b9f2790a4b2 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).js @@ -0,0 +1,14 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +//// [sideEffectImports1.ts] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + + +//// [sideEffectImports1.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("does-not-exist"); +require("./does-not-exist-either"); +require("./does-not-exist-either.js"); diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).symbols new file mode 100644 index 00000000000..e9f4818d85a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).types b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).types new file mode 100644 index 00000000000..e9f4818d85a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=nodenext,nouncheckedsideeffectimports=true).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).js b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).js new file mode 100644 index 00000000000..6885c11fb0d --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).js @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +//// [sideEffectImports1.ts] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + + +//// [sideEffectImports1.js] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).symbols new file mode 100644 index 00000000000..e9f4818d85a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).types b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).types new file mode 100644 index 00000000000..e9f4818d85a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=false).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).errors.txt b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).errors.txt new file mode 100644 index 00000000000..e1813116cb0 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).errors.txt @@ -0,0 +1,16 @@ +sideEffectImports1.ts(1,8): error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. +sideEffectImports1.ts(2,8): error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. +sideEffectImports1.ts(3,8): error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. + + +==== sideEffectImports1.ts (3 errors) ==== + import "does-not-exist"; + ~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. + import "./does-not-exist-either"; + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module './does-not-exist-either' or its corresponding type declarations. + import "./does-not-exist-either.js"; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2307: Cannot find module './does-not-exist-either.js' or its corresponding type declarations. + \ No newline at end of file diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).js b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).js new file mode 100644 index 00000000000..6885c11fb0d --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).js @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +//// [sideEffectImports1.ts] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + + +//// [sideEffectImports1.js] +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).symbols new file mode 100644 index 00000000000..e9f4818d85a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).symbols @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).types b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).types new file mode 100644 index 00000000000..e9f4818d85a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports1(module=preserve,nouncheckedsideeffectimports=true).types @@ -0,0 +1,8 @@ +//// [tests/cases/compiler/sideEffectImports1.ts] //// + +=== sideEffectImports1.ts === + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=false).symbols new file mode 100644 index 00000000000..aa7b41f4c55 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=false).symbols @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=false).types b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=false).types new file mode 100644 index 00000000000..aa7b41f4c55 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=false).types @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=true).symbols new file mode 100644 index 00000000000..aa7b41f4c55 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=true).symbols @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=true).types b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=true).types new file mode 100644 index 00000000000..aa7b41f4c55 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=false,nouncheckedsideeffectimports=true).types @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=false).symbols new file mode 100644 index 00000000000..aa7b41f4c55 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=false).symbols @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=false).types b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=false).types new file mode 100644 index 00000000000..aa7b41f4c55 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=false).types @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=true).symbols new file mode 100644 index 00000000000..aa7b41f4c55 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=true).symbols @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=true).types b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=true).types new file mode 100644 index 00000000000..aa7b41f4c55 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports2(noimplicitany=true,nouncheckedsideeffectimports=true).types @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports2.ts] //// + +=== index.ts === + +import "source-map-support/register"; + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).js b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).js new file mode 100644 index 00000000000..f0426f699a2 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).js @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +//// [index.ts] +import "./not-a-module"; + +//// [not-a-module.ts] +console.log("Hello, world!"); + + +//// [not-a-module.js] +console.log("Hello, world!"); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("./not-a-module"); diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).symbols new file mode 100644 index 00000000000..727efa084be --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).types b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).types new file mode 100644 index 00000000000..a956316561e --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=false).types @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log("Hello, world!") : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>"Hello, world!" : "Hello, world!" +> : ^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).js b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).js new file mode 100644 index 00000000000..f0426f699a2 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).js @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +//// [index.ts] +import "./not-a-module"; + +//// [not-a-module.ts] +console.log("Hello, world!"); + + +//// [not-a-module.js] +console.log("Hello, world!"); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("./not-a-module"); diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).symbols new file mode 100644 index 00000000000..727efa084be --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).types b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).types new file mode 100644 index 00000000000..a956316561e --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=auto,nouncheckedsideeffectimports=true).types @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log("Hello, world!") : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>"Hello, world!" : "Hello, world!" +> : ^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).js b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).js new file mode 100644 index 00000000000..47f2c895605 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).js @@ -0,0 +1,17 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +//// [index.ts] +import "./not-a-module"; + +//// [not-a-module.ts] +console.log("Hello, world!"); + + +//// [not-a-module.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log("Hello, world!"); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("./not-a-module"); diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).symbols new file mode 100644 index 00000000000..727efa084be --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).types b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).types new file mode 100644 index 00000000000..a956316561e --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=false).types @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log("Hello, world!") : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>"Hello, world!" : "Hello, world!" +> : ^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).js b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).js new file mode 100644 index 00000000000..47f2c895605 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).js @@ -0,0 +1,17 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +//// [index.ts] +import "./not-a-module"; + +//// [not-a-module.ts] +console.log("Hello, world!"); + + +//// [not-a-module.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +console.log("Hello, world!"); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("./not-a-module"); diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).symbols new file mode 100644 index 00000000000..727efa084be --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).types b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).types new file mode 100644 index 00000000000..a956316561e --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=force,nouncheckedsideeffectimports=true).types @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log("Hello, world!") : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>"Hello, world!" : "Hello, world!" +> : ^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).js b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).js new file mode 100644 index 00000000000..f0426f699a2 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).js @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +//// [index.ts] +import "./not-a-module"; + +//// [not-a-module.ts] +console.log("Hello, world!"); + + +//// [not-a-module.js] +console.log("Hello, world!"); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("./not-a-module"); diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).symbols new file mode 100644 index 00000000000..727efa084be --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).types b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).types new file mode 100644 index 00000000000..a956316561e --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=false).types @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log("Hello, world!") : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>"Hello, world!" : "Hello, world!" +> : ^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).js b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).js new file mode 100644 index 00000000000..f0426f699a2 --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).js @@ -0,0 +1,15 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +//// [index.ts] +import "./not-a-module"; + +//// [not-a-module.ts] +console.log("Hello, world!"); + + +//// [not-a-module.js] +console.log("Hello, world!"); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("./not-a-module"); diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).symbols new file mode 100644 index 00000000000..727efa084be --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) + diff --git a/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).types b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).types new file mode 100644 index 00000000000..a956316561e --- /dev/null +++ b/tests/baselines/reference/sideEffectImports3(moduledetection=legacy,nouncheckedsideeffectimports=true).types @@ -0,0 +1,19 @@ +//// [tests/cases/compiler/sideEffectImports3.ts] //// + +=== index.ts === + +import "./not-a-module"; + +=== not-a-module.ts === +console.log("Hello, world!"); +>console.log("Hello, world!") : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>"Hello, world!" : "Hello, world!" +> : ^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).js b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).js new file mode 100644 index 00000000000..4dd388e90fe --- /dev/null +++ b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).js @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/sideEffectImports4.ts] //// + +//// [package.json] +{ + "name": "server-only", + "version": "0.0.1", + "main": "index.js", + "exports": { + ".": { + "react-server": "./empty.js", + "default": "./index.js" + } + } +} + +//// [index.js] +throw new Error(); + +//// [empty.js] +// Empty + +//// [package.json] +{ + "name": "root", + "type": "module" +} + +//// [index.ts] +import "server-only"; + + +//// [index.js] +import "server-only"; diff --git a/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).symbols b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).symbols new file mode 100644 index 00000000000..6e5527be87a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).symbols @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports4.ts] //// + +=== index.ts === + +import "server-only"; + diff --git a/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).types b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).types new file mode 100644 index 00000000000..6e5527be87a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=false).types @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports4.ts] //// + +=== index.ts === + +import "server-only"; + diff --git a/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).js b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).js new file mode 100644 index 00000000000..4dd388e90fe --- /dev/null +++ b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).js @@ -0,0 +1,33 @@ +//// [tests/cases/compiler/sideEffectImports4.ts] //// + +//// [package.json] +{ + "name": "server-only", + "version": "0.0.1", + "main": "index.js", + "exports": { + ".": { + "react-server": "./empty.js", + "default": "./index.js" + } + } +} + +//// [index.js] +throw new Error(); + +//// [empty.js] +// Empty + +//// [package.json] +{ + "name": "root", + "type": "module" +} + +//// [index.ts] +import "server-only"; + + +//// [index.js] +import "server-only"; diff --git a/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).symbols b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).symbols new file mode 100644 index 00000000000..6e5527be87a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).symbols @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports4.ts] //// + +=== index.ts === + +import "server-only"; + diff --git a/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).types b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).types new file mode 100644 index 00000000000..6e5527be87a --- /dev/null +++ b/tests/baselines/reference/sideEffectImports4(nouncheckedsideeffectimports=true).types @@ -0,0 +1,6 @@ +//// [tests/cases/compiler/sideEffectImports4.ts] //// + +=== index.ts === + +import "server-only"; + diff --git a/tests/baselines/reference/tscWatch/programUpdates/when-changing-noUncheckedSideEffectImports-of-config-file.js b/tests/baselines/reference/tscWatch/programUpdates/when-changing-noUncheckedSideEffectImports-of-config-file.js new file mode 100644 index 00000000000..2a15f0cc1f6 --- /dev/null +++ b/tests/baselines/reference/tscWatch/programUpdates/when-changing-noUncheckedSideEffectImports-of-config-file.js @@ -0,0 +1,172 @@ +currentDirectory:: /user/username/projects/myproject useCaseSensitiveFileNames: false +Input:: +//// [/user/username/projects/myproject/a.ts] +import "does-not-exist"; + +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "noUncheckedSideEffectImports": false + } +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +/a/lib/tsc.js -w -p . --extendedDiagnostics +Output:: +[HH:MM:SS AM] Starting compilation in watch mode... + +Current directory: /user/username/projects/myproject CaseSensitiveFileNames: false +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined Config file +Synchronizing program +CreatingProgramWith:: + roots: ["/user/username/projects/myproject/a.ts"] + options: {"noUncheckedSideEffectImports":false,"watch":true,"project":"/user/username/projects/myproject","extendedDiagnostics":true,"configFilePath":"/user/username/projects/myproject/tsconfig.json"} +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/a.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 250 undefined Source file +DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Failed Lookup Locations +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Failed Lookup Locations +DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules 1 undefined Failed Lookup Locations +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules 1 undefined Failed Lookup Locations +DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Type roots +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Type roots +DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Type roots +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Type roots +[HH:MM:SS AM] Found 0 errors. Watching for file changes. + +DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject 1 undefined Wild card directory +Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject 1 undefined Wild card directory + + +//// [/user/username/projects/myproject/a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +require("does-not-exist"); + + + +PolledWatches:: +/user/username/projects/myproject/node_modules: *new* + {"pollingInterval":500} +/user/username/projects/myproject/node_modules/@types: *new* + {"pollingInterval":500} +/user/username/projects/node_modules: *new* + {"pollingInterval":500} +/user/username/projects/node_modules/@types: *new* + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: *new* + {} +/user/username/projects/myproject/a.ts: *new* + {} +/user/username/projects/myproject/tsconfig.json: *new* + {} + +FsWatchesRecursive:: +/user/username/projects/myproject: *new* + {} + +Program root files: [ + "/user/username/projects/myproject/a.ts" +] +Program options: { + "noUncheckedSideEffectImports": false, + "watch": true, + "project": "/user/username/projects/myproject", + "extendedDiagnostics": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Not +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.ts + +Shape signatures in builder refreshed for:: +/a/lib/lib.d.ts (used version) +/user/username/projects/myproject/a.ts (used version) + +exitCode:: ExitStatus.undefined + +Change:: Change noUncheckedSideEffectImports to true + +Input:: +//// [/user/username/projects/myproject/tsconfig.json] +{ + "compilerOptions": { + "noUncheckedSideEffectImports": true + } +} + + +Output:: +FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined Config file +Scheduling update +Elapsed:: *ms FileWatcher:: Triggered with /user/username/projects/myproject/tsconfig.json 1:: WatchInfo: /user/username/projects/myproject/tsconfig.json 2000 undefined Config file + + +Timeout callback:: count: 1 +1: timerToUpdateProgram *new* + +Before running Timeout callback:: count: 1 +1: timerToUpdateProgram + +Host is moving to new time +After running Timeout callback:: count: 0 +Output:: +Reloading config file: /user/username/projects/myproject/tsconfig.json +Synchronizing program +[HH:MM:SS AM] File change detected. Starting incremental compilation... + +CreatingProgramWith:: + roots: ["/user/username/projects/myproject/a.ts"] + options: {"noUncheckedSideEffectImports":true,"watch":true,"project":"/user/username/projects/myproject","extendedDiagnostics":true,"configFilePath":"/user/username/projects/myproject/tsconfig.json"} +a.ts:1:8 - error TS2307: Cannot find module 'does-not-exist' or its corresponding type declarations. + +1 import "does-not-exist"; +   ~~~~~~~~~~~~~~~~ + +[HH:MM:SS AM] Found 1 error. Watching for file changes. + + + + + +Program root files: [ + "/user/username/projects/myproject/a.ts" +] +Program options: { + "noUncheckedSideEffectImports": true, + "watch": true, + "project": "/user/username/projects/myproject", + "extendedDiagnostics": true, + "configFilePath": "/user/username/projects/myproject/tsconfig.json" +} +Program structureReused: Completely +Program files:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.ts + +Semantic diagnostics in builder refreshed for:: +/a/lib/lib.d.ts +/user/username/projects/myproject/a.ts + +No shapes updated in the builder:: + +exitCode:: ExitStatus.undefined diff --git a/tests/cases/compiler/sideEffectImports1.ts b/tests/cases/compiler/sideEffectImports1.ts new file mode 100644 index 00000000000..d65ddd2ed57 --- /dev/null +++ b/tests/cases/compiler/sideEffectImports1.ts @@ -0,0 +1,6 @@ +// @noUncheckedSideEffectImports: true,false +// @module: commonjs,nodenext,preserve + +import "does-not-exist"; +import "./does-not-exist-either"; +import "./does-not-exist-either.js"; diff --git a/tests/cases/compiler/sideEffectImports2.ts b/tests/cases/compiler/sideEffectImports2.ts new file mode 100644 index 00000000000..69050023319 --- /dev/null +++ b/tests/cases/compiler/sideEffectImports2.ts @@ -0,0 +1,17 @@ +// @noUncheckedSideEffectImports: true,false +// @module: nodenext +// @noImplicitAny: true,false +// @noEmit: true + +// @filename: tsconfig.json +{ + "include": ["index.ts"], +} + +// @filename: index.ts + +import "source-map-support/register"; + +// @filename: node_modules/source-map-support/register.js + +module.exports = {}; diff --git a/tests/cases/compiler/sideEffectImports3.ts b/tests/cases/compiler/sideEffectImports3.ts new file mode 100644 index 00000000000..dba921939c7 --- /dev/null +++ b/tests/cases/compiler/sideEffectImports3.ts @@ -0,0 +1,9 @@ +// @noUncheckedSideEffectImports: true,false +// @module: nodenext +// @moduleDetection: legacy,auto,force + +// @filename: index.ts +import "./not-a-module"; + +// @filename: not-a-module.ts +console.log("Hello, world!"); diff --git a/tests/cases/compiler/sideEffectImports4.ts b/tests/cases/compiler/sideEffectImports4.ts new file mode 100644 index 00000000000..8ae1cc3ac87 --- /dev/null +++ b/tests/cases/compiler/sideEffectImports4.ts @@ -0,0 +1,36 @@ +// @noUncheckedSideEffectImports: true,false +// @strict: true +// @noImplicitReferences: true +// @module: esnext +// @moduleResolution: bundler +// @moduleDetection: force +// @allowJs: true +// @checkJs: true + +// @filename: node_modules/server-only/package.json +{ + "name": "server-only", + "version": "0.0.1", + "main": "index.js", + "exports": { + ".": { + "react-server": "./empty.js", + "default": "./index.js" + } + } +} + +// @filename: node_modules/server-only/index.js +throw new Error(); + +// @filename: node_modules/server-only/empty.js +// Empty + +// @filename: package.json +{ + "name": "root", + "type": "module" +} + +// @filename: index.ts +import "server-only"; diff --git a/tests/cases/fourslash/sideEffectImportsSuggestion1.ts b/tests/cases/fourslash/sideEffectImportsSuggestion1.ts new file mode 100644 index 00000000000..80cd37f3ae3 --- /dev/null +++ b/tests/cases/fourslash/sideEffectImportsSuggestion1.ts @@ -0,0 +1,19 @@ +/// + +// @allowJs: true +// @noEmit: true +// @module: commonjs +// @noUncheckedSideEffectImports: true + +// @filename: moduleA/a.js +//// import "b"; +//// import "c"; + +// @filename: node_modules/b.ts +//// var a = 10; + +// @filename: node_modules/c.js +//// exports.a = 10; +//// c = 10; + +verify.getSuggestionDiagnostics([]); From dfb870150ce349c7eb8afa9d2a1a9eaf7e3e0b9f Mon Sep 17 00:00:00 2001 From: Isabel Duan Date: Fri, 19 Jul 2024 17:48:08 -0700 Subject: [PATCH 43/89] fix35982: allow BigIntLiteral to parse as PropertyName for literal object and indices (#58608) --- src/compiler/checker.ts | 12 +- src/compiler/diagnosticMessages.json | 4 + src/compiler/parser.ts | 9 +- src/compiler/transformers/destructuring.ts | 3 +- src/compiler/types.ts | 14 +- src/compiler/utilities.ts | 2 + tests/baselines/reference/api/typescript.d.ts | 4 +- .../bigintArbirtraryIdentifier.errors.txt | 69 +++++ .../reference/bigintArbirtraryIdentifier.js | 44 +++ .../bigintArbirtraryIdentifier.symbols | 34 +++ .../bigintArbirtraryIdentifier.types | 64 ++++ .../reference/bigintIndex.errors.txt | 36 +-- tests/baselines/reference/bigintIndex.js | 18 +- tests/baselines/reference/bigintIndex.symbols | 44 +-- tests/baselines/reference/bigintIndex.types | 55 ++-- .../reference/bigintPropertyName.errors.txt | 143 +++++++++ .../baselines/reference/bigintPropertyName.js | 103 +++++++ .../reference/bigintPropertyName.symbols | 147 +++++++++ .../reference/bigintPropertyName.types | 289 ++++++++++++++++++ .../compiler/bigintArbirtraryIdentifier.ts | 22 ++ tests/cases/compiler/bigintIndex.ts | 8 +- tests/cases/compiler/bigintPropertyName.ts | 59 ++++ 22 files changed, 1057 insertions(+), 126 deletions(-) create mode 100644 tests/baselines/reference/bigintArbirtraryIdentifier.errors.txt create mode 100644 tests/baselines/reference/bigintArbirtraryIdentifier.js create mode 100644 tests/baselines/reference/bigintArbirtraryIdentifier.symbols create mode 100644 tests/baselines/reference/bigintArbirtraryIdentifier.types create mode 100644 tests/baselines/reference/bigintPropertyName.errors.txt create mode 100644 tests/baselines/reference/bigintPropertyName.js create mode 100644 tests/baselines/reference/bigintPropertyName.symbols create mode 100644 tests/baselines/reference/bigintPropertyName.types create mode 100644 tests/cases/compiler/bigintArbirtraryIdentifier.ts create mode 100644 tests/cases/compiler/bigintPropertyName.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e589fbbbf98..8bdbbff72ac 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -18772,14 +18772,15 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } if (accessNode) { const indexNode = getIndexNodeForAccessExpression(accessNode); - if (indexType.flags & (TypeFlags.StringLiteral | TypeFlags.NumberLiteral)) { + if (indexNode.kind !== SyntaxKind.BigIntLiteral && indexType.flags & (TypeFlags.StringLiteral | TypeFlags.NumberLiteral)) { error(indexNode, Diagnostics.Property_0_does_not_exist_on_type_1, "" + (indexType as StringLiteralType | NumberLiteralType).value, typeToString(objectType)); } else if (indexType.flags & (TypeFlags.String | TypeFlags.Number)) { error(indexNode, Diagnostics.Type_0_has_no_matching_index_signature_for_type_1, typeToString(objectType), typeToString(indexType)); } else { - error(indexNode, Diagnostics.Type_0_cannot_be_used_as_an_index_type, typeToString(indexType)); + const typeString = indexNode.kind === SyntaxKind.BigIntLiteral ? "bigint" : typeToString(indexType); + error(indexNode, Diagnostics.Type_0_cannot_be_used_as_an_index_type, typeString); } } if (isTypeAny(indexType)) { @@ -43908,6 +43909,10 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return; } + if (node.name.kind === SyntaxKind.BigIntLiteral) { + error(node.name, Diagnostics.A_bigint_literal_cannot_be_used_as_a_property_name); + } + const type = convertAutoToAny(getTypeOfSymbol(symbol)); if (node === symbol.valueDeclaration) { // Node is the primary declaration of the symbol, just validate the initializer @@ -51114,6 +51119,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (name.kind === SyntaxKind.NumericLiteral) { checkGrammarNumericLiteral(name); } + if (name.kind === SyntaxKind.BigIntLiteral) { + addErrorOrSuggestion(/*isError*/ true, createDiagnosticForNode(name, Diagnostics.A_bigint_literal_cannot_be_used_as_a_property_name)); + } currentKind = DeclarationMeaning.PropertyAssignment; break; case SyntaxKind.MethodDeclaration: diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 8b9024132ab..95f44b4396d 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -1809,6 +1809,10 @@ "category": "Error", "code": 1538 }, + "A 'bigint' literal cannot be used as a property name.": { + "category": "Error", + "code": 1539 + }, "The types of '{0}' are incompatible between these types.": { "category": "Error", diff --git a/src/compiler/parser.ts b/src/compiler/parser.ts index f5f3c485214..b20d4b8b8b5 100644 --- a/src/compiler/parser.ts +++ b/src/compiler/parser.ts @@ -14,6 +14,7 @@ import { attachFileToDiagnostics, AwaitExpression, BaseNodeFactory, + BigIntLiteral, BinaryExpression, BinaryOperatorToken, BindingElement, @@ -2692,7 +2693,8 @@ namespace Parser { function isLiteralPropertyName(): boolean { return tokenIsIdentifierOrKeyword(token()) || token() === SyntaxKind.StringLiteral || - token() === SyntaxKind.NumericLiteral; + token() === SyntaxKind.NumericLiteral || + token() === SyntaxKind.BigIntLiteral; } function isImportAttributeName(): boolean { @@ -2700,8 +2702,8 @@ namespace Parser { } function parsePropertyNameWorker(allowComputedPropertyNames: boolean): PropertyName { - if (token() === SyntaxKind.StringLiteral || token() === SyntaxKind.NumericLiteral) { - const node = parseLiteralNode() as StringLiteral | NumericLiteral; + if (token() === SyntaxKind.StringLiteral || token() === SyntaxKind.NumericLiteral || token() === SyntaxKind.BigIntLiteral) { + const node = parseLiteralNode() as StringLiteral | NumericLiteral | BigIntLiteral; node.text = internIdentifier(node.text); return node; } @@ -8058,6 +8060,7 @@ namespace Parser { tokenIsIdentifierOrKeyword(token()) || token() === SyntaxKind.StringLiteral || token() === SyntaxKind.NumericLiteral || + token() === SyntaxKind.BigIntLiteral || token() === SyntaxKind.AsteriskToken || token() === SyntaxKind.OpenBracketToken ) { diff --git a/src/compiler/transformers/destructuring.ts b/src/compiler/transformers/destructuring.ts index aa61d9f6478..cca1f2b9e6f 100644 --- a/src/compiler/transformers/destructuring.ts +++ b/src/compiler/transformers/destructuring.ts @@ -23,6 +23,7 @@ import { isArrayBindingElement, isArrayBindingOrAssignmentElement, isArrayBindingOrAssignmentPattern, + isBigIntLiteral, isBindingElement, isBindingName, isBindingOrAssignmentElement, @@ -558,7 +559,7 @@ function createDestructuringPropertyAccess(flattenContext: FlattenContext, value const argumentExpression = ensureIdentifier(flattenContext, Debug.checkDefined(visitNode(propertyName.expression, flattenContext.visitor, isExpression)), /*reuseIdentifierExpressions*/ false, /*location*/ propertyName); return flattenContext.context.factory.createElementAccessExpression(value, argumentExpression); } - else if (isStringOrNumericLiteralLike(propertyName)) { + else if (isStringOrNumericLiteralLike(propertyName) || isBigIntLiteral(propertyName)) { const argumentExpression = factory.cloneNode(propertyName); return flattenContext.context.factory.createElementAccessExpression(value, argumentExpression); } diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 7ccdae935b1..c2e072a576a 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -1721,7 +1721,14 @@ export interface QualifiedName extends Node, FlowContainer { export type EntityName = Identifier | QualifiedName; -export type PropertyName = Identifier | StringLiteral | NoSubstitutionTemplateLiteral | NumericLiteral | ComputedPropertyName | PrivateIdentifier; +export type PropertyName = + | Identifier + | StringLiteral + | NoSubstitutionTemplateLiteral + | NumericLiteral + | ComputedPropertyName + | PrivateIdentifier + | BigIntLiteral; export type MemberName = Identifier | PrivateIdentifier; @@ -2340,7 +2347,8 @@ export interface LiteralTypeNode extends TypeNode { export interface StringLiteral extends LiteralExpression, Declaration { readonly kind: SyntaxKind.StringLiteral; - /** @internal */ readonly textSourceNode?: Identifier | StringLiteralLike | NumericLiteral | PrivateIdentifier | JsxNamespacedName; // Allows a StringLiteral to get its text from another node (used by transforms). + /** @internal */ + readonly textSourceNode?: Identifier | StringLiteralLike | NumericLiteral | PrivateIdentifier | JsxNamespacedName | BigIntLiteral; // Allows a StringLiteral to get its text from another node (used by transforms). /** * Note: this is only set when synthesizing a node, not during parsing. * @@ -2350,7 +2358,7 @@ export interface StringLiteral extends LiteralExpression, Declaration { } export type StringLiteralLike = StringLiteral | NoSubstitutionTemplateLiteral; -export type PropertyNameLiteral = Identifier | StringLiteralLike | NumericLiteral | JsxNamespacedName; +export type PropertyNameLiteral = Identifier | StringLiteralLike | NumericLiteral | JsxNamespacedName | BigIntLiteral; export interface TemplateLiteralTypeNode extends TypeNode { kind: SyntaxKind.TemplateLiteralType; diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 458c589b63e..46f4096e852 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -2207,6 +2207,7 @@ export function tryGetTextOfPropertyName(name: PropertyName | NoSubstitutionTemp return name.emitNode?.autoGenerate ? undefined : name.escapedText; case SyntaxKind.StringLiteral: case SyntaxKind.NumericLiteral: + case SyntaxKind.BigIntLiteral: case SyntaxKind.NoSubstitutionTemplateLiteral: return escapeLeadingUnderscores(name.text); case SyntaxKind.ComputedPropertyName: @@ -5221,6 +5222,7 @@ export function getPropertyNameForPropertyNameNode(name: PropertyName | JsxAttri case SyntaxKind.StringLiteral: case SyntaxKind.NoSubstitutionTemplateLiteral: case SyntaxKind.NumericLiteral: + case SyntaxKind.BigIntLiteral: return escapeLeadingUnderscores(name.text); case SyntaxKind.ComputedPropertyName: const nameExpression = name.expression; diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 85d35b85c9c..86fc133e905 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -4422,7 +4422,7 @@ declare namespace ts { readonly right: Identifier; } type EntityName = Identifier | QualifiedName; - type PropertyName = Identifier | StringLiteral | NoSubstitutionTemplateLiteral | NumericLiteral | ComputedPropertyName | PrivateIdentifier; + type PropertyName = Identifier | StringLiteral | NoSubstitutionTemplateLiteral | NumericLiteral | ComputedPropertyName | PrivateIdentifier | BigIntLiteral; type MemberName = Identifier | PrivateIdentifier; type DeclarationName = PropertyName | JsxAttributeName | StringLiteralLike | ElementAccessExpression | BindingPattern | EntityNameExpression; interface Declaration extends Node { @@ -4773,7 +4773,7 @@ declare namespace ts { readonly kind: SyntaxKind.StringLiteral; } type StringLiteralLike = StringLiteral | NoSubstitutionTemplateLiteral; - type PropertyNameLiteral = Identifier | StringLiteralLike | NumericLiteral | JsxNamespacedName; + type PropertyNameLiteral = Identifier | StringLiteralLike | NumericLiteral | JsxNamespacedName | BigIntLiteral; interface TemplateLiteralTypeNode extends TypeNode { kind: SyntaxKind.TemplateLiteralType; readonly head: TemplateHead; diff --git a/tests/baselines/reference/bigintArbirtraryIdentifier.errors.txt b/tests/baselines/reference/bigintArbirtraryIdentifier.errors.txt new file mode 100644 index 00000000000..5a959d4e04b --- /dev/null +++ b/tests/baselines/reference/bigintArbirtraryIdentifier.errors.txt @@ -0,0 +1,69 @@ +badExport.ts(1,10): error TS2304: Cannot find name 'foo'. +badExport.ts(1,17): error TS1003: Identifier expected. +badExport.ts(1,20): error TS1128: Declaration or statement expected. +badExport2.ts(1,10): error TS1003: Identifier expected. +badExport2.ts(1,16): error TS2304: Cannot find name 'foo'. +badExport2.ts(1,20): error TS1128: Declaration or statement expected. +badImport.ts(1,10): error TS1003: Identifier expected. +badImport.ts(1,10): error TS1141: String literal expected. +badImport.ts(1,20): error TS1128: Declaration or statement expected. +badImport.ts(1,22): error TS1434: Unexpected keyword or identifier. +badImport.ts(1,22): error TS2304: Cannot find name 'from'. +badImport2.ts(1,17): error TS1003: Identifier expected. +badImport2.ts(1,17): error TS1141: String literal expected. +badImport2.ts(1,20): error TS1128: Declaration or statement expected. +badImport2.ts(1,22): error TS1434: Unexpected keyword or identifier. +badImport2.ts(1,22): error TS2304: Cannot find name 'from'. + + +==== foo.ts (0 errors) ==== + const foo = 0n; + export { foo as "0n" }; + +==== correctUse.ts (0 errors) ==== + import { "0n" as foo } from "./foo"; + export { foo as "0n" }; + +==== badImport.ts (5 errors) ==== + import { 0n as foo } from "./foo"; + ~~ +!!! error TS1003: Identifier expected. + ~~~~~~~~~ +!!! error TS1141: String literal expected. + ~ +!!! error TS1128: Declaration or statement expected. + ~~~~ +!!! error TS1434: Unexpected keyword or identifier. + ~~~~ +!!! error TS2304: Cannot find name 'from'. + +==== badImport2.ts (5 errors) ==== + import { foo as 0n } from "./foo"; + ~~ +!!! error TS1003: Identifier expected. + ~~ +!!! error TS1141: String literal expected. + ~ +!!! error TS1128: Declaration or statement expected. + ~~~~ +!!! error TS1434: Unexpected keyword or identifier. + ~~~~ +!!! error TS2304: Cannot find name 'from'. + +==== badExport.ts (3 errors) ==== + export { foo as 0n }; + ~~~ +!!! error TS2304: Cannot find name 'foo'. + ~~ +!!! error TS1003: Identifier expected. + ~ +!!! error TS1128: Declaration or statement expected. + +==== badExport2.ts (3 errors) ==== + export { 0n as foo }; + ~~ +!!! error TS1003: Identifier expected. + ~~~ +!!! error TS2304: Cannot find name 'foo'. + ~ +!!! error TS1128: Declaration or statement expected. \ No newline at end of file diff --git a/tests/baselines/reference/bigintArbirtraryIdentifier.js b/tests/baselines/reference/bigintArbirtraryIdentifier.js new file mode 100644 index 00000000000..139c1991c8c --- /dev/null +++ b/tests/baselines/reference/bigintArbirtraryIdentifier.js @@ -0,0 +1,44 @@ +//// [tests/cases/compiler/bigintArbirtraryIdentifier.ts] //// + +//// [foo.ts] +const foo = 0n; +export { foo as "0n" }; + +//// [correctUse.ts] +import { "0n" as foo } from "./foo"; +export { foo as "0n" }; + +//// [badImport.ts] +import { 0n as foo } from "./foo"; + +//// [badImport2.ts] +import { foo as 0n } from "./foo"; + +//// [badExport.ts] +export { foo as 0n }; + +//// [badExport2.ts] +export { 0n as foo }; + +//// [foo.js] +const foo = 0n; +export { foo as "0n" }; +//// [correctUse.js] +import { "0n" as foo } from "./foo"; +export { foo as "0n" }; +//// [badImport.js] +from; +"./foo"; +export {}; +//// [badImport2.js] +from; +"./foo"; +export {}; +//// [badExport.js] +export { foo as }; +0n; +; +//// [badExport2.js] +0n; +; +export {}; diff --git a/tests/baselines/reference/bigintArbirtraryIdentifier.symbols b/tests/baselines/reference/bigintArbirtraryIdentifier.symbols new file mode 100644 index 00000000000..8ef83a9eaec --- /dev/null +++ b/tests/baselines/reference/bigintArbirtraryIdentifier.symbols @@ -0,0 +1,34 @@ +//// [tests/cases/compiler/bigintArbirtraryIdentifier.ts] //// + +=== foo.ts === +const foo = 0n; +>foo : Symbol(foo, Decl(foo.ts, 0, 5)) + +export { foo as "0n" }; +>foo : Symbol(foo, Decl(foo.ts, 0, 5)) +>"0n" : Symbol("0n", Decl(foo.ts, 1, 8)) + +=== correctUse.ts === +import { "0n" as foo } from "./foo"; +>foo : Symbol(foo, Decl(correctUse.ts, 0, 8)) + +export { foo as "0n" }; +>foo : Symbol(foo, Decl(correctUse.ts, 0, 8)) +>"0n" : Symbol("0n", Decl(correctUse.ts, 1, 8)) + +=== badImport.ts === +import { 0n as foo } from "./foo"; +>foo : Symbol(foo) + +=== badImport2.ts === +import { foo as 0n } from "./foo"; +> : Symbol((Missing), Decl(badImport2.ts, 0, 8)) + +=== badExport.ts === +export { foo as 0n }; +> : Symbol((Missing), Decl(badExport.ts, 0, 8)) + +=== badExport2.ts === +export { 0n as foo }; +>foo : Symbol(foo) + diff --git a/tests/baselines/reference/bigintArbirtraryIdentifier.types b/tests/baselines/reference/bigintArbirtraryIdentifier.types new file mode 100644 index 00000000000..722fb9a9f06 --- /dev/null +++ b/tests/baselines/reference/bigintArbirtraryIdentifier.types @@ -0,0 +1,64 @@ +//// [tests/cases/compiler/bigintArbirtraryIdentifier.ts] //// + +=== foo.ts === +const foo = 0n; +>foo : 0n +> : ^^ +>0n : 0n +> : ^^ + +export { foo as "0n" }; +>foo : 0n +> : ^^ +>"0n" : 0n +> : ^^ + +=== correctUse.ts === +import { "0n" as foo } from "./foo"; +>foo : 0n +> : ^^ + +export { foo as "0n" }; +>foo : 0n +> : ^^ +>"0n" : 0n +> : ^^ + +=== badImport.ts === +import { 0n as foo } from "./foo"; +>0n as foo : foo +> : ^^^ +>0n : 0n +> : ^^ +>from : any +> : ^^^ +>"./foo" : "./foo" +> : ^^^^^^^ + +=== badImport2.ts === +import { foo as 0n } from "./foo"; +>foo : any +> : ^^^ +> : any +> : ^^^ +>from : any +> : ^^^ +>"./foo" : "./foo" +> : ^^^^^^^ + +=== badExport.ts === +export { foo as 0n }; +>foo : any +> : ^^^ +> : any +> : ^^^ +>0n : 0n +> : ^^ + +=== badExport2.ts === +export { 0n as foo }; +>0n as foo : foo +> : ^^^ +>0n : 0n +> : ^^ + diff --git a/tests/baselines/reference/bigintIndex.errors.txt b/tests/baselines/reference/bigintIndex.errors.txt index 9b96f74377c..9d74c569211 100644 --- a/tests/baselines/reference/bigintIndex.errors.txt +++ b/tests/baselines/reference/bigintIndex.errors.txt @@ -1,15 +1,11 @@ a.ts(2,6): error TS1268: An index signature parameter type must be 'string', 'number', 'symbol', or a template literal type. -a.ts(8,11): error TS2538: Type '1n' cannot be used as an index type. -a.ts(14,1): error TS2322: Type 'bigint' is not assignable to type 'string | number | symbol'. -a.ts(19,12): error TS2538: Type 'bigint' cannot be used as an index type. -b.ts(2,12): error TS1136: Property assignment expected. -b.ts(2,14): error TS1005: ';' expected. -b.ts(2,19): error TS1128: Declaration or statement expected. -b.ts(3,12): error TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'. -b.ts(4,12): error TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'. +a.ts(8,11): error TS2538: Type 'bigint' cannot be used as an index type. +a.ts(9,17): error TS2538: Type 'bigint' cannot be used as an index type. +a.ts(15,1): error TS2322: Type 'bigint' is not assignable to type 'string | number | symbol'. +a.ts(20,12): error TS2538: Type 'bigint' cannot be used as an index type. -==== a.ts (4 errors) ==== +==== a.ts (5 errors) ==== interface BigIntIndex { [index: bigint]: E; // should error ~~~~~ @@ -21,7 +17,10 @@ b.ts(4,12): error TS2464: A computed property name must be of type 'string', 'nu num = arr["1"]; num = arr[1n]; // should error ~~ -!!! error TS2538: Type '1n' cannot be used as an index type. +!!! error TS2538: Type 'bigint' cannot be used as an index type. + num = [1, 2, 3][1n]; // should error + ~~ +!!! error TS2538: Type 'bigint' cannot be used as an index type. let key: keyof any; // should be type "string | number | symbol" key = 123; @@ -40,21 +39,4 @@ b.ts(4,12): error TS2464: A computed property name must be of type 'string', 'nu typedArray[String(bigNum)] = 0xAA; typedArray["1"] = 0xBB; typedArray[2] = 0xCC; - - // {1n: 123} is a syntax error; must go in separate file so BigIntIndex error is shown -==== b.ts (5 errors) ==== - // BigInt cannot be used as an object literal property - const a = {1n: 123}; - ~~ -!!! error TS1136: Property assignment expected. - ~ -!!! error TS1005: ';' expected. - ~ -!!! error TS1128: Declaration or statement expected. - const b = {[1n]: 456}; - ~~~~ -!!! error TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'. - const c = {[bigNum]: 789}; - ~~~~~~~~ -!!! error TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'. \ No newline at end of file diff --git a/tests/baselines/reference/bigintIndex.js b/tests/baselines/reference/bigintIndex.js index e24aee68dcf..0ee392380df 100644 --- a/tests/baselines/reference/bigintIndex.js +++ b/tests/baselines/reference/bigintIndex.js @@ -9,6 +9,7 @@ const arr: number[] = [1, 2, 3]; let num: number = arr[1]; num = arr["1"]; num = arr[1n]; // should error +num = [1, 2, 3][1n]; // should error let key: keyof any; // should be type "string | number | symbol" key = 123; @@ -23,13 +24,6 @@ typedArray[bigNum] = 0xAA; // should error typedArray[String(bigNum)] = 0xAA; typedArray["1"] = 0xBB; typedArray[2] = 0xCC; - -// {1n: 123} is a syntax error; must go in separate file so BigIntIndex error is shown -//// [b.ts] -// BigInt cannot be used as an object literal property -const a = {1n: 123}; -const b = {[1n]: 456}; -const c = {[bigNum]: 789}; //// [a.js] @@ -37,6 +31,7 @@ const arr = [1, 2, 3]; let num = arr[1]; num = arr["1"]; num = arr[1n]; // should error +num = [1, 2, 3][1n]; // should error let key; // should be type "string | number | symbol" key = 123; key = "abc"; @@ -49,12 +44,3 @@ typedArray[bigNum] = 0xAA; // should error typedArray[String(bigNum)] = 0xAA; typedArray["1"] = 0xBB; typedArray[2] = 0xCC; -// {1n: 123} is a syntax error; must go in separate file so BigIntIndex error is shown -//// [b.js] -// BigInt cannot be used as an object literal property -const a = {}; -1n; -123; -; -const b = { [1n]: 456 }; -const c = { [bigNum]: 789 }; diff --git a/tests/baselines/reference/bigintIndex.symbols b/tests/baselines/reference/bigintIndex.symbols index 77dbc2cb6f4..a16ac17f82f 100644 --- a/tests/baselines/reference/bigintIndex.symbols +++ b/tests/baselines/reference/bigintIndex.symbols @@ -25,57 +25,45 @@ num = arr[1n]; // should error >num : Symbol(num, Decl(a.ts, 5, 3)) >arr : Symbol(arr, Decl(a.ts, 4, 5)) +num = [1, 2, 3][1n]; // should error +>num : Symbol(num, Decl(a.ts, 5, 3)) + let key: keyof any; // should be type "string | number | symbol" ->key : Symbol(key, Decl(a.ts, 9, 3)) +>key : Symbol(key, Decl(a.ts, 10, 3)) key = 123; ->key : Symbol(key, Decl(a.ts, 9, 3)) +>key : Symbol(key, Decl(a.ts, 10, 3)) key = "abc"; ->key : Symbol(key, Decl(a.ts, 9, 3)) +>key : Symbol(key, Decl(a.ts, 10, 3)) key = Symbol(); ->key : Symbol(key, Decl(a.ts, 9, 3)) +>key : Symbol(key, Decl(a.ts, 10, 3)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) key = 123n; // should error ->key : Symbol(key, Decl(a.ts, 9, 3)) +>key : Symbol(key, Decl(a.ts, 10, 3)) // Show correct usage of bigint index: explicitly convert to string const bigNum: bigint = 0n; ->bigNum : Symbol(bigNum, Decl(a.ts, 16, 5)) +>bigNum : Symbol(bigNum, Decl(a.ts, 17, 5)) const typedArray = new Uint8Array(3); ->typedArray : Symbol(typedArray, Decl(a.ts, 17, 5)) +>typedArray : Symbol(typedArray, Decl(a.ts, 18, 5)) >Uint8Array : Symbol(Uint8Array, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --) ... and 1 more) typedArray[bigNum] = 0xAA; // should error ->typedArray : Symbol(typedArray, Decl(a.ts, 17, 5)) ->bigNum : Symbol(bigNum, Decl(a.ts, 16, 5)) +>typedArray : Symbol(typedArray, Decl(a.ts, 18, 5)) +>bigNum : Symbol(bigNum, Decl(a.ts, 17, 5)) typedArray[String(bigNum)] = 0xAA; ->typedArray : Symbol(typedArray, Decl(a.ts, 17, 5)) +>typedArray : Symbol(typedArray, Decl(a.ts, 18, 5)) >String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 4 more) ->bigNum : Symbol(bigNum, Decl(a.ts, 16, 5)) +>bigNum : Symbol(bigNum, Decl(a.ts, 17, 5)) typedArray["1"] = 0xBB; ->typedArray : Symbol(typedArray, Decl(a.ts, 17, 5)) +>typedArray : Symbol(typedArray, Decl(a.ts, 18, 5)) typedArray[2] = 0xCC; ->typedArray : Symbol(typedArray, Decl(a.ts, 17, 5)) - -// {1n: 123} is a syntax error; must go in separate file so BigIntIndex error is shown -=== b.ts === -// BigInt cannot be used as an object literal property -const a = {1n: 123}; ->a : Symbol(a, Decl(b.ts, 1, 5)) - -const b = {[1n]: 456}; ->b : Symbol(b, Decl(b.ts, 2, 5)) ->[1n] : Symbol([1n], Decl(b.ts, 2, 11)) - -const c = {[bigNum]: 789}; ->c : Symbol(c, Decl(b.ts, 3, 5)) ->[bigNum] : Symbol([bigNum], Decl(b.ts, 3, 11)) ->bigNum : Symbol(bigNum, Decl(a.ts, 16, 5)) +>typedArray : Symbol(typedArray, Decl(a.ts, 18, 5)) diff --git a/tests/baselines/reference/bigintIndex.types b/tests/baselines/reference/bigintIndex.types index 16e26728c7c..028ab79a0f7 100644 --- a/tests/baselines/reference/bigintIndex.types +++ b/tests/baselines/reference/bigintIndex.types @@ -53,6 +53,24 @@ num = arr[1n]; // should error >1n : 1n > : ^^ +num = [1, 2, 3][1n]; // should error +>num = [1, 2, 3][1n] : any +> : ^^^ +>num : number +> : ^^^^^^ +>[1, 2, 3][1n] : any +> : ^^^ +>[1, 2, 3] : number[] +> : ^^^^^^^^ +>1 : 1 +> : ^ +>2 : 2 +> : ^ +>3 : 3 +> : ^ +>1n : 1n +> : ^^ + let key: keyof any; // should be type "string | number | symbol" >key : string | number | symbol > : ^^^^^^^^^^^^^^^^^^^^^^^^ @@ -160,40 +178,3 @@ typedArray[2] = 0xCC; >0xCC : 204 > : ^^^ -// {1n: 123} is a syntax error; must go in separate file so BigIntIndex error is shown -=== b.ts === -// BigInt cannot be used as an object literal property -const a = {1n: 123}; ->a : {} -> : ^^ ->{ : {} -> : ^^ ->1n : 1n -> : ^^ ->123 : 123 -> : ^^^ - -const b = {[1n]: 456}; ->b : {} -> : ^^ ->{[1n]: 456} : {} -> : ^^ ->[1n] : number -> : ^^^^^^ ->1n : 1n -> : ^^ ->456 : 456 -> : ^^^ - -const c = {[bigNum]: 789}; ->c : {} -> : ^^ ->{[bigNum]: 789} : {} -> : ^^ ->[bigNum] : number -> : ^^^^^^ ->bigNum : bigint -> : ^^^^^^ ->789 : 789 -> : ^^^ - diff --git a/tests/baselines/reference/bigintPropertyName.errors.txt b/tests/baselines/reference/bigintPropertyName.errors.txt new file mode 100644 index 00000000000..2b2db4f45c6 --- /dev/null +++ b/tests/baselines/reference/bigintPropertyName.errors.txt @@ -0,0 +1,143 @@ +a.ts(2,5): error TS1539: A 'bigint' literal cannot be used as a property name. +a.ts(5,13): error TS1539: A 'bigint' literal cannot be used as a property name. +a.ts(6,13): error TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'. +a.ts(7,13): error TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'. +a.ts(12,9): error TS2538: Type 'bigint' cannot be used as an index type. +a.ts(15,13): error TS1539: A 'bigint' literal cannot be used as a property name. +g.ts(2,5): error TS1539: A 'bigint' literal cannot be used as a property name. +g.ts(8,5): error TS1539: A 'bigint' literal cannot be used as a property name. +g.ts(15,17): error TS1539: A 'bigint' literal cannot be used as a property name. +g.ts(17,3): error TS2538: Type 'bigint' cannot be used as an index type. +g.ts(18,4): error TS2538: Type 'bigint' cannot be used as an index type. +g.ts(20,7): error TS2741: Property '"3n"' is missing in type '{}' but required in type 'H'. +g.ts(20,17): error TS1539: A 'bigint' literal cannot be used as a property name. +g.ts(22,3): error TS2538: Type 'bigint' cannot be used as an index type. +g.ts(23,4): error TS2538: Type 'bigint' cannot be used as an index type. +g.ts(25,17): error TS1539: A 'bigint' literal cannot be used as a property name. +g.ts(27,3): error TS2538: Type 'bigint' cannot be used as an index type. +g.ts(28,4): error TS2538: Type 'bigint' cannot be used as an index type. +g.ts(30,7): error TS2741: Property '"5n"' is missing in type '{}' but required in type 'L'. +g.ts(30,17): error TS1539: A 'bigint' literal cannot be used as a property name. +g.ts(31,18): error TS2322: Type 'string' is not assignable to type 'number'. +g.ts(32,3): error TS2538: Type 'bigint' cannot be used as an index type. +g.ts(33,4): error TS2538: Type 'bigint' cannot be used as an index type. +g.ts(35,1): error TS1434: Unexpected keyword or identifier. +g.ts(35,2): error TS1353: A bigint literal must be an integer. +q.ts(2,19): error TS2322: Type 'bigint' is not assignable to type 'string | number | symbol'. + Type 'bigint' is not assignable to type 'string | number | symbol'. + + +==== a.ts (6 errors) ==== + // BigInt cannot be used as an object literal property + { ({1n: 123}); }; + ~~ +!!! error TS1539: A 'bigint' literal cannot be used as a property name. + + const bigNum: bigint = 0n; + const a = { 1n: 123 }; + ~~ +!!! error TS1539: A 'bigint' literal cannot be used as a property name. + const b = { [1n]: 456 }; + ~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'. + const c = { [bigNum]: 789 }; + ~~~~~~~~ +!!! error TS2464: A computed property name must be of type 'string', 'number', 'symbol', or 'any'. + + const arr = [1, 2, 3] as const; + const { 0: d } = arr; + const { "0": e } = arr; + const { 0n: f } = arr; // bigint should give an index error + ~~ +!!! error TS2538: Type 'bigint' cannot be used as an index type. + + // BigInt cannot be used as an property name + const x = { 0n: 123 }; + ~~ +!!! error TS1539: A 'bigint' literal cannot be used as a property name. + +==== g.ts (19 errors) ==== + interface G { + 2n: string; + ~~ +!!! error TS1539: A 'bigint' literal cannot be used as a property name. + } + interface H { + "3n": string; + } + class K { + 4n = 0; + ~~ +!!! error TS1539: A 'bigint' literal cannot be used as a property name. + } + + class L { + "5n" = 0; + } + + const g : G = { 2n: "propertyNameError2" }; + ~~ +!!! error TS1539: A 'bigint' literal cannot be used as a property name. + const g2 : G = { "2n": "ok2" }; + g[2n]; + ~~ +!!! error TS2538: Type 'bigint' cannot be used as an index type. + g2[2n]; + ~~ +!!! error TS2538: Type 'bigint' cannot be used as an index type. + + const h : H = { 3n: "propertyNameErrorAndMissingProperty3" }; + ~ +!!! error TS2741: Property '"3n"' is missing in type '{}' but required in type 'H'. +!!! related TS2728 g.ts:5:5: '"3n"' is declared here. + ~~ +!!! error TS1539: A 'bigint' literal cannot be used as a property name. + const h2 : H = { "3n": "ok3" }; + h[3n]; + ~~ +!!! error TS2538: Type 'bigint' cannot be used as an index type. + h2[3n]; + ~~ +!!! error TS2538: Type 'bigint' cannot be used as an index type. + + const k : K = { 4n: "propertyNameError4" }; + ~~ +!!! error TS1539: A 'bigint' literal cannot be used as a property name. + const k2 : K = { "4n": "ok4" }; + k[4n]; + ~~ +!!! error TS2538: Type 'bigint' cannot be used as an index type. + k2[4n]; + ~~ +!!! error TS2538: Type 'bigint' cannot be used as an index type. + + const l : L = { 5n: "propertyNameErrorAndMissingProperty5" }; + ~ +!!! error TS2741: Property '"5n"' is missing in type '{}' but required in type 'L'. +!!! related TS2728 g.ts:12:5: '"5n"' is declared here. + ~~ +!!! error TS1539: A 'bigint' literal cannot be used as a property name. + const l2 : L = { "5n": "ok4" }; + ~~~~ +!!! error TS2322: Type 'string' is not assignable to type 'number'. +!!! related TS6500 g.ts:12:5: The expected type comes from property '5n' which is declared here on type 'L' + l[5n]; + ~~ +!!! error TS2538: Type 'bigint' cannot be used as an index type. + l2[5n]; + ~~ +!!! error TS2538: Type 'bigint' cannot be used as an index type. + + g.2n; // not valid JS + ~ +!!! error TS1434: Unexpected keyword or identifier. + ~~~ +!!! error TS1353: A bigint literal must be an integer. + +==== q.ts (1 errors) ==== + type Q = 6n | 7n | 8n; + type T = { [t in Q]: string }; + ~ +!!! error TS2322: Type 'bigint' is not assignable to type 'string | number | symbol'. +!!! error TS2322: Type 'bigint' is not assignable to type 'string | number | symbol'. + \ No newline at end of file diff --git a/tests/baselines/reference/bigintPropertyName.js b/tests/baselines/reference/bigintPropertyName.js new file mode 100644 index 00000000000..baf37339f1b --- /dev/null +++ b/tests/baselines/reference/bigintPropertyName.js @@ -0,0 +1,103 @@ +//// [tests/cases/compiler/bigintPropertyName.ts] //// + +//// [a.ts] +// BigInt cannot be used as an object literal property +{ ({1n: 123}); }; + +const bigNum: bigint = 0n; +const a = { 1n: 123 }; +const b = { [1n]: 456 }; +const c = { [bigNum]: 789 }; + +const arr = [1, 2, 3] as const; +const { 0: d } = arr; +const { "0": e } = arr; +const { 0n: f } = arr; // bigint should give an index error + +// BigInt cannot be used as an property name +const x = { 0n: 123 }; + +//// [g.ts] +interface G { + 2n: string; +} +interface H { + "3n": string; +} +class K { + 4n = 0; +} + +class L { + "5n" = 0; +} + +const g : G = { 2n: "propertyNameError2" }; +const g2 : G = { "2n": "ok2" }; +g[2n]; +g2[2n]; + +const h : H = { 3n: "propertyNameErrorAndMissingProperty3" }; +const h2 : H = { "3n": "ok3" }; +h[3n]; +h2[3n]; + +const k : K = { 4n: "propertyNameError4" }; +const k2 : K = { "4n": "ok4" }; +k[4n]; +k2[4n]; + +const l : L = { 5n: "propertyNameErrorAndMissingProperty5" }; +const l2 : L = { "5n": "ok4" }; +l[5n]; +l2[5n]; + +g.2n; // not valid JS + +//// [q.ts] +type Q = 6n | 7n | 8n; +type T = { [t in Q]: string }; + + +//// [a.js] +// BigInt cannot be used as an object literal property +{ + ({ 1n: 123 }); +} +; +const bigNum = 0n; +const a = { 1n: 123 }; +const b = { [1n]: 456 }; +const c = { [bigNum]: 789 }; +const arr = [1, 2, 3]; +const { 0: d } = arr; +const { "0": e } = arr; +const { 0n: f } = arr; // bigint should give an index error +// BigInt cannot be used as an property name +const x = { 0n: 123 }; +//// [g.js] +class K { + 4n = 0; +} +class L { + "5n" = 0; +} +const g = { 2n: "propertyNameError2" }; +const g2 = { "2n": "ok2" }; +g[2n]; +g2[2n]; +const h = { 3n: "propertyNameErrorAndMissingProperty3" }; +const h2 = { "3n": "ok3" }; +h[3n]; +h2[3n]; +const k = { 4n: "propertyNameError4" }; +const k2 = { "4n": "ok4" }; +k[4n]; +k2[4n]; +const l = { 5n: "propertyNameErrorAndMissingProperty5" }; +const l2 = { "5n": "ok4" }; +l[5n]; +l2[5n]; +g; +.2n; // not valid JS +//// [q.js] diff --git a/tests/baselines/reference/bigintPropertyName.symbols b/tests/baselines/reference/bigintPropertyName.symbols new file mode 100644 index 00000000000..0eafa57074f --- /dev/null +++ b/tests/baselines/reference/bigintPropertyName.symbols @@ -0,0 +1,147 @@ +//// [tests/cases/compiler/bigintPropertyName.ts] //// + +=== a.ts === +// BigInt cannot be used as an object literal property +{ ({1n: 123}); }; +>1n : Symbol(1n, Decl(a.ts, 1, 4)) + +const bigNum: bigint = 0n; +>bigNum : Symbol(bigNum, Decl(a.ts, 3, 5)) + +const a = { 1n: 123 }; +>a : Symbol(a, Decl(a.ts, 4, 5)) +>1n : Symbol(1n, Decl(a.ts, 4, 11)) + +const b = { [1n]: 456 }; +>b : Symbol(b, Decl(a.ts, 5, 5)) +>[1n] : Symbol([1n], Decl(a.ts, 5, 11)) + +const c = { [bigNum]: 789 }; +>c : Symbol(c, Decl(a.ts, 6, 5)) +>[bigNum] : Symbol([bigNum], Decl(a.ts, 6, 11)) +>bigNum : Symbol(bigNum, Decl(a.ts, 3, 5)) + +const arr = [1, 2, 3] as const; +>arr : Symbol(arr, Decl(a.ts, 8, 5)) +>const : Symbol(const) + +const { 0: d } = arr; +>d : Symbol(d, Decl(a.ts, 9, 7)) +>arr : Symbol(arr, Decl(a.ts, 8, 5)) + +const { "0": e } = arr; +>e : Symbol(e, Decl(a.ts, 10, 7)) +>arr : Symbol(arr, Decl(a.ts, 8, 5)) + +const { 0n: f } = arr; // bigint should give an index error +>f : Symbol(f, Decl(a.ts, 11, 7)) +>arr : Symbol(arr, Decl(a.ts, 8, 5)) + +// BigInt cannot be used as an property name +const x = { 0n: 123 }; +>x : Symbol(x, Decl(a.ts, 14, 5)) +>0n : Symbol(0n, Decl(a.ts, 14, 11)) + +=== g.ts === +interface G { +>G : Symbol(G, Decl(g.ts, 0, 0)) + + 2n: string; +>2n : Symbol(G[2n], Decl(g.ts, 0, 13)) +} +interface H { +>H : Symbol(H, Decl(g.ts, 2, 1)) + + "3n": string; +>"3n" : Symbol(H["3n"], Decl(g.ts, 3, 13)) +} +class K { +>K : Symbol(K, Decl(g.ts, 5, 1)) + + 4n = 0; +>4n : Symbol(K[4n], Decl(g.ts, 6, 9)) +} + +class L { +>L : Symbol(L, Decl(g.ts, 8, 1)) + + "5n" = 0; +>"5n" : Symbol(L["5n"], Decl(g.ts, 10, 9)) +} + +const g : G = { 2n: "propertyNameError2" }; +>g : Symbol(g, Decl(g.ts, 14, 5)) +>G : Symbol(G, Decl(g.ts, 0, 0)) +>2n : Symbol(2n, Decl(g.ts, 14, 15)) + +const g2 : G = { "2n": "ok2" }; +>g2 : Symbol(g2, Decl(g.ts, 15, 5)) +>G : Symbol(G, Decl(g.ts, 0, 0)) +>"2n" : Symbol("2n", Decl(g.ts, 15, 16)) + +g[2n]; +>g : Symbol(g, Decl(g.ts, 14, 5)) + +g2[2n]; +>g2 : Symbol(g2, Decl(g.ts, 15, 5)) + +const h : H = { 3n: "propertyNameErrorAndMissingProperty3" }; +>h : Symbol(h, Decl(g.ts, 19, 5)) +>H : Symbol(H, Decl(g.ts, 2, 1)) +>3n : Symbol(3n, Decl(g.ts, 19, 15)) + +const h2 : H = { "3n": "ok3" }; +>h2 : Symbol(h2, Decl(g.ts, 20, 5)) +>H : Symbol(H, Decl(g.ts, 2, 1)) +>"3n" : Symbol("3n", Decl(g.ts, 20, 16)) + +h[3n]; +>h : Symbol(h, Decl(g.ts, 19, 5)) + +h2[3n]; +>h2 : Symbol(h2, Decl(g.ts, 20, 5)) + +const k : K = { 4n: "propertyNameError4" }; +>k : Symbol(k, Decl(g.ts, 24, 5)) +>K : Symbol(K, Decl(g.ts, 5, 1)) +>4n : Symbol(4n, Decl(g.ts, 24, 15)) + +const k2 : K = { "4n": "ok4" }; +>k2 : Symbol(k2, Decl(g.ts, 25, 5)) +>K : Symbol(K, Decl(g.ts, 5, 1)) +>"4n" : Symbol("4n", Decl(g.ts, 25, 16)) + +k[4n]; +>k : Symbol(k, Decl(g.ts, 24, 5)) + +k2[4n]; +>k2 : Symbol(k2, Decl(g.ts, 25, 5)) + +const l : L = { 5n: "propertyNameErrorAndMissingProperty5" }; +>l : Symbol(l, Decl(g.ts, 29, 5)) +>L : Symbol(L, Decl(g.ts, 8, 1)) +>5n : Symbol(5n, Decl(g.ts, 29, 15)) + +const l2 : L = { "5n": "ok4" }; +>l2 : Symbol(l2, Decl(g.ts, 30, 5)) +>L : Symbol(L, Decl(g.ts, 8, 1)) +>"5n" : Symbol("5n", Decl(g.ts, 30, 16)) + +l[5n]; +>l : Symbol(l, Decl(g.ts, 29, 5)) + +l2[5n]; +>l2 : Symbol(l2, Decl(g.ts, 30, 5)) + +g.2n; // not valid JS +>g : Symbol(g, Decl(g.ts, 14, 5)) + +=== q.ts === +type Q = 6n | 7n | 8n; +>Q : Symbol(Q, Decl(q.ts, 0, 0)) + +type T = { [t in Q]: string }; +>T : Symbol(T, Decl(q.ts, 0, 22)) +>t : Symbol(t, Decl(q.ts, 1, 12)) +>Q : Symbol(Q, Decl(q.ts, 0, 0)) + diff --git a/tests/baselines/reference/bigintPropertyName.types b/tests/baselines/reference/bigintPropertyName.types new file mode 100644 index 00000000000..71d982757a5 --- /dev/null +++ b/tests/baselines/reference/bigintPropertyName.types @@ -0,0 +1,289 @@ +//// [tests/cases/compiler/bigintPropertyName.ts] //// + +=== a.ts === +// BigInt cannot be used as an object literal property +{ ({1n: 123}); }; +>({1n: 123}) : {} +> : ^^ +>{1n: 123} : {} +> : ^^ +>1n : number +> : ^^^^^^ +>123 : 123 +> : ^^^ + +const bigNum: bigint = 0n; +>bigNum : bigint +> : ^^^^^^ +>0n : 0n +> : ^^ + +const a = { 1n: 123 }; +>a : {} +> : ^^ +>{ 1n: 123 } : {} +> : ^^ +>1n : number +> : ^^^^^^ +>123 : 123 +> : ^^^ + +const b = { [1n]: 456 }; +>b : {} +> : ^^ +>{ [1n]: 456 } : {} +> : ^^ +>[1n] : number +> : ^^^^^^ +>1n : 1n +> : ^^ +>456 : 456 +> : ^^^ + +const c = { [bigNum]: 789 }; +>c : {} +> : ^^ +>{ [bigNum]: 789 } : {} +> : ^^ +>[bigNum] : number +> : ^^^^^^ +>bigNum : bigint +> : ^^^^^^ +>789 : 789 +> : ^^^ + +const arr = [1, 2, 3] as const; +>arr : readonly [1, 2, 3] +> : ^^^^^^^^^^^^^^^^^^ +>[1, 2, 3] as const : readonly [1, 2, 3] +> : ^^^^^^^^^^^^^^^^^^ +>[1, 2, 3] : readonly [1, 2, 3] +> : ^^^^^^^^^^^^^^^^^^ +>1 : 1 +> : ^ +>2 : 2 +> : ^ +>3 : 3 +> : ^ + +const { 0: d } = arr; +>d : 1 +> : ^ +>arr : readonly [1, 2, 3] +> : ^^^^^^^^^^^^^^^^^^ + +const { "0": e } = arr; +>e : 1 +> : ^ +>arr : readonly [1, 2, 3] +> : ^^^^^^^^^^^^^^^^^^ + +const { 0n: f } = arr; // bigint should give an index error +>f : any +> : ^^^ +>arr : readonly [1, 2, 3] +> : ^^^^^^^^^^^^^^^^^^ + +// BigInt cannot be used as an property name +const x = { 0n: 123 }; +>x : {} +> : ^^ +>{ 0n: 123 } : {} +> : ^^ +>0n : number +> : ^^^^^^ +>123 : 123 +> : ^^^ + +=== g.ts === +interface G { + 2n: string; +>2n : string +> : ^^^^^^ +} +interface H { + "3n": string; +>"3n" : string +> : ^^^^^^ +} +class K { +>K : K +> : ^ + + 4n = 0; +>4n : number +> : ^^^^^^ +>0 : 0 +> : ^ +} + +class L { +>L : L +> : ^ + + "5n" = 0; +>"5n" : number +> : ^^^^^^ +>0 : 0 +> : ^ +} + +const g : G = { 2n: "propertyNameError2" }; +>g : G +> : ^ +>{ 2n: "propertyNameError2" } : {} +> : ^^ +>2n : string +> : ^^^^^^ +>"propertyNameError2" : "propertyNameError2" +> : ^^^^^^^^^^^^^^^^^^^^ + +const g2 : G = { "2n": "ok2" }; +>g2 : G +> : ^ +>{ "2n": "ok2" } : { "2n": string; } +> : ^^^^^^^^^^^^^^^^^ +>"2n" : string +> : ^^^^^^ +>"ok2" : "ok2" +> : ^^^^^ + +g[2n]; +>g[2n] : any +> : ^^^ +>g : G +> : ^ +>2n : 2n +> : ^^ + +g2[2n]; +>g2[2n] : any +> : ^^^ +>g2 : G +> : ^ +>2n : 2n +> : ^^ + +const h : H = { 3n: "propertyNameErrorAndMissingProperty3" }; +>h : H +> : ^ +>{ 3n: "propertyNameErrorAndMissingProperty3" } : {} +> : ^^ +>3n : string +> : ^^^^^^ +>"propertyNameErrorAndMissingProperty3" : "propertyNameErrorAndMissingProperty3" +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +const h2 : H = { "3n": "ok3" }; +>h2 : H +> : ^ +>{ "3n": "ok3" } : { "3n": string; } +> : ^^^^^^^^^^^^^^^^^ +>"3n" : string +> : ^^^^^^ +>"ok3" : "ok3" +> : ^^^^^ + +h[3n]; +>h[3n] : any +> : ^^^ +>h : H +> : ^ +>3n : 3n +> : ^^ + +h2[3n]; +>h2[3n] : any +> : ^^^ +>h2 : H +> : ^ +>3n : 3n +> : ^^ + +const k : K = { 4n: "propertyNameError4" }; +>k : K +> : ^ +>{ 4n: "propertyNameError4" } : {} +> : ^^ +>4n : string +> : ^^^^^^ +>"propertyNameError4" : "propertyNameError4" +> : ^^^^^^^^^^^^^^^^^^^^ + +const k2 : K = { "4n": "ok4" }; +>k2 : K +> : ^ +>{ "4n": "ok4" } : { "4n": string; } +> : ^^^^^^^^^^^^^^^^^ +>"4n" : string +> : ^^^^^^ +>"ok4" : "ok4" +> : ^^^^^ + +k[4n]; +>k[4n] : any +> : ^^^ +>k : K +> : ^ +>4n : 4n +> : ^^ + +k2[4n]; +>k2[4n] : any +> : ^^^ +>k2 : K +> : ^ +>4n : 4n +> : ^^ + +const l : L = { 5n: "propertyNameErrorAndMissingProperty5" }; +>l : L +> : ^ +>{ 5n: "propertyNameErrorAndMissingProperty5" } : {} +> : ^^ +>5n : string +> : ^^^^^^ +>"propertyNameErrorAndMissingProperty5" : "propertyNameErrorAndMissingProperty5" +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +const l2 : L = { "5n": "ok4" }; +>l2 : L +> : ^ +>{ "5n": "ok4" } : { "5n": string; } +> : ^^^^^^^^^^^^^^^^^ +>"5n" : string +> : ^^^^^^ +>"ok4" : "ok4" +> : ^^^^^ + +l[5n]; +>l[5n] : any +> : ^^^ +>l : L +> : ^ +>5n : 5n +> : ^^ + +l2[5n]; +>l2[5n] : any +> : ^^^ +>l2 : L +> : ^ +>5n : 5n +> : ^^ + +g.2n; // not valid JS +>g : G +> : ^ +>.2n : 0.2 +> : ^^^ + +=== q.ts === +type Q = 6n | 7n | 8n; +>Q : Q +> : ^ + +type T = { [t in Q]: string }; +>T : T +> : ^ + diff --git a/tests/cases/compiler/bigintArbirtraryIdentifier.ts b/tests/cases/compiler/bigintArbirtraryIdentifier.ts new file mode 100644 index 00000000000..9b281534212 --- /dev/null +++ b/tests/cases/compiler/bigintArbirtraryIdentifier.ts @@ -0,0 +1,22 @@ +// @target: esnext +// @module: esnext + +// @filename: foo.ts +const foo = 0n; +export { foo as "0n" }; + +// @filename: correctUse.ts +import { "0n" as foo } from "./foo"; +export { foo as "0n" }; + +// @filename: badImport.ts +import { 0n as foo } from "./foo"; + +// @filename: badImport2.ts +import { foo as 0n } from "./foo"; + +// @filename: badExport.ts +export { foo as 0n }; + +// @filename: badExport2.ts +export { 0n as foo }; \ No newline at end of file diff --git a/tests/cases/compiler/bigintIndex.ts b/tests/cases/compiler/bigintIndex.ts index a959eac590f..cb70721f464 100644 --- a/tests/cases/compiler/bigintIndex.ts +++ b/tests/cases/compiler/bigintIndex.ts @@ -9,6 +9,7 @@ const arr: number[] = [1, 2, 3]; let num: number = arr[1]; num = arr["1"]; num = arr[1n]; // should error +num = [1, 2, 3][1n]; // should error let key: keyof any; // should be type "string | number | symbol" key = 123; @@ -23,10 +24,3 @@ typedArray[bigNum] = 0xAA; // should error typedArray[String(bigNum)] = 0xAA; typedArray["1"] = 0xBB; typedArray[2] = 0xCC; - -// {1n: 123} is a syntax error; must go in separate file so BigIntIndex error is shown -// @filename: b.ts -// BigInt cannot be used as an object literal property -const a = {1n: 123}; -const b = {[1n]: 456}; -const c = {[bigNum]: 789}; diff --git a/tests/cases/compiler/bigintPropertyName.ts b/tests/cases/compiler/bigintPropertyName.ts new file mode 100644 index 00000000000..911ba086564 --- /dev/null +++ b/tests/cases/compiler/bigintPropertyName.ts @@ -0,0 +1,59 @@ +// @target: esnext + +// @fileName: a.ts +// BigInt cannot be used as an object literal property +{ ({1n: 123}); }; + +const bigNum: bigint = 0n; +const a = { 1n: 123 }; +const b = { [1n]: 456 }; +const c = { [bigNum]: 789 }; + +const arr = [1, 2, 3] as const; +const { 0: d } = arr; +const { "0": e } = arr; +const { 0n: f } = arr; // bigint should give an index error + +// BigInt cannot be used as an property name +const x = { 0n: 123 }; + +// @filename: g.ts +interface G { + 2n: string; +} +interface H { + "3n": string; +} +class K { + 4n = 0; +} + +class L { + "5n" = 0; +} + +const g : G = { 2n: "propertyNameError2" }; +const g2 : G = { "2n": "ok2" }; +g[2n]; +g2[2n]; + +const h : H = { 3n: "propertyNameErrorAndMissingProperty3" }; +const h2 : H = { "3n": "ok3" }; +h[3n]; +h2[3n]; + +const k : K = { 4n: "propertyNameError4" }; +const k2 : K = { "4n": "ok4" }; +k[4n]; +k2[4n]; + +const l : L = { 5n: "propertyNameErrorAndMissingProperty5" }; +const l2 : L = { "5n": "ok4" }; +l[5n]; +l2[5n]; + +g.2n; // not valid JS + +// @filename: q.ts +type Q = 6n | 7n | 8n; +type T = { [t in Q]: string }; From 903e82b368c8328dba95b70b21415e7a48339857 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Fri, 19 Jul 2024 17:57:50 -0700 Subject: [PATCH 44/89] Update dprint to pick up comment bugfix (#59358) --- .dprint.jsonc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.dprint.jsonc b/.dprint.jsonc index 96003d369ce..d4bbf5073b2 100644 --- a/.dprint.jsonc +++ b/.dprint.jsonc @@ -59,7 +59,7 @@ // Note: if adding new languages, make sure settings.template.json is updated too. // Also, if updating typescript, update the one in package.json. "plugins": [ - "https://plugins.dprint.dev/typescript-0.91.3.wasm", + "https://plugins.dprint.dev/typescript-0.91.4.wasm", "https://plugins.dprint.dev/json-0.19.3.wasm", "https://plugins.dprint.dev/prettier-0.40.0.json@68c668863ec834d4be0f6f5ccaab415df75336a992aceb7eeeb14fdf096a9e9c" ] From 5929c963781a3f026a499746c7109a71b2400437 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Mon, 22 Jul 2024 00:45:55 -0400 Subject: [PATCH 45/89] Use 'BuiltinAsyncIterator' spelling (#59388) --- src/compiler/checker.ts | 12 ++++++------ src/lib/dom.asynciterable.generated.d.ts | 12 ++++++------ src/lib/es2018.asyncgenerator.d.ts | 2 +- src/lib/es2018.asynciterable.d.ts | 4 ++-- src/lib/webworker.asynciterable.generated.d.ts | 12 ++++++------ 5 files changed, 21 insertions(+), 21 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 8bdbbff72ac..0f382fbb5e6 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -2162,7 +2162,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { getGlobalIteratorType: getGlobalAsyncIteratorType, getGlobalIterableType: getGlobalAsyncIterableType, getGlobalIterableIteratorType: getGlobalAsyncIterableIteratorType, - getGlobalBuiltinIteratorType: getGlobalAsyncBuiltinIteratorType, + getGlobalBuiltinIteratorType: getGlobalBuiltinAsyncIteratorType, getGlobalGeneratorType: getGlobalAsyncGeneratorType, resolveIterationType: (type, errorNode) => getAwaitedType(type, errorNode, Diagnostics.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member), mustHaveANextMethodDiagnostic: Diagnostics.An_async_iterator_must_have_a_next_method, @@ -2246,7 +2246,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { var deferredGlobalAsyncIterableType: GenericType | undefined; var deferredGlobalAsyncIteratorType: GenericType | undefined; var deferredGlobalAsyncIterableIteratorType: GenericType | undefined; - var deferredGlobalAsyncBuiltinIteratorType: GenericType | undefined; + var deferredGlobalBuiltinAsyncIteratorType: GenericType | undefined; var deferredGlobalAsyncGeneratorType: GenericType | undefined; var deferredGlobalTemplateStringsArrayType: ObjectType | undefined; var deferredGlobalImportMetaType: ObjectType; @@ -16941,8 +16941,8 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return (deferredGlobalAsyncIterableIteratorType ||= getGlobalType("AsyncIterableIterator" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; } - function getGlobalAsyncBuiltinIteratorType(reportErrors: boolean) { - return (deferredGlobalAsyncBuiltinIteratorType ||= getGlobalType("AsyncBuiltinIterator" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; + function getGlobalBuiltinAsyncIteratorType(reportErrors: boolean) { + return (deferredGlobalBuiltinAsyncIteratorType ||= getGlobalType("BuiltinAsyncIterator" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; } function getGlobalAsyncGeneratorType(reportErrors: boolean) { @@ -44797,7 +44797,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // As an optimization, if the type is an instantiation of the following global type, then // just grab its related type arguments: // - `Iterable` or `AsyncIterable` - // - `BuiltinIterator` or `AsyncBuiltinIterator` + // - `BuiltinIterator` or `BuiltinAsyncIterator` // - `IterableIterator` or `AsyncIterableIterator` // - `Generator` or `AsyncGenerator` if ( @@ -44925,7 +44925,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // As an optimization, if the type is an instantiation of one of the following global types, // then just grab its related type arguments: // - `IterableIterator` or `AsyncIterableIterator` - // - `BuiltinIterator` or `AsyncBuiltinIterator` + // - `BuiltinIterator` or `BuiltinAsyncIterator` // - `Iterator` or `AsyncIterator` // - `Generator` or `AsyncGenerator` if ( diff --git a/src/lib/dom.asynciterable.generated.d.ts b/src/lib/dom.asynciterable.generated.d.ts index 28d15775c66..f9b5ee37473 100644 --- a/src/lib/dom.asynciterable.generated.d.ts +++ b/src/lib/dom.asynciterable.generated.d.ts @@ -3,13 +3,13 @@ ///////////////////////////// interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): AsyncBuiltinIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; - entries(): AsyncBuiltinIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; - keys(): AsyncBuiltinIterator; - values(): AsyncBuiltinIterator; + [Symbol.asyncIterator](): BuiltinAsyncIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; + entries(): BuiltinAsyncIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; + keys(): BuiltinAsyncIterator; + values(): BuiltinAsyncIterator; } interface ReadableStream { - [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): AsyncBuiltinIterator; - values(options?: ReadableStreamIteratorOptions): AsyncBuiltinIterator; + [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): BuiltinAsyncIterator; + values(options?: ReadableStreamIteratorOptions): BuiltinAsyncIterator; } diff --git a/src/lib/es2018.asyncgenerator.d.ts b/src/lib/es2018.asyncgenerator.d.ts index e53975ab402..e5397a9e7af 100644 --- a/src/lib/es2018.asyncgenerator.d.ts +++ b/src/lib/es2018.asyncgenerator.d.ts @@ -1,6 +1,6 @@ /// -interface AsyncGenerator extends AsyncBuiltinIterator { +interface AsyncGenerator extends BuiltinAsyncIterator { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. next(...[value]: [] | [TNext]): Promise>; return(value: TReturn | PromiseLike): Promise>; diff --git a/src/lib/es2018.asynciterable.d.ts b/src/lib/es2018.asynciterable.d.ts index 17a9b067fa7..d5a587aef27 100644 --- a/src/lib/es2018.asynciterable.d.ts +++ b/src/lib/es2018.asynciterable.d.ts @@ -24,6 +24,6 @@ interface AsyncIterableIterator extends AsyncIter [Symbol.asyncIterator](): AsyncIterableIterator; } -interface AsyncBuiltinIterator extends AsyncIterator { - [Symbol.asyncIterator](): AsyncBuiltinIterator; +interface BuiltinAsyncIterator extends AsyncIterator { + [Symbol.asyncIterator](): BuiltinAsyncIterator; } diff --git a/src/lib/webworker.asynciterable.generated.d.ts b/src/lib/webworker.asynciterable.generated.d.ts index 0ade610693c..cd2b63eb5d7 100644 --- a/src/lib/webworker.asynciterable.generated.d.ts +++ b/src/lib/webworker.asynciterable.generated.d.ts @@ -3,13 +3,13 @@ ///////////////////////////// interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): AsyncBuiltinIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; - entries(): AsyncBuiltinIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; - keys(): AsyncBuiltinIterator; - values(): AsyncBuiltinIterator; + [Symbol.asyncIterator](): BuiltinAsyncIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; + entries(): BuiltinAsyncIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; + keys(): BuiltinAsyncIterator; + values(): BuiltinAsyncIterator; } interface ReadableStream { - [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): AsyncBuiltinIterator; - values(options?: ReadableStreamIteratorOptions): AsyncBuiltinIterator; + [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): BuiltinAsyncIterator; + values(options?: ReadableStreamIteratorOptions): BuiltinAsyncIterator; } From 3f2a9e4ee09d7ef2d4419d63eb216072b634abbb Mon Sep 17 00:00:00 2001 From: "Colin T.A. Gray" Date: Mon, 22 Jul 2024 13:30:17 -0700 Subject: [PATCH 46/89] Use more universal ANSI sequence for 'clear screen and clear buffer' (#57701) Co-authored-by: Jake Bailey <5341706+jakebailey@users.noreply.github.com> --- src/compiler/sys.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compiler/sys.ts b/src/compiler/sys.ts index 3aefbdf9939..a279719aeb2 100644 --- a/src/compiler/sys.ts +++ b/src/compiler/sys.ts @@ -1604,7 +1604,7 @@ export let sys: System = (() => { setTimeout, clearTimeout, clearScreen: () => { - process.stdout.write("\x1Bc"); + process.stdout.write("\x1B[2J\x1B[3J\x1B[H"); }, setBlocking: () => { const handle = (process.stdout as any)?._handle as { setBlocking?: (value: boolean) => void; }; From 71fb8641386171f1fd869d769433260e7649c23e Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Mon, 22 Jul 2024 15:26:17 -0700 Subject: [PATCH 47/89] Disallow truthiness/nullishness checks on syntax that never varies on it (#59217) --- src/compiler/checker.ts | 114 ++++- src/compiler/diagnosticMessages.json | 21 +- src/compiler/types.ts | 8 + src/compiler/utilities.ts | 3 +- .../aliasUsageInOrExpression.errors.txt | 31 ++ ...tCommonTypeWithContextualTyping.errors.txt | 26 + .../bestCommonTypeWithContextualTyping.types | 3 + .../reference/checkJsdocReturnTag1.errors.txt | 28 ++ .../reference/checkJsdocReturnTag2.errors.txt | 5 +- .../computedPropertyNames46_ES5.errors.txt | 9 + .../computedPropertyNames46_ES6.errors.txt | 9 + .../computedPropertyNames48_ES5.errors.txt | 23 + .../computedPropertyNames48_ES5.types | 2 + .../computedPropertyNames48_ES6.errors.txt | 23 + .../computedPropertyNames48_ES6.types | 2 + ...alOperatorConditionIsNumberType.errors.txt | 84 ++++ ...itionalOperatorConditionIsNumberType.types | 23 + ...alOperatorConditionIsObjectType.errors.txt | 38 +- ...ionalOperatorConditoinIsAnyType.errors.txt | 108 +++++ ...onditionalOperatorConditoinIsAnyType.types | 63 +++ ...alOperatorConditoinIsStringType.errors.txt | 103 ++++ ...itionalOperatorConditoinIsStringType.types | 23 + .../baselines/reference/constEnum4.errors.txt | 13 + .../contextuallyTypeLogicalAnd03.errors.txt | 5 +- .../contextuallyTypingOrOperator.errors.txt | 12 + .../contextuallyTypingOrOperator.types | 2 + .../contextuallyTypingOrOperator2.errors.txt | 9 + .../contextuallyTypingOrOperator2.types | 2 + .../controlFlowForStatement.errors.txt | 51 ++ ...declFileTypeAnnotationParenType.errors.txt | 18 + ...clarationEmitInferredTypeAlias1.errors.txt | 15 + ...clarationEmitInferredTypeAlias2.errors.txt | 18 + ...clarationEmitInferredTypeAlias3.errors.txt | 15 + ...clarationEmitInferredTypeAlias5.errors.txt | 14 + ...clarationEmitInferredTypeAlias6.errors.txt | 15 + ...clarationEmitInferredTypeAlias7.errors.txt | 12 + ...uringAssignmentWithExportedName.errors.txt | 40 ++ ...tructuringAssignmentWithExportedName.types | 37 ++ ...structuringParameterProperties1.errors.txt | 5 +- ...onentiationOperatorSyntaxError2.errors.txt | 8 +- ...idSimpleUnaryExpressionOperands.errors.txt | 8 +- .../fatarrowfunctionsOptionalArgs.errors.txt | 5 +- .../reference/for-inStatements.errors.txt | 11 +- .../for-inStatementsInvalid.errors.txt | 11 +- .../generatedContextualTyping.errors.txt | 453 ++++++++++++++++++ .../reference/generatedContextualTyping.types | 3 + .../reference/ifDoWhileStatements.errors.txt | 255 ++++++++++ .../reference/ifDoWhileStatements.types | 8 + .../reference/initializersWidened.errors.txt | 45 ++ .../reference/initializersWidened.types | 6 + ...logicalAndOperatorWithEveryType.errors.txt | 64 ++- ...icalNotOperatorWithAnyOtherType.errors.txt | 8 +- ...gicalNotOperatorWithBooleanType.errors.txt | 5 +- ...ogicalNotOperatorWithNumberType.errors.txt | 8 +- ...ogicalNotOperatorWithStringType.errors.txt | 14 +- ...OrExpressionIsContextuallyTyped.errors.txt | 5 +- .../logicalOrOperatorWithEveryType.errors.txt | 64 ++- .../reference/nestedIfStatement.errors.txt | 15 + .../reference/noImplicitAnyForIn.errors.txt | 5 +- .../nullishCoalescingOperator1.errors.txt | 71 +++ .../nullishCoalescingOperator7.errors.txt | 24 + .../parserArrowFunctionExpression3.errors.txt | 5 +- .../parserRegularExpression3.errors.txt | 7 +- .../reference/predicateSemantics.errors.txt | 73 +++ .../baselines/reference/predicateSemantics.js | 77 +++ .../reference/predicateSemantics.symbols | 63 +++ .../reference/predicateSemantics.types | 194 ++++++++ ...aryOperatorsOnExportedVariables.errors.txt | 35 ++ .../reference/primitiveMembers.errors.txt | 5 +- .../reference/shebangError.errors.txt | 5 +- ...gLiteralsWithSwitchStatements03.errors.txt | 14 +- ...gLiteralsWithSwitchStatements04.errors.txt | 17 +- .../reference/symbolType11.errors.txt | 13 + .../typeGuardsInIfStatement.errors.txt | 5 +- .../reference/voidAsOperator.errors.txt | 18 + tests/baselines/reference/witness.errors.txt | 8 +- tests/cases/compiler/predicateSemantics.ts | 36 ++ 77 files changed, 2669 insertions(+), 34 deletions(-) create mode 100644 tests/baselines/reference/aliasUsageInOrExpression.errors.txt create mode 100644 tests/baselines/reference/bestCommonTypeWithContextualTyping.errors.txt create mode 100644 tests/baselines/reference/checkJsdocReturnTag1.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames46_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames46_ES6.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames48_ES5.errors.txt create mode 100644 tests/baselines/reference/computedPropertyNames48_ES6.errors.txt create mode 100644 tests/baselines/reference/conditionalOperatorConditionIsNumberType.errors.txt create mode 100644 tests/baselines/reference/conditionalOperatorConditoinIsAnyType.errors.txt create mode 100644 tests/baselines/reference/conditionalOperatorConditoinIsStringType.errors.txt create mode 100644 tests/baselines/reference/constEnum4.errors.txt create mode 100644 tests/baselines/reference/contextuallyTypingOrOperator.errors.txt create mode 100644 tests/baselines/reference/contextuallyTypingOrOperator2.errors.txt create mode 100644 tests/baselines/reference/controlFlowForStatement.errors.txt create mode 100644 tests/baselines/reference/declFileTypeAnnotationParenType.errors.txt create mode 100644 tests/baselines/reference/declarationEmitInferredTypeAlias1.errors.txt create mode 100644 tests/baselines/reference/declarationEmitInferredTypeAlias2.errors.txt create mode 100644 tests/baselines/reference/declarationEmitInferredTypeAlias3.errors.txt create mode 100644 tests/baselines/reference/declarationEmitInferredTypeAlias5.errors.txt create mode 100644 tests/baselines/reference/declarationEmitInferredTypeAlias6.errors.txt create mode 100644 tests/baselines/reference/declarationEmitInferredTypeAlias7.errors.txt create mode 100644 tests/baselines/reference/destructuringAssignmentWithExportedName.errors.txt create mode 100644 tests/baselines/reference/generatedContextualTyping.errors.txt create mode 100644 tests/baselines/reference/ifDoWhileStatements.errors.txt create mode 100644 tests/baselines/reference/initializersWidened.errors.txt create mode 100644 tests/baselines/reference/nestedIfStatement.errors.txt create mode 100644 tests/baselines/reference/nullishCoalescingOperator1.errors.txt create mode 100644 tests/baselines/reference/nullishCoalescingOperator7.errors.txt create mode 100644 tests/baselines/reference/predicateSemantics.errors.txt create mode 100644 tests/baselines/reference/predicateSemantics.js create mode 100644 tests/baselines/reference/predicateSemantics.symbols create mode 100644 tests/baselines/reference/predicateSemantics.types create mode 100644 tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.errors.txt create mode 100644 tests/baselines/reference/symbolType11.errors.txt create mode 100644 tests/baselines/reference/voidAsOperator.errors.txt create mode 100644 tests/cases/compiler/predicateSemantics.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 0f382fbb5e6..c6b880e89d0 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -470,6 +470,7 @@ import { isAutoAccessorPropertyDeclaration, isAwaitExpression, isBinaryExpression, + isBinaryLogicalOperator, isBindableObjectDefinePropertyCall, isBindableStaticElementAccessExpression, isBindableStaticNameExpression, @@ -899,6 +900,7 @@ import { NodeWithTypeArguments, NonNullChain, NonNullExpression, + NoSubstitutionTemplateLiteral, not, noTruncationMaximumTruncationLength, NumberLiteralType, @@ -929,6 +931,7 @@ import { PatternAmbientModule, PlusToken, PostfixUnaryExpression, + PredicateSemantics, PrefixUnaryExpression, PrivateIdentifier, Program, @@ -39470,7 +39473,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return state; } - checkGrammarNullishCoalesceWithLogicalExpression(node); + checkNullishCoalesceOperands(node); const operator = node.operatorToken.kind; if (operator === SyntaxKind.EqualsToken && (node.left.kind === SyntaxKind.ObjectLiteralExpression || node.left.kind === SyntaxKind.ArrayLiteralExpression)) { @@ -39503,7 +39506,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (operator === SyntaxKind.AmpersandAmpersandToken || isIfStatement(parent)) { checkTestingKnownTruthyCallableOrAwaitableOrEnumMemberType(node.left, leftType, isIfStatement(parent) ? parent.thenStatement : undefined); } - checkTruthinessOfType(leftType, node.left); + if (isBinaryLogicalOperator(operator)) { + checkTruthinessOfType(leftType, node.left); + } } } } @@ -39569,7 +39574,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } } - function checkGrammarNullishCoalesceWithLogicalExpression(node: BinaryExpression) { + function checkNullishCoalesceOperands(node: BinaryExpression) { const { left, operatorToken, right } = node; if (operatorToken.kind === SyntaxKind.QuestionQuestionToken) { if (isBinaryExpression(left) && (left.operatorToken.kind === SyntaxKind.BarBarToken || left.operatorToken.kind === SyntaxKind.AmpersandAmpersandToken)) { @@ -39578,9 +39583,62 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (isBinaryExpression(right) && (right.operatorToken.kind === SyntaxKind.BarBarToken || right.operatorToken.kind === SyntaxKind.AmpersandAmpersandToken)) { grammarErrorOnNode(right, Diagnostics._0_and_1_operations_cannot_be_mixed_without_parentheses, tokenToString(right.operatorToken.kind), tokenToString(operatorToken.kind)); } + + const leftTarget = skipOuterExpressions(left, OuterExpressionKinds.All); + const nullishSemantics = getSyntacticNullishnessSemantics(leftTarget); + if (nullishSemantics !== PredicateSemantics.Sometimes) { + if (node.parent.kind === SyntaxKind.BinaryExpression) { + error(leftTarget, Diagnostics.This_binary_expression_is_never_nullish_Are_you_missing_parentheses); + } + else { + if (nullishSemantics === PredicateSemantics.Always) { + error(leftTarget, Diagnostics.This_expression_is_always_nullish); + } + else { + error(leftTarget, Diagnostics.Right_operand_of_is_unreachable_because_the_left_operand_is_never_nullish); + } + } + } } } + function getSyntacticNullishnessSemantics(node: Node): PredicateSemantics { + node = skipOuterExpressions(node); + switch (node.kind) { + case SyntaxKind.AwaitExpression: + case SyntaxKind.CallExpression: + case SyntaxKind.ElementAccessExpression: + case SyntaxKind.NewExpression: + case SyntaxKind.PropertyAccessExpression: + case SyntaxKind.YieldExpression: + return PredicateSemantics.Sometimes; + case SyntaxKind.BinaryExpression: + // List of operators that can produce null/undefined: + // = ??= ?? || ||= && &&= + switch ((node as BinaryExpression).operatorToken.kind) { + case SyntaxKind.EqualsToken: + case SyntaxKind.QuestionQuestionToken: + case SyntaxKind.QuestionQuestionEqualsToken: + case SyntaxKind.BarBarToken: + case SyntaxKind.BarBarEqualsToken: + case SyntaxKind.AmpersandAmpersandToken: + case SyntaxKind.AmpersandAmpersandEqualsToken: + return PredicateSemantics.Sometimes; + } + return PredicateSemantics.Never; + case SyntaxKind.ConditionalExpression: + return getSyntacticNullishnessSemantics((node as ConditionalExpression).whenTrue) | getSyntacticNullishnessSemantics((node as ConditionalExpression).whenFalse); + case SyntaxKind.NullKeyword: + return PredicateSemantics.Always; + case SyntaxKind.Identifier: + if (getResolvedSymbol(node as Identifier) === undefinedSymbol) { + return PredicateSemantics.Always; + } + return PredicateSemantics.Sometimes; + } + return PredicateSemantics.Never; + } + // Note that this and `checkBinaryExpression` above should behave mostly the same, except this elides some // expression-wide checks and does not use a work stack to fold nested binary expressions into the same callstack frame function checkBinaryLikeExpression(left: Expression, operatorToken: BinaryOperatorToken, right: Expression, checkMode?: CheckMode, errorNode?: Node): Type { @@ -39589,7 +39647,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return checkDestructuringAssignment(left, checkExpression(right, checkMode), checkMode, right.kind === SyntaxKind.ThisKeyword); } let leftType: Type; - if (isLogicalOrCoalescingBinaryOperator(operator)) { + if (isBinaryLogicalOperator(operator)) { leftType = checkTruthinessExpression(left, checkMode); } else { @@ -44217,9 +44275,57 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (type.flags & TypeFlags.Void) { error(node, Diagnostics.An_expression_of_type_void_cannot_be_tested_for_truthiness); } + else { + const semantics = getSyntacticTruthySemantics(node); + if (semantics !== PredicateSemantics.Sometimes) { + error( + node, + semantics === PredicateSemantics.Always ? + Diagnostics.This_kind_of_expression_is_always_truthy : + Diagnostics.This_kind_of_expression_is_always_falsy, + ); + } + } + return type; } + function getSyntacticTruthySemantics(node: Node): PredicateSemantics { + node = skipOuterExpressions(node); + switch (node.kind) { + case SyntaxKind.NumericLiteral: + // Allow `while(0)` or `while(1)` + if ((node as NumericLiteral).text === "0" || (node as NumericLiteral).text === "1") { + return PredicateSemantics.Sometimes; + } + return PredicateSemantics.Always; + case SyntaxKind.ArrayLiteralExpression: + case SyntaxKind.ArrowFunction: + case SyntaxKind.BigIntLiteral: + case SyntaxKind.ClassExpression: + case SyntaxKind.FunctionExpression: + case SyntaxKind.JsxElement: + case SyntaxKind.JsxSelfClosingElement: + case SyntaxKind.ObjectLiteralExpression: + case SyntaxKind.RegularExpressionLiteral: + return PredicateSemantics.Always; + case SyntaxKind.VoidExpression: + case SyntaxKind.NullKeyword: + return PredicateSemantics.Never; + case SyntaxKind.NoSubstitutionTemplateLiteral: + case SyntaxKind.StringLiteral: + return !!(node as StringLiteral | NoSubstitutionTemplateLiteral).text ? PredicateSemantics.Always : PredicateSemantics.Never; + case SyntaxKind.ConditionalExpression: + return getSyntacticTruthySemantics((node as ConditionalExpression).whenTrue) | getSyntacticTruthySemantics((node as ConditionalExpression).whenFalse); + case SyntaxKind.Identifier: + if (getResolvedSymbol(node as Identifier) === undefinedSymbol) { + return PredicateSemantics.Never; + } + return PredicateSemantics.Sometimes; + } + return PredicateSemantics.Sometimes; + } + function checkTruthinessExpression(node: Expression, checkMode?: CheckMode) { return checkTruthinessOfType(checkExpression(node, checkMode), node); } diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 95f44b4396d..9e4ece727ac 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -3915,7 +3915,26 @@ "category": "Error", "code": 2868 }, - + "Right operand of ?? is unreachable because the left operand is never nullish.": { + "category": "Error", + "code": 2869 + }, + "This binary expression is never nullish. Are you missing parentheses?": { + "category": "Error", + "code": 2870 + }, + "This expression is always nullish.": { + "category": "Error", + "code": 2871 + }, + "This kind of expression is always truthy.": { + "category": "Error", + "code": 2872 + }, + "This kind of expression is always falsy.": { + "category": "Error", + "code": 2873 + }, "Import declaration '{0}' is using private name '{1}'.": { "category": "Error", "code": 4000 diff --git a/src/compiler/types.ts b/src/compiler/types.ts index c2e072a576a..18064995d1d 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -923,6 +923,14 @@ export const enum RelationComparisonResult { Overflow = ComplexityOverflow | StackDepthOverflow, } +/** @internal */ +export const enum PredicateSemantics { + None = 0, + Always = 1 << 0, + Never = 1 << 1, + Sometimes = Always | Never, +} + /** @internal */ export type NodeId = number; diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 46f4096e852..1087901253b 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -7190,7 +7190,8 @@ export function modifierToFlag(token: SyntaxKind): ModifierFlags { return ModifierFlags.None; } -function isBinaryLogicalOperator(token: SyntaxKind): boolean { +/** @internal */ +export function isBinaryLogicalOperator(token: SyntaxKind): boolean { return token === SyntaxKind.BarBarToken || token === SyntaxKind.AmpersandAmpersandToken; } diff --git a/tests/baselines/reference/aliasUsageInOrExpression.errors.txt b/tests/baselines/reference/aliasUsageInOrExpression.errors.txt new file mode 100644 index 00000000000..2ac162439c2 --- /dev/null +++ b/tests/baselines/reference/aliasUsageInOrExpression.errors.txt @@ -0,0 +1,31 @@ +aliasUsageInOrExpression_main.ts(10,40): error TS2873: This kind of expression is always falsy. +aliasUsageInOrExpression_main.ts(11,40): error TS2873: This kind of expression is always falsy. + + +==== aliasUsageInOrExpression_main.ts (2 errors) ==== + import Backbone = require("./aliasUsageInOrExpression_backbone"); + import moduleA = require("./aliasUsageInOrExpression_moduleA"); + interface IHasVisualizationModel { + VisualizationModel: typeof Backbone.Model; + } + var i: IHasVisualizationModel; + var d1 = i || moduleA; + var d2: IHasVisualizationModel = i || moduleA; + var d2: IHasVisualizationModel = moduleA || i; + var e: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null || { x: moduleA }; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var f: { x: IHasVisualizationModel } = <{ x: IHasVisualizationModel }>null ? { x: moduleA } : null; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. +==== aliasUsageInOrExpression_backbone.ts (0 errors) ==== + export class Model { + public someData: string; + } + +==== aliasUsageInOrExpression_moduleA.ts (0 errors) ==== + import Backbone = require("./aliasUsageInOrExpression_backbone"); + export class VisualizationModel extends Backbone.Model { + // interesting stuff here + } + \ No newline at end of file diff --git a/tests/baselines/reference/bestCommonTypeWithContextualTyping.errors.txt b/tests/baselines/reference/bestCommonTypeWithContextualTyping.errors.txt new file mode 100644 index 00000000000..2aafdf2154b --- /dev/null +++ b/tests/baselines/reference/bestCommonTypeWithContextualTyping.errors.txt @@ -0,0 +1,26 @@ +bestCommonTypeWithContextualTyping.ts(19,31): error TS2873: This kind of expression is always falsy. + + +==== bestCommonTypeWithContextualTyping.ts (1 errors) ==== + interface Contextual { + dummy; + p?: number; + } + + interface Ellement { + dummy; + p: any; + } + + var e: Ellement; + + // All of these should pass. Neither type is a supertype of the other, but the RHS should + // always use Ellement in these examples (not Contextual). Because Ellement is assignable + // to Contextual, no errors. + var arr: Contextual[] = [e]; // Ellement[] + var obj: { [s: string]: Contextual } = { s: e }; // { s: Ellement; [s: string]: Ellement } + + var conditional: Contextual = null ? e : e; // Ellement + ~~~~ +!!! error TS2873: This kind of expression is always falsy. + var contextualOr: Contextual = e || e; // Ellement \ No newline at end of file diff --git a/tests/baselines/reference/bestCommonTypeWithContextualTyping.types b/tests/baselines/reference/bestCommonTypeWithContextualTyping.types index 68b67e4389e..735202dcd63 100644 --- a/tests/baselines/reference/bestCommonTypeWithContextualTyping.types +++ b/tests/baselines/reference/bestCommonTypeWithContextualTyping.types @@ -4,6 +4,7 @@ interface Contextual { dummy; >dummy : any +> : ^^^ p?: number; >p : number @@ -13,9 +14,11 @@ interface Contextual { interface Ellement { dummy; >dummy : any +> : ^^^ p: any; >p : any +> : ^^^ } var e: Ellement; diff --git a/tests/baselines/reference/checkJsdocReturnTag1.errors.txt b/tests/baselines/reference/checkJsdocReturnTag1.errors.txt new file mode 100644 index 00000000000..47f1a3209de --- /dev/null +++ b/tests/baselines/reference/checkJsdocReturnTag1.errors.txt @@ -0,0 +1,28 @@ +returns.js(20,12): error TS2872: This kind of expression is always truthy. + + +==== returns.js (1 errors) ==== + // @ts-check + /** + * @returns {string} This comment is not currently exposed + */ + function f() { + return "hello"; + } + + /** + * @returns {string=} This comment is not currently exposed + */ + function f1() { + return "hello world"; + } + + /** + * @returns {string|number} This comment is not currently exposed + */ + function f2() { + return 5 || "hello"; + ~ +!!! error TS2872: This kind of expression is always truthy. + } + \ No newline at end of file diff --git a/tests/baselines/reference/checkJsdocReturnTag2.errors.txt b/tests/baselines/reference/checkJsdocReturnTag2.errors.txt index 1af147cc8fa..c5ab204ed84 100644 --- a/tests/baselines/reference/checkJsdocReturnTag2.errors.txt +++ b/tests/baselines/reference/checkJsdocReturnTag2.errors.txt @@ -1,9 +1,10 @@ returns.js(6,5): error TS2322: Type 'number' is not assignable to type 'string'. returns.js(13,5): error TS2322: Type 'number | boolean' is not assignable to type 'string | number'. Type 'boolean' is not assignable to type 'string | number'. +returns.js(13,12): error TS2872: This kind of expression is always truthy. -==== returns.js (2 errors) ==== +==== returns.js (3 errors) ==== // @ts-check /** * @returns {string} This comment is not currently exposed @@ -22,5 +23,7 @@ returns.js(13,5): error TS2322: Type 'number | boolean' is not assignable to typ ~~~~~~ !!! error TS2322: Type 'number | boolean' is not assignable to type 'string | number'. !!! error TS2322: Type 'boolean' is not assignable to type 'string | number'. + ~ +!!! error TS2872: This kind of expression is always truthy. } \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames46_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames46_ES5.errors.txt new file mode 100644 index 00000000000..8b574a3610e --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames46_ES5.errors.txt @@ -0,0 +1,9 @@ +computedPropertyNames46_ES5.ts(2,6): error TS2873: This kind of expression is always falsy. + + +==== computedPropertyNames46_ES5.ts (1 errors) ==== + var o = { + ["" || 0]: 0 + ~~ +!!! error TS2873: This kind of expression is always falsy. + }; \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames46_ES6.errors.txt b/tests/baselines/reference/computedPropertyNames46_ES6.errors.txt new file mode 100644 index 00000000000..67c2d8c7cde --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames46_ES6.errors.txt @@ -0,0 +1,9 @@ +computedPropertyNames46_ES6.ts(2,6): error TS2873: This kind of expression is always falsy. + + +==== computedPropertyNames46_ES6.ts (1 errors) ==== + var o = { + ["" || 0]: 0 + ~~ +!!! error TS2873: This kind of expression is always falsy. + }; \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.errors.txt b/tests/baselines/reference/computedPropertyNames48_ES5.errors.txt new file mode 100644 index 00000000000..4cbb21c3228 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames48_ES5.errors.txt @@ -0,0 +1,23 @@ +computedPropertyNames48_ES5.ts(16,6): error TS2873: This kind of expression is always falsy. + + +==== computedPropertyNames48_ES5.ts (1 errors) ==== + declare function extractIndexer(p: { [n: number]: T }): T; + + enum E { x } + + var a: any; + + extractIndexer({ + [a]: "" + }); // Should return string + + extractIndexer({ + [E.x]: "" + }); // Should return string + + extractIndexer({ + ["" || 0]: "" + ~~ +!!! error TS2873: This kind of expression is always falsy. + }); // Should return any (widened form of undefined) \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames48_ES5.types b/tests/baselines/reference/computedPropertyNames48_ES5.types index c3729ec41f0..94a8541879a 100644 --- a/tests/baselines/reference/computedPropertyNames48_ES5.types +++ b/tests/baselines/reference/computedPropertyNames48_ES5.types @@ -17,6 +17,7 @@ enum E { x } var a: any; >a : any +> : ^^^ extractIndexer({ >extractIndexer({ [a]: ""}) : string @@ -30,6 +31,7 @@ extractIndexer({ >[a] : string > : ^^^^^^ >a : any +> : ^^^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/computedPropertyNames48_ES6.errors.txt b/tests/baselines/reference/computedPropertyNames48_ES6.errors.txt new file mode 100644 index 00000000000..b4d5d245b71 --- /dev/null +++ b/tests/baselines/reference/computedPropertyNames48_ES6.errors.txt @@ -0,0 +1,23 @@ +computedPropertyNames48_ES6.ts(16,6): error TS2873: This kind of expression is always falsy. + + +==== computedPropertyNames48_ES6.ts (1 errors) ==== + declare function extractIndexer(p: { [n: number]: T }): T; + + enum E { x } + + var a: any; + + extractIndexer({ + [a]: "" + }); // Should return string + + extractIndexer({ + [E.x]: "" + }); // Should return string + + extractIndexer({ + ["" || 0]: "" + ~~ +!!! error TS2873: This kind of expression is always falsy. + }); // Should return any (widened form of undefined) \ No newline at end of file diff --git a/tests/baselines/reference/computedPropertyNames48_ES6.types b/tests/baselines/reference/computedPropertyNames48_ES6.types index 4c0d97a7815..f472c49e97a 100644 --- a/tests/baselines/reference/computedPropertyNames48_ES6.types +++ b/tests/baselines/reference/computedPropertyNames48_ES6.types @@ -17,6 +17,7 @@ enum E { x } var a: any; >a : any +> : ^^^ extractIndexer({ >extractIndexer({ [a]: ""}) : string @@ -30,6 +31,7 @@ extractIndexer({ >[a] : string > : ^^^^^^ >a : any +> : ^^^ >"" : "" > : ^^ diff --git a/tests/baselines/reference/conditionalOperatorConditionIsNumberType.errors.txt b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.errors.txt new file mode 100644 index 00000000000..dfc26d83248 --- /dev/null +++ b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.errors.txt @@ -0,0 +1,84 @@ +conditionalOperatorConditionIsNumberType.ts(27,1): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditionIsNumberType.ts(29,1): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditionIsNumberType.ts(30,1): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditionIsNumberType.ts(53,23): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditionIsNumberType.ts(55,23): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditionIsNumberType.ts(56,32): error TS2872: This kind of expression is always truthy. + + +==== conditionalOperatorConditionIsNumberType.ts (6 errors) ==== + //Cond ? Expr1 : Expr2, Cond is of number type, Expr1 and Expr2 have the same type + var condNumber: number; + + var exprAny1: any; + var exprBoolean1: boolean; + var exprNumber1: number; + var exprString1: string; + var exprIsObject1: Object; + + var exprAny2: any; + var exprBoolean2: boolean; + var exprNumber2: number; + var exprString2: string; + var exprIsObject2: Object; + + //Cond is a number type variable + condNumber ? exprAny1 : exprAny2; + condNumber ? exprBoolean1 : exprBoolean2; + condNumber ? exprNumber1 : exprNumber2; + condNumber ? exprString1 : exprString2; + condNumber ? exprIsObject1 : exprIsObject2; + condNumber ? exprString1 : exprBoolean1; // Union + + //Cond is a number type literal + 1 ? exprAny1 : exprAny2; + 0 ? exprBoolean1 : exprBoolean2; + 0.123456789 ? exprNumber1 : exprNumber2; + ~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + - 10000000000000 ? exprString1 : exprString2; + 1000000000000 ? exprIsObject1 : exprIsObject2; + ~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + 10000 ? exprString1 : exprBoolean1; // Union + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + + //Cond is a number type expression + function foo() { return 1 }; + var array = [1, 2, 3]; + + 1 * 0 ? exprAny1 : exprAny2; + 1 + 1 ? exprBoolean1 : exprBoolean2; + "string".length ? exprNumber1 : exprNumber2; + foo() ? exprString1 : exprString2; + foo() / array[1] ? exprIsObject1 : exprIsObject2; + foo() ? exprString1 : exprBoolean1; // Union + + //Results shoud be same as Expr1 and Expr2 + var resultIsAny1 = condNumber ? exprAny1 : exprAny2; + var resultIsBoolean1 = condNumber ? exprBoolean1 : exprBoolean2; + var resultIsNumber1 = condNumber ? exprNumber1 : exprNumber2; + var resultIsString1 = condNumber ? exprString1 : exprString2; + var resultIsObject1 = condNumber ? exprIsObject1 : exprIsObject2; + var resultIsStringOrBoolean1 = condNumber ? exprString1 : exprBoolean1; // Union + + var resultIsAny2 = 1 ? exprAny1 : exprAny2; + var resultIsBoolean2 = 0 ? exprBoolean1 : exprBoolean2; + var resultIsNumber2 = 0.123456789 ? exprNumber1 : exprNumber2; + ~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var resultIsString2 = - 10000000000000 ? exprString1 : exprString2; + var resultIsObject2 = 1000000000000 ? exprIsObject1 : exprIsObject2; + ~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var resultIsStringOrBoolean2 = 10000 ? exprString1 : exprBoolean1; // Union + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + + var resultIsAny3 = 1 * 0 ? exprAny1 : exprAny2; + var resultIsBoolean3 = 1 + 1 ? exprBoolean1 : exprBoolean2; + var resultIsNumber3 = "string".length ? exprNumber1 : exprNumber2; + var resultIsString3 = foo() ? exprString1 : exprString2; + var resultIsObject3 = foo() / array[1] ? exprIsObject1 : exprIsObject2; + var resultIsStringOrBoolean3 = foo() / array[1] ? exprString1 : exprBoolean1; // Union \ No newline at end of file diff --git a/tests/baselines/reference/conditionalOperatorConditionIsNumberType.types b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.types index bcb8ead9fdc..86fcebd2a4e 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsNumberType.types +++ b/tests/baselines/reference/conditionalOperatorConditionIsNumberType.types @@ -8,6 +8,7 @@ var condNumber: number; var exprAny1: any; >exprAny1 : any +> : ^^^ var exprBoolean1: boolean; >exprBoolean1 : boolean @@ -27,6 +28,7 @@ var exprIsObject1: Object; var exprAny2: any; >exprAny2 : any +> : ^^^ var exprBoolean2: boolean; >exprBoolean2 : boolean @@ -47,10 +49,13 @@ var exprIsObject2: Object; //Cond is a number type variable condNumber ? exprAny1 : exprAny2; >condNumber ? exprAny1 : exprAny2 : any +> : ^^^ >condNumber : number > : ^^^^^^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ condNumber ? exprBoolean1 : exprBoolean2; >condNumber ? exprBoolean1 : exprBoolean2 : boolean @@ -105,10 +110,13 @@ condNumber ? exprString1 : exprBoolean1; // Union //Cond is a number type literal 1 ? exprAny1 : exprAny2; >1 ? exprAny1 : exprAny2 : any +> : ^^^ >1 : 1 > : ^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ 0 ? exprBoolean1 : exprBoolean2; >0 ? exprBoolean1 : exprBoolean2 : boolean @@ -183,6 +191,7 @@ var array = [1, 2, 3]; 1 * 0 ? exprAny1 : exprAny2; >1 * 0 ? exprAny1 : exprAny2 : any +> : ^^^ >1 * 0 : number > : ^^^^^^ >1 : 1 @@ -190,7 +199,9 @@ var array = [1, 2, 3]; >0 : 0 > : ^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ 1 + 1 ? exprBoolean1 : exprBoolean2; >1 + 1 ? exprBoolean1 : exprBoolean2 : boolean @@ -267,11 +278,15 @@ foo() ? exprString1 : exprBoolean1; // Union //Results shoud be same as Expr1 and Expr2 var resultIsAny1 = condNumber ? exprAny1 : exprAny2; >resultIsAny1 : any +> : ^^^ >condNumber ? exprAny1 : exprAny2 : any +> : ^^^ >condNumber : number > : ^^^^^^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ var resultIsBoolean1 = condNumber ? exprBoolean1 : exprBoolean2; >resultIsBoolean1 : boolean @@ -335,11 +350,15 @@ var resultIsStringOrBoolean1 = condNumber ? exprString1 : exprBoolean1; // Union var resultIsAny2 = 1 ? exprAny1 : exprAny2; >resultIsAny2 : any +> : ^^^ >1 ? exprAny1 : exprAny2 : any +> : ^^^ >1 : 1 > : ^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ var resultIsBoolean2 = 0 ? exprBoolean1 : exprBoolean2; >resultIsBoolean2 : boolean @@ -405,7 +424,9 @@ var resultIsStringOrBoolean2 = 10000 ? exprString1 : exprBoolean1; // Union var resultIsAny3 = 1 * 0 ? exprAny1 : exprAny2; >resultIsAny3 : any +> : ^^^ >1 * 0 ? exprAny1 : exprAny2 : any +> : ^^^ >1 * 0 : number > : ^^^^^^ >1 : 1 @@ -413,7 +434,9 @@ var resultIsAny3 = 1 * 0 ? exprAny1 : exprAny2; >0 : 0 > : ^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ var resultIsBoolean3 = 1 + 1 ? exprBoolean1 : exprBoolean2; >resultIsBoolean3 : boolean diff --git a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.errors.txt b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.errors.txt index d627e668ca6..d5388838074 100644 --- a/tests/baselines/reference/conditionalOperatorConditionIsObjectType.errors.txt +++ b/tests/baselines/reference/conditionalOperatorConditionIsObjectType.errors.txt @@ -1,11 +1,23 @@ +conditionalOperatorConditionIsObjectType.ts(28,1): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditionIsObjectType.ts(29,1): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditionIsObjectType.ts(30,1): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditionIsObjectType.ts(31,1): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditionIsObjectType.ts(32,1): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditionIsObjectType.ts(33,1): error TS2872: This kind of expression is always truthy. conditionalOperatorConditionIsObjectType.ts(36,1): error TS1345: An expression of type 'void' cannot be tested for truthiness. conditionalOperatorConditionIsObjectType.ts(39,1): error TS1345: An expression of type 'void' cannot be tested for truthiness. +conditionalOperatorConditionIsObjectType.ts(51,20): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditionIsObjectType.ts(52,24): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditionIsObjectType.ts(53,23): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditionIsObjectType.ts(54,23): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditionIsObjectType.ts(55,23): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditionIsObjectType.ts(56,32): error TS2872: This kind of expression is always truthy. conditionalOperatorConditionIsObjectType.ts(58,20): error TS1345: An expression of type 'void' cannot be tested for truthiness. conditionalOperatorConditionIsObjectType.ts(61,23): error TS1345: An expression of type 'void' cannot be tested for truthiness. conditionalOperatorConditionIsObjectType.ts(63,32): error TS1345: An expression of type 'void' cannot be tested for truthiness. -==== conditionalOperatorConditionIsObjectType.ts (5 errors) ==== +==== conditionalOperatorConditionIsObjectType.ts (17 errors) ==== //Cond ? Expr1 : Expr2, Cond is of object type, Expr1 and Expr2 have the same type var condObject: Object; @@ -34,11 +46,23 @@ conditionalOperatorConditionIsObjectType.ts(63,32): error TS1345: An expression //Cond is an object type literal ((a: string) => a.length) ? exprAny1 : exprAny2; + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. ((a: string) => a.length) ? exprBoolean1 : exprBoolean2; + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. ({}) ? exprNumber1 : exprNumber2; + ~~~~ +!!! error TS2872: This kind of expression is always truthy. ({ a: 1, b: "s" }) ? exprString1 : exprString2; + ~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. ({ a: 1, b: "s" }) ? exprIsObject1 : exprIsObject2; + ~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. ({ a: 1, b: "s" }) ? exprString1: exprBoolean1; // union + ~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. //Cond is an object type expression foo() ? exprAny1 : exprAny2; @@ -61,11 +85,23 @@ conditionalOperatorConditionIsObjectType.ts(63,32): error TS1345: An expression var resultIsStringOrBoolean1 = condObject ? exprString1 : exprBoolean1; // union var resultIsAny2 = ((a: string) => a.length) ? exprAny1 : exprAny2; + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. var resultIsBoolean2 = ((a: string) => a.length) ? exprBoolean1 : exprBoolean2; + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. var resultIsNumber2 = ({}) ? exprNumber1 : exprNumber2; + ~~~~ +!!! error TS2872: This kind of expression is always truthy. var resultIsString2 = ({ a: 1, b: "s" }) ? exprString1 : exprString2; + ~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. var resultIsObject2 = ({ a: 1, b: "s" }) ? exprIsObject1 : exprIsObject2; + ~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. var resultIsStringOrBoolean2 = ({ a: 1, b: "s" }) ? exprString1 : exprBoolean1; // union + ~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. var resultIsAny3 = foo() ? exprAny1 : exprAny2; ~~~~~ diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.errors.txt b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.errors.txt new file mode 100644 index 00000000000..bd7989896df --- /dev/null +++ b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.errors.txt @@ -0,0 +1,108 @@ +conditionalOperatorConditoinIsAnyType.ts(26,1): error TS2873: This kind of expression is always falsy. +conditionalOperatorConditoinIsAnyType.ts(27,1): error TS2873: This kind of expression is always falsy. +conditionalOperatorConditoinIsAnyType.ts(28,1): error TS2873: This kind of expression is always falsy. +conditionalOperatorConditoinIsAnyType.ts(29,1): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditoinIsAnyType.ts(30,1): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditoinIsAnyType.ts(31,1): error TS2873: This kind of expression is always falsy. +conditionalOperatorConditoinIsAnyType.ts(49,20): error TS2873: This kind of expression is always falsy. +conditionalOperatorConditoinIsAnyType.ts(50,24): error TS2873: This kind of expression is always falsy. +conditionalOperatorConditoinIsAnyType.ts(51,23): error TS2873: This kind of expression is always falsy. +conditionalOperatorConditoinIsAnyType.ts(52,23): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditoinIsAnyType.ts(53,23): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditoinIsAnyType.ts(54,32): error TS2873: This kind of expression is always falsy. +conditionalOperatorConditoinIsAnyType.ts(55,32): error TS2873: This kind of expression is always falsy. +conditionalOperatorConditoinIsAnyType.ts(56,32): error TS2872: This kind of expression is always truthy. + + +==== conditionalOperatorConditoinIsAnyType.ts (14 errors) ==== + //Cond ? Expr1 : Expr2, Cond is of any type, Expr1 and Expr2 have the same type + var condAny: any; + var x: any; + + var exprAny1: any; + var exprBoolean1: boolean; + var exprNumber1: number; + var exprString1: string; + var exprIsObject1: Object; + + var exprAny2: any; + var exprBoolean2: boolean; + var exprNumber2: number; + var exprString2: string; + var exprIsObject2: Object; + + //Cond is an any type variable + condAny ? exprAny1 : exprAny2; + condAny ? exprBoolean1 : exprBoolean2; + condAny ? exprNumber1 : exprNumber2; + condAny ? exprString1 : exprString2; + condAny ? exprIsObject1 : exprIsObject2; + condAny ? exprString1 : exprBoolean1; // union + + //Cond is an any type literal + null ? exprAny1 : exprAny2; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. + null ? exprBoolean1 : exprBoolean2; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. + undefined ? exprNumber1 : exprNumber2; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + [null, undefined] ? exprString1 : exprString2; + ~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + [null, undefined] ? exprIsObject1 : exprIsObject2; + ~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + undefined ? exprString1 : exprBoolean1; // union + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + + //Cond is an any type expression + x.doSomeThing() ? exprAny1 : exprAny2; + x("x") ? exprBoolean1 : exprBoolean2; + x(x) ? exprNumber1 : exprNumber2; + x("x") ? exprString1 : exprString2; + x.doSomeThing() ? exprIsObject1 : exprIsObject2; + x.doSomeThing() ? exprString1 : exprBoolean1; // union + + //Results shoud be same as Expr1 and Expr2 + var resultIsAny1 = condAny ? exprAny1 : exprAny2; + var resultIsBoolean1 = condAny ? exprBoolean1 : exprBoolean2; + var resultIsNumber1 = condAny ? exprNumber1 : exprNumber2; + var resultIsString1 = condAny ? exprString1 : exprString2; + var resultIsObject1 = condAny ? exprIsObject1 : exprIsObject2; + var resultIsStringOrBoolean1 = condAny ? exprString1 : exprBoolean1; // union + + var resultIsAny2 = null ? exprAny1 : exprAny2; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. + var resultIsBoolean2 = null ? exprBoolean1 : exprBoolean2; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. + var resultIsNumber2 = undefined ? exprNumber1 : exprNumber2; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var resultIsString2 = [null, undefined] ? exprString1 : exprString2; + ~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var resultIsObject2 = [null, undefined] ? exprIsObject1 : exprIsObject2; + ~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var resultIsStringOrBoolean2 = null ? exprString1 : exprBoolean1; // union + ~~~~ +!!! error TS2873: This kind of expression is always falsy. + var resultIsStringOrBoolean3 = undefined ? exprString1 : exprBoolean1; // union + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var resultIsStringOrBoolean4 = [null, undefined] ? exprString1 : exprBoolean1; // union + ~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + + var resultIsAny3 = x.doSomeThing() ? exprAny1 : exprAny2; + var resultIsBoolean3 = x("x") ? exprBoolean1 : exprBoolean2; + var resultIsNumber3 = x(x) ? exprNumber1 : exprNumber2; + var resultIsString3 = x("x") ? exprString1 : exprString2; + var resultIsObject3 = x.doSomeThing() ? exprIsObject1 : exprIsObject2; + var resultIsStringOrBoolean5 = x.doSomeThing() ? exprString1 : exprBoolean1; // union \ No newline at end of file diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.types b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.types index e2e4c1c5db9..d26cb2b4761 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.types +++ b/tests/baselines/reference/conditionalOperatorConditoinIsAnyType.types @@ -4,12 +4,15 @@ //Cond ? Expr1 : Expr2, Cond is of any type, Expr1 and Expr2 have the same type var condAny: any; >condAny : any +> : ^^^ var x: any; >x : any +> : ^^^ var exprAny1: any; >exprAny1 : any +> : ^^^ var exprBoolean1: boolean; >exprBoolean1 : boolean @@ -29,6 +32,7 @@ var exprIsObject1: Object; var exprAny2: any; >exprAny2 : any +> : ^^^ var exprBoolean2: boolean; >exprBoolean2 : boolean @@ -49,14 +53,19 @@ var exprIsObject2: Object; //Cond is an any type variable condAny ? exprAny1 : exprAny2; >condAny ? exprAny1 : exprAny2 : any +> : ^^^ >condAny : any +> : ^^^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ condAny ? exprBoolean1 : exprBoolean2; >condAny ? exprBoolean1 : exprBoolean2 : boolean > : ^^^^^^^ >condAny : any +> : ^^^ >exprBoolean1 : boolean > : ^^^^^^^ >exprBoolean2 : boolean @@ -66,6 +75,7 @@ condAny ? exprNumber1 : exprNumber2; >condAny ? exprNumber1 : exprNumber2 : number > : ^^^^^^ >condAny : any +> : ^^^ >exprNumber1 : number > : ^^^^^^ >exprNumber2 : number @@ -75,6 +85,7 @@ condAny ? exprString1 : exprString2; >condAny ? exprString1 : exprString2 : string > : ^^^^^^ >condAny : any +> : ^^^ >exprString1 : string > : ^^^^^^ >exprString2 : string @@ -84,6 +95,7 @@ condAny ? exprIsObject1 : exprIsObject2; >condAny ? exprIsObject1 : exprIsObject2 : Object > : ^^^^^^ >condAny : any +> : ^^^ >exprIsObject1 : Object > : ^^^^^^ >exprIsObject2 : Object @@ -93,6 +105,7 @@ condAny ? exprString1 : exprBoolean1; // union >condAny ? exprString1 : exprBoolean1 : string | boolean > : ^^^^^^^^^^^^^^^^ >condAny : any +> : ^^^ >exprString1 : string > : ^^^^^^ >exprBoolean1 : boolean @@ -101,8 +114,11 @@ condAny ? exprString1 : exprBoolean1; // union //Cond is an any type literal null ? exprAny1 : exprAny2; >null ? exprAny1 : exprAny2 : any +> : ^^^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ null ? exprBoolean1 : exprBoolean2; >null ? exprBoolean1 : exprBoolean2 : boolean @@ -159,20 +175,27 @@ undefined ? exprString1 : exprBoolean1; // union //Cond is an any type expression x.doSomeThing() ? exprAny1 : exprAny2; >x.doSomeThing() ? exprAny1 : exprAny2 : any +> : ^^^ >x.doSomeThing() : any +> : ^^^ >x.doSomeThing : any +> : ^^^ >x : any > : ^^^ >doSomeThing : any > : ^^^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ x("x") ? exprBoolean1 : exprBoolean2; >x("x") ? exprBoolean1 : exprBoolean2 : boolean > : ^^^^^^^ >x("x") : any +> : ^^^ >x : any +> : ^^^ >"x" : "x" > : ^^^ >exprBoolean1 : boolean @@ -184,8 +207,11 @@ x(x) ? exprNumber1 : exprNumber2; >x(x) ? exprNumber1 : exprNumber2 : number > : ^^^^^^ >x(x) : any +> : ^^^ >x : any +> : ^^^ >x : any +> : ^^^ >exprNumber1 : number > : ^^^^^^ >exprNumber2 : number @@ -195,7 +221,9 @@ x("x") ? exprString1 : exprString2; >x("x") ? exprString1 : exprString2 : string > : ^^^^^^ >x("x") : any +> : ^^^ >x : any +> : ^^^ >"x" : "x" > : ^^^ >exprString1 : string @@ -207,7 +235,9 @@ x.doSomeThing() ? exprIsObject1 : exprIsObject2; >x.doSomeThing() ? exprIsObject1 : exprIsObject2 : Object > : ^^^^^^ >x.doSomeThing() : any +> : ^^^ >x.doSomeThing : any +> : ^^^ >x : any > : ^^^ >doSomeThing : any @@ -221,7 +251,9 @@ x.doSomeThing() ? exprString1 : exprBoolean1; // union >x.doSomeThing() ? exprString1 : exprBoolean1 : string | boolean > : ^^^^^^^^^^^^^^^^ >x.doSomeThing() : any +> : ^^^ >x.doSomeThing : any +> : ^^^ >x : any > : ^^^ >doSomeThing : any @@ -234,10 +266,15 @@ x.doSomeThing() ? exprString1 : exprBoolean1; // union //Results shoud be same as Expr1 and Expr2 var resultIsAny1 = condAny ? exprAny1 : exprAny2; >resultIsAny1 : any +> : ^^^ >condAny ? exprAny1 : exprAny2 : any +> : ^^^ >condAny : any +> : ^^^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ var resultIsBoolean1 = condAny ? exprBoolean1 : exprBoolean2; >resultIsBoolean1 : boolean @@ -245,6 +282,7 @@ var resultIsBoolean1 = condAny ? exprBoolean1 : exprBoolean2; >condAny ? exprBoolean1 : exprBoolean2 : boolean > : ^^^^^^^ >condAny : any +> : ^^^ >exprBoolean1 : boolean > : ^^^^^^^ >exprBoolean2 : boolean @@ -256,6 +294,7 @@ var resultIsNumber1 = condAny ? exprNumber1 : exprNumber2; >condAny ? exprNumber1 : exprNumber2 : number > : ^^^^^^ >condAny : any +> : ^^^ >exprNumber1 : number > : ^^^^^^ >exprNumber2 : number @@ -267,6 +306,7 @@ var resultIsString1 = condAny ? exprString1 : exprString2; >condAny ? exprString1 : exprString2 : string > : ^^^^^^ >condAny : any +> : ^^^ >exprString1 : string > : ^^^^^^ >exprString2 : string @@ -278,6 +318,7 @@ var resultIsObject1 = condAny ? exprIsObject1 : exprIsObject2; >condAny ? exprIsObject1 : exprIsObject2 : Object > : ^^^^^^ >condAny : any +> : ^^^ >exprIsObject1 : Object > : ^^^^^^ >exprIsObject2 : Object @@ -289,6 +330,7 @@ var resultIsStringOrBoolean1 = condAny ? exprString1 : exprBoolean1; // union >condAny ? exprString1 : exprBoolean1 : string | boolean > : ^^^^^^^^^^^^^^^^ >condAny : any +> : ^^^ >exprString1 : string > : ^^^^^^ >exprBoolean1 : boolean @@ -296,9 +338,13 @@ var resultIsStringOrBoolean1 = condAny ? exprString1 : exprBoolean1; // union var resultIsAny2 = null ? exprAny1 : exprAny2; >resultIsAny2 : any +> : ^^^ >null ? exprAny1 : exprAny2 : any +> : ^^^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ var resultIsBoolean2 = null ? exprBoolean1 : exprBoolean2; >resultIsBoolean2 : boolean @@ -388,15 +434,21 @@ var resultIsStringOrBoolean4 = [null, undefined] ? exprString1 : exprBoolean1; / var resultIsAny3 = x.doSomeThing() ? exprAny1 : exprAny2; >resultIsAny3 : any +> : ^^^ >x.doSomeThing() ? exprAny1 : exprAny2 : any +> : ^^^ >x.doSomeThing() : any +> : ^^^ >x.doSomeThing : any +> : ^^^ >x : any > : ^^^ >doSomeThing : any > : ^^^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ var resultIsBoolean3 = x("x") ? exprBoolean1 : exprBoolean2; >resultIsBoolean3 : boolean @@ -404,7 +456,9 @@ var resultIsBoolean3 = x("x") ? exprBoolean1 : exprBoolean2; >x("x") ? exprBoolean1 : exprBoolean2 : boolean > : ^^^^^^^ >x("x") : any +> : ^^^ >x : any +> : ^^^ >"x" : "x" > : ^^^ >exprBoolean1 : boolean @@ -418,8 +472,11 @@ var resultIsNumber3 = x(x) ? exprNumber1 : exprNumber2; >x(x) ? exprNumber1 : exprNumber2 : number > : ^^^^^^ >x(x) : any +> : ^^^ >x : any +> : ^^^ >x : any +> : ^^^ >exprNumber1 : number > : ^^^^^^ >exprNumber2 : number @@ -431,7 +488,9 @@ var resultIsString3 = x("x") ? exprString1 : exprString2; >x("x") ? exprString1 : exprString2 : string > : ^^^^^^ >x("x") : any +> : ^^^ >x : any +> : ^^^ >"x" : "x" > : ^^^ >exprString1 : string @@ -445,7 +504,9 @@ var resultIsObject3 = x.doSomeThing() ? exprIsObject1 : exprIsObject2; >x.doSomeThing() ? exprIsObject1 : exprIsObject2 : Object > : ^^^^^^ >x.doSomeThing() : any +> : ^^^ >x.doSomeThing : any +> : ^^^ >x : any > : ^^^ >doSomeThing : any @@ -461,7 +522,9 @@ var resultIsStringOrBoolean5 = x.doSomeThing() ? exprString1 : exprBoolean1; // >x.doSomeThing() ? exprString1 : exprBoolean1 : string | boolean > : ^^^^^^^^^^^^^^^^ >x.doSomeThing() : any +> : ^^^ >x.doSomeThing : any +> : ^^^ >x : any > : ^^^ >doSomeThing : any diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.errors.txt b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.errors.txt new file mode 100644 index 00000000000..efccbc8e2d2 --- /dev/null +++ b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.errors.txt @@ -0,0 +1,103 @@ +conditionalOperatorConditoinIsStringType.ts(25,1): error TS2873: This kind of expression is always falsy. +conditionalOperatorConditoinIsStringType.ts(26,1): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditoinIsStringType.ts(27,1): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditoinIsStringType.ts(28,1): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditoinIsStringType.ts(29,1): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditoinIsStringType.ts(30,1): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditoinIsStringType.ts(51,20): error TS2873: This kind of expression is always falsy. +conditionalOperatorConditoinIsStringType.ts(52,24): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditoinIsStringType.ts(53,23): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditoinIsStringType.ts(54,23): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditoinIsStringType.ts(55,23): error TS2872: This kind of expression is always truthy. +conditionalOperatorConditoinIsStringType.ts(56,32): error TS2872: This kind of expression is always truthy. + + +==== conditionalOperatorConditoinIsStringType.ts (12 errors) ==== + //Cond ? Expr1 : Expr2, Cond is of string type, Expr1 and Expr2 have the same type + var condString: string; + + var exprAny1: any; + var exprBoolean1: boolean; + var exprNumber1: number; + var exprString1: string; + var exprIsObject1: Object; + + var exprAny2: any; + var exprBoolean2: boolean; + var exprNumber2: number; + var exprString2: string; + var exprIsObject2: Object; + + //Cond is a string type variable + condString ? exprAny1 : exprAny2; + condString ? exprBoolean1 : exprBoolean2; + condString ? exprNumber1 : exprNumber2; + condString ? exprString1 : exprString2; + condString ? exprIsObject1 : exprIsObject2; + condString ? exprString1 : exprBoolean1; // union + + //Cond is a string type literal + "" ? exprAny1 : exprAny2; + ~~ +!!! error TS2873: This kind of expression is always falsy. + "string" ? exprBoolean1 : exprBoolean2; + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + 'c' ? exprNumber1 : exprNumber2; + ~~~ +!!! error TS2872: This kind of expression is always truthy. + 'string' ? exprString1 : exprString2; + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + " " ? exprIsObject1 : exprIsObject2; + ~~~~ +!!! error TS2872: This kind of expression is always truthy. + "hello " ? exprString1 : exprBoolean1; // union + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + + //Cond is a string type expression + function foo() { return "string" }; + var array = ["1", "2", "3"]; + + typeof condString ? exprAny1 : exprAny2; + condString.toUpperCase ? exprBoolean1 : exprBoolean2; + condString + "string" ? exprNumber1 : exprNumber2; + foo() ? exprString1 : exprString2; + array[1] ? exprIsObject1 : exprIsObject2; + foo() ? exprString1 : exprBoolean1; // union + + //Results shoud be same as Expr1 and Expr2 + var resultIsAny1 = condString ? exprAny1 : exprAny2; + var resultIsBoolean1 = condString ? exprBoolean1 : exprBoolean2; + var resultIsNumber1 = condString ? exprNumber1 : exprNumber2; + var resultIsString1 = condString ? exprString1 : exprString2; + var resultIsObject1 = condString ? exprIsObject1 : exprIsObject2; + var resultIsStringOrBoolean1 = condString ? exprString1 : exprBoolean1; // union + + var resultIsAny2 = "" ? exprAny1 : exprAny2; + ~~ +!!! error TS2873: This kind of expression is always falsy. + var resultIsBoolean2 = "string" ? exprBoolean1 : exprBoolean2; + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var resultIsNumber2 = 'c' ? exprNumber1 : exprNumber2; + ~~~ +!!! error TS2872: This kind of expression is always truthy. + var resultIsString2 = 'string' ? exprString1 : exprString2; + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var resultIsObject2 = " " ? exprIsObject1 : exprIsObject2; + ~~~~ +!!! error TS2872: This kind of expression is always truthy. + var resultIsStringOrBoolean2 = "hello" ? exprString1 : exprBoolean1; // union + ~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + + var resultIsAny3 = typeof condString ? exprAny1 : exprAny2; + var resultIsBoolean3 = condString.toUpperCase ? exprBoolean1 : exprBoolean2; + var resultIsNumber3 = condString + "string" ? exprNumber1 : exprNumber2; + var resultIsString3 = foo() ? exprString1 : exprString2; + var resultIsObject3 = array[1] ? exprIsObject1 : exprIsObject2; + var resultIsStringOrBoolean3 = typeof condString ? exprString1 : exprBoolean1; // union + var resultIsStringOrBoolean4 = condString.toUpperCase ? exprString1 : exprBoolean1; // union \ No newline at end of file diff --git a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types index 25f1e9c51dd..b3f211f4e95 100644 --- a/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types +++ b/tests/baselines/reference/conditionalOperatorConditoinIsStringType.types @@ -8,6 +8,7 @@ var condString: string; var exprAny1: any; >exprAny1 : any +> : ^^^ var exprBoolean1: boolean; >exprBoolean1 : boolean @@ -27,6 +28,7 @@ var exprIsObject1: Object; var exprAny2: any; >exprAny2 : any +> : ^^^ var exprBoolean2: boolean; >exprBoolean2 : boolean @@ -47,10 +49,13 @@ var exprIsObject2: Object; //Cond is a string type variable condString ? exprAny1 : exprAny2; >condString ? exprAny1 : exprAny2 : any +> : ^^^ >condString : string > : ^^^^^^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ condString ? exprBoolean1 : exprBoolean2; >condString ? exprBoolean1 : exprBoolean2 : boolean @@ -105,10 +110,13 @@ condString ? exprString1 : exprBoolean1; // union //Cond is a string type literal "" ? exprAny1 : exprAny2; >"" ? exprAny1 : exprAny2 : any +> : ^^^ >"" : "" > : ^^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ "string" ? exprBoolean1 : exprBoolean2; >"string" ? exprBoolean1 : exprBoolean2 : boolean @@ -181,12 +189,15 @@ var array = ["1", "2", "3"]; typeof condString ? exprAny1 : exprAny2; >typeof condString ? exprAny1 : exprAny2 : any +> : ^^^ >typeof condString : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >condString : string > : ^^^^^^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ condString.toUpperCase ? exprBoolean1 : exprBoolean2; >condString.toUpperCase ? exprBoolean1 : exprBoolean2 : boolean @@ -257,11 +268,15 @@ foo() ? exprString1 : exprBoolean1; // union //Results shoud be same as Expr1 and Expr2 var resultIsAny1 = condString ? exprAny1 : exprAny2; >resultIsAny1 : any +> : ^^^ >condString ? exprAny1 : exprAny2 : any +> : ^^^ >condString : string > : ^^^^^^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ var resultIsBoolean1 = condString ? exprBoolean1 : exprBoolean2; >resultIsBoolean1 : boolean @@ -325,11 +340,15 @@ var resultIsStringOrBoolean1 = condString ? exprString1 : exprBoolean1; // union var resultIsAny2 = "" ? exprAny1 : exprAny2; >resultIsAny2 : any +> : ^^^ >"" ? exprAny1 : exprAny2 : any +> : ^^^ >"" : "" > : ^^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ var resultIsBoolean2 = "string" ? exprBoolean1 : exprBoolean2; >resultIsBoolean2 : boolean @@ -393,13 +412,17 @@ var resultIsStringOrBoolean2 = "hello" ? exprString1 : exprBoolean1; // union var resultIsAny3 = typeof condString ? exprAny1 : exprAny2; >resultIsAny3 : any +> : ^^^ >typeof condString ? exprAny1 : exprAny2 : any +> : ^^^ >typeof condString : "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function" > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >condString : string > : ^^^^^^ >exprAny1 : any +> : ^^^ >exprAny2 : any +> : ^^^ var resultIsBoolean3 = condString.toUpperCase ? exprBoolean1 : exprBoolean2; >resultIsBoolean3 : boolean diff --git a/tests/baselines/reference/constEnum4.errors.txt b/tests/baselines/reference/constEnum4.errors.txt new file mode 100644 index 00000000000..87a9bc65f55 --- /dev/null +++ b/tests/baselines/reference/constEnum4.errors.txt @@ -0,0 +1,13 @@ +constEnum4.ts(3,10): error TS2872: This kind of expression is always truthy. + + +==== constEnum4.ts (1 errors) ==== + if (1) + const enum A { } + else if (2) + ~ +!!! error TS2872: This kind of expression is always truthy. + const enum B { } + else + const enum C { } + \ No newline at end of file diff --git a/tests/baselines/reference/contextuallyTypeLogicalAnd03.errors.txt b/tests/baselines/reference/contextuallyTypeLogicalAnd03.errors.txt index 1a9af2f0221..62db2fc1eb9 100644 --- a/tests/baselines/reference/contextuallyTypeLogicalAnd03.errors.txt +++ b/tests/baselines/reference/contextuallyTypeLogicalAnd03.errors.txt @@ -1,10 +1,13 @@ +contextuallyTypeLogicalAnd03.ts(4,5): error TS2872: This kind of expression is always truthy. contextuallyTypeLogicalAnd03.ts(4,6): error TS7006: Parameter 'a' implicitly has an 'any' type. -==== contextuallyTypeLogicalAnd03.ts (1 errors) ==== +==== contextuallyTypeLogicalAnd03.ts (2 errors) ==== let x: (a: string) => string; let y = true; x = (a => a) && (b => b); + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. ~ !!! error TS7006: Parameter 'a' implicitly has an 'any' type. \ No newline at end of file diff --git a/tests/baselines/reference/contextuallyTypingOrOperator.errors.txt b/tests/baselines/reference/contextuallyTypingOrOperator.errors.txt new file mode 100644 index 00000000000..69209519650 --- /dev/null +++ b/tests/baselines/reference/contextuallyTypingOrOperator.errors.txt @@ -0,0 +1,12 @@ +contextuallyTypingOrOperator.ts(1,39): error TS2872: This kind of expression is always truthy. + + +==== contextuallyTypingOrOperator.ts (1 errors) ==== + var v: { a: (_: string) => number } = { a: s => s.length } || { a: s => 1 }; + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + + var v2 = (s: string) => s.length || function (s) { s.length }; + + var v3 = (s: string) => s.length || function (s: number) { return 1 }; + var v4 = (s: number) => 1 || function (s: string) { return s.length }; \ No newline at end of file diff --git a/tests/baselines/reference/contextuallyTypingOrOperator.types b/tests/baselines/reference/contextuallyTypingOrOperator.types index db43f05ee5b..1c143986b1b 100644 --- a/tests/baselines/reference/contextuallyTypingOrOperator.types +++ b/tests/baselines/reference/contextuallyTypingOrOperator.types @@ -53,7 +53,9 @@ var v2 = (s: string) => s.length || function (s) { s.length }; >function (s) { s.length } : (s: any) => void > : ^ ^^^^^^^^^^^^^^ >s : any +> : ^^^ >s.length : any +> : ^^^ >s : any > : ^^^ >length : any diff --git a/tests/baselines/reference/contextuallyTypingOrOperator2.errors.txt b/tests/baselines/reference/contextuallyTypingOrOperator2.errors.txt new file mode 100644 index 00000000000..e7af25339e5 --- /dev/null +++ b/tests/baselines/reference/contextuallyTypingOrOperator2.errors.txt @@ -0,0 +1,9 @@ +contextuallyTypingOrOperator2.ts(1,39): error TS2872: This kind of expression is always truthy. + + +==== contextuallyTypingOrOperator2.ts (1 errors) ==== + var v: { a: (_: string) => number } = { a: s => s.length } || { a: s => 1 }; + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + + var v2 = (s: string) => s.length || function (s) { s.aaa }; \ No newline at end of file diff --git a/tests/baselines/reference/contextuallyTypingOrOperator2.types b/tests/baselines/reference/contextuallyTypingOrOperator2.types index ba5cbcd9755..f0613664e64 100644 --- a/tests/baselines/reference/contextuallyTypingOrOperator2.types +++ b/tests/baselines/reference/contextuallyTypingOrOperator2.types @@ -53,7 +53,9 @@ var v2 = (s: string) => s.length || function (s) { s.aaa }; >function (s) { s.aaa } : (s: any) => void > : ^ ^^^^^^^^^^^^^^ >s : any +> : ^^^ >s.aaa : any +> : ^^^ >s : any > : ^^^ >aaa : any diff --git a/tests/baselines/reference/controlFlowForStatement.errors.txt b/tests/baselines/reference/controlFlowForStatement.errors.txt new file mode 100644 index 00000000000..b45976464a3 --- /dev/null +++ b/tests/baselines/reference/controlFlowForStatement.errors.txt @@ -0,0 +1,51 @@ +controlFlowForStatement.ts(29,14): error TS2873: This kind of expression is always falsy. +controlFlowForStatement.ts(29,50): error TS2873: This kind of expression is always falsy. + + +==== controlFlowForStatement.ts (2 errors) ==== + let cond: boolean; + function a() { + let x: string | number | boolean; + for (x = ""; cond; x = 5) { + x; // string | number + } + } + function b() { + let x: string | number | boolean; + for (x = 5; cond; x = x.length) { + x; // number + x = ""; + } + } + function c() { + let x: string | number | boolean; + for (x = 5; x = x.toExponential(); x = 5) { + x; // string + } + } + function d() { + let x: string | number | boolean; + for (x = ""; typeof x === "string"; x = 5) { + x; // string + } + } + function e() { + let x: string | number | boolean | RegExp; + for (x = "" || 0; typeof x !== "string"; x = "" || true) { + ~~ +!!! error TS2873: This kind of expression is always falsy. + ~~ +!!! error TS2873: This kind of expression is always falsy. + x; // number | boolean + } + } + function f() { + let x: string | number | boolean; + for (; typeof x !== "string";) { + x; // number | boolean + if (typeof x === "number") break; + x = undefined; + } + x; // string | number + } + \ No newline at end of file diff --git a/tests/baselines/reference/declFileTypeAnnotationParenType.errors.txt b/tests/baselines/reference/declFileTypeAnnotationParenType.errors.txt new file mode 100644 index 00000000000..662ed01ca88 --- /dev/null +++ b/tests/baselines/reference/declFileTypeAnnotationParenType.errors.txt @@ -0,0 +1,18 @@ +declFileTypeAnnotationParenType.ts(8,29): error TS2872: This kind of expression is always truthy. +declFileTypeAnnotationParenType.ts(9,9): error TS2872: This kind of expression is always truthy. + + +==== declFileTypeAnnotationParenType.ts (2 errors) ==== + class c { + private p: string; + } + + var x: (() => c)[] = [() => new c()]; + var y = [() => new c()]; + + var k: (() => c) | string = (() => new c()) || ""; + ~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var l = (() => new c()) || ""; + ~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitInferredTypeAlias1.errors.txt b/tests/baselines/reference/declarationEmitInferredTypeAlias1.errors.txt new file mode 100644 index 00000000000..5e772022364 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferredTypeAlias1.errors.txt @@ -0,0 +1,15 @@ +1.ts(1,9): error TS2872: This kind of expression is always truthy. + + +==== 0.ts (0 errors) ==== + { + type Data = string | boolean; + let obj: Data = true; + } + export { } + +==== 1.ts (1 errors) ==== + let v = "str" || true; + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + export { v } \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitInferredTypeAlias2.errors.txt b/tests/baselines/reference/declarationEmitInferredTypeAlias2.errors.txt new file mode 100644 index 00000000000..c35dd49cb85 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferredTypeAlias2.errors.txt @@ -0,0 +1,18 @@ +1.ts(1,9): error TS2872: This kind of expression is always truthy. + + +==== 0.ts (0 errors) ==== + { + type Data = string | boolean; + let obj: Data = true; + } + export { } + +==== 1.ts (1 errors) ==== + let v = "str" || true; + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + function bar () { + return v; + } + export { v, bar } \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitInferredTypeAlias3.errors.txt b/tests/baselines/reference/declarationEmitInferredTypeAlias3.errors.txt new file mode 100644 index 00000000000..435cfb255ae --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferredTypeAlias3.errors.txt @@ -0,0 +1,15 @@ +1.ts(1,9): error TS2872: This kind of expression is always truthy. + + +==== 0.ts (0 errors) ==== + { + type Data = string | boolean; + let obj: Data = true; + } + export { } + +==== 1.ts (1 errors) ==== + var x = "hi" || 5; + ~~~~ +!!! error TS2872: This kind of expression is always truthy. + export default x; \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitInferredTypeAlias5.errors.txt b/tests/baselines/reference/declarationEmitInferredTypeAlias5.errors.txt new file mode 100644 index 00000000000..bd19e41149f --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferredTypeAlias5.errors.txt @@ -0,0 +1,14 @@ +1.ts(3,9): error TS2872: This kind of expression is always truthy. + + +==== 0.ts (0 errors) ==== + export type Data = string | boolean; + let obj: Data = true; + +==== 1.ts (1 errors) ==== + import * as Z from "./0" + //let v2: Z.Data; + let v = "str" || true; + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + export { v } \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitInferredTypeAlias6.errors.txt b/tests/baselines/reference/declarationEmitInferredTypeAlias6.errors.txt new file mode 100644 index 00000000000..5e772022364 --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferredTypeAlias6.errors.txt @@ -0,0 +1,15 @@ +1.ts(1,9): error TS2872: This kind of expression is always truthy. + + +==== 0.ts (0 errors) ==== + { + type Data = string | boolean; + let obj: Data = true; + } + export { } + +==== 1.ts (1 errors) ==== + let v = "str" || true; + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + export { v } \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitInferredTypeAlias7.errors.txt b/tests/baselines/reference/declarationEmitInferredTypeAlias7.errors.txt new file mode 100644 index 00000000000..e0ea531e75e --- /dev/null +++ b/tests/baselines/reference/declarationEmitInferredTypeAlias7.errors.txt @@ -0,0 +1,12 @@ +1.ts(1,9): error TS2872: This kind of expression is always truthy. + + +==== 0.ts (0 errors) ==== + export type Data = string | boolean; + let obj: Data = true; + +==== 1.ts (1 errors) ==== + let v = "str" || true; + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + export { v } \ No newline at end of file diff --git a/tests/baselines/reference/destructuringAssignmentWithExportedName.errors.txt b/tests/baselines/reference/destructuringAssignmentWithExportedName.errors.txt new file mode 100644 index 00000000000..bda58012cb4 --- /dev/null +++ b/tests/baselines/reference/destructuringAssignmentWithExportedName.errors.txt @@ -0,0 +1,40 @@ +destructuringAssignmentWithExportedName.ts(8,5): error TS2873: This kind of expression is always falsy. +destructuringAssignmentWithExportedName.ts(11,10): error TS2873: This kind of expression is always falsy. +destructuringAssignmentWithExportedName.ts(14,10): error TS2873: This kind of expression is always falsy. +destructuringAssignmentWithExportedName.ts(17,10): error TS2873: This kind of expression is always falsy. + + +==== destructuringAssignmentWithExportedName.ts (4 errors) ==== + export let exportedFoo: any; + let nonexportedFoo: any; + + // sanity checks + exportedFoo = null; + nonexportedFoo = null; + + if (null as any) { + ~~~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + ({ exportedFoo, nonexportedFoo } = null as any); + } + else if (null as any) { + ~~~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + ({ foo: exportedFoo, bar: nonexportedFoo } = null as any); + } + else if (null as any) { + ~~~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + ({ foo: { bar: exportedFoo, baz: nonexportedFoo } } = null as any); + } + else if (null as any) { + ~~~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + ([exportedFoo, nonexportedFoo] = null as any); + } + else { + ([[exportedFoo, nonexportedFoo]] = null as any); + } + + export { nonexportedFoo }; + export { exportedFoo as foo, nonexportedFoo as nfoo }; \ No newline at end of file diff --git a/tests/baselines/reference/destructuringAssignmentWithExportedName.types b/tests/baselines/reference/destructuringAssignmentWithExportedName.types index ee27a172c79..a6f6c9f51b2 100644 --- a/tests/baselines/reference/destructuringAssignmentWithExportedName.types +++ b/tests/baselines/reference/destructuringAssignmentWithExportedName.types @@ -3,53 +3,74 @@ === destructuringAssignmentWithExportedName.ts === export let exportedFoo: any; >exportedFoo : any +> : ^^^ let nonexportedFoo: any; >nonexportedFoo : any +> : ^^^ // sanity checks exportedFoo = null; >exportedFoo = null : null > : ^^^^ >exportedFoo : any +> : ^^^ nonexportedFoo = null; >nonexportedFoo = null : null > : ^^^^ >nonexportedFoo : any +> : ^^^ if (null as any) { >null as any : any +> : ^^^ ({ exportedFoo, nonexportedFoo } = null as any); >({ exportedFoo, nonexportedFoo } = null as any) : any +> : ^^^ >{ exportedFoo, nonexportedFoo } = null as any : any +> : ^^^ >{ exportedFoo, nonexportedFoo } : { exportedFoo: any; nonexportedFoo: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >exportedFoo : any +> : ^^^ >nonexportedFoo : any +> : ^^^ >null as any : any +> : ^^^ } else if (null as any) { >null as any : any +> : ^^^ ({ foo: exportedFoo, bar: nonexportedFoo } = null as any); >({ foo: exportedFoo, bar: nonexportedFoo } = null as any) : any +> : ^^^ >{ foo: exportedFoo, bar: nonexportedFoo } = null as any : any +> : ^^^ >{ foo: exportedFoo, bar: nonexportedFoo } : { foo: any; bar: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >foo : any +> : ^^^ >exportedFoo : any +> : ^^^ >bar : any +> : ^^^ >nonexportedFoo : any +> : ^^^ >null as any : any +> : ^^^ } else if (null as any) { >null as any : any +> : ^^^ ({ foo: { bar: exportedFoo, baz: nonexportedFoo } } = null as any); >({ foo: { bar: exportedFoo, baz: nonexportedFoo } } = null as any) : any +> : ^^^ >{ foo: { bar: exportedFoo, baz: nonexportedFoo } } = null as any : any +> : ^^^ >{ foo: { bar: exportedFoo, baz: nonexportedFoo } } : { foo: { bar: any; baz: any; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >foo : { bar: any; baz: any; } @@ -57,34 +78,50 @@ else if (null as any) { >{ bar: exportedFoo, baz: nonexportedFoo } : { bar: any; baz: any; } > : ^^^^^^^^^^^^^^^^^^^^^^^ >bar : any +> : ^^^ >exportedFoo : any +> : ^^^ >baz : any +> : ^^^ >nonexportedFoo : any +> : ^^^ >null as any : any +> : ^^^ } else if (null as any) { >null as any : any +> : ^^^ ([exportedFoo, nonexportedFoo] = null as any); >([exportedFoo, nonexportedFoo] = null as any) : any +> : ^^^ >[exportedFoo, nonexportedFoo] = null as any : any +> : ^^^ >[exportedFoo, nonexportedFoo] : [any, any] > : ^^^^^^^^^^ >exportedFoo : any +> : ^^^ >nonexportedFoo : any +> : ^^^ >null as any : any +> : ^^^ } else { ([[exportedFoo, nonexportedFoo]] = null as any); >([[exportedFoo, nonexportedFoo]] = null as any) : any +> : ^^^ >[[exportedFoo, nonexportedFoo]] = null as any : any +> : ^^^ >[[exportedFoo, nonexportedFoo]] : [[any, any]] > : ^^^^^^^^^^^^ >[exportedFoo, nonexportedFoo] : [any, any] > : ^^^^^^^^^^ >exportedFoo : any +> : ^^^ >nonexportedFoo : any +> : ^^^ >null as any : any +> : ^^^ } export { nonexportedFoo }; diff --git a/tests/baselines/reference/destructuringParameterProperties1.errors.txt b/tests/baselines/reference/destructuringParameterProperties1.errors.txt index 8759452ef79..ab7a1f38d71 100644 --- a/tests/baselines/reference/destructuringParameterProperties1.errors.txt +++ b/tests/baselines/reference/destructuringParameterProperties1.errors.txt @@ -5,6 +5,7 @@ destructuringParameterProperties1.ts(22,26): error TS2339: Property 'x' does not destructuringParameterProperties1.ts(22,35): error TS2339: Property 'y' does not exist on type 'C1'. destructuringParameterProperties1.ts(22,43): error TS2339: Property 'y' does not exist on type 'C1'. destructuringParameterProperties1.ts(22,52): error TS2339: Property 'z' does not exist on type 'C1'. +destructuringParameterProperties1.ts(24,30): error TS2872: This kind of expression is always truthy. destructuringParameterProperties1.ts(25,30): error TS2339: Property 'x' does not exist on type 'C2'. destructuringParameterProperties1.ts(25,36): error TS2339: Property 'y' does not exist on type 'C2'. destructuringParameterProperties1.ts(25,42): error TS2339: Property 'z' does not exist on type 'C2'. @@ -13,7 +14,7 @@ destructuringParameterProperties1.ts(29,36): error TS2339: Property 'y' does not destructuringParameterProperties1.ts(29,42): error TS2339: Property 'z' does not exist on type 'C3'. -==== destructuringParameterProperties1.ts (13 errors) ==== +==== destructuringParameterProperties1.ts (14 errors) ==== class C1 { constructor(public [x, y, z]: string[]) { ~~~~~~~~~~~~~~~~~~~~~~~~~~ @@ -52,6 +53,8 @@ destructuringParameterProperties1.ts(29,42): error TS2339: Property 'z' does not !!! error TS2339: Property 'z' does not exist on type 'C1'. var c2 = new C2(["10", 10, !!10]); + ~~ +!!! error TS2872: This kind of expression is always truthy. var [c2_x, c2_y, c2_z] = [c2.x, c2.y, c2.z]; ~ !!! error TS2339: Property 'x' does not exist on type 'C2'. diff --git a/tests/baselines/reference/exponentiationOperatorSyntaxError2.errors.txt b/tests/baselines/reference/exponentiationOperatorSyntaxError2.errors.txt index bb16988a82e..2f336cc9eae 100644 --- a/tests/baselines/reference/exponentiationOperatorSyntaxError2.errors.txt +++ b/tests/baselines/reference/exponentiationOperatorSyntaxError2.errors.txt @@ -78,6 +78,7 @@ exponentiationOperatorSyntaxError2.ts(52,1): error TS2362: The left-hand side of exponentiationOperatorSyntaxError2.ts(52,1): error TS17006: An unary expression with the '!' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses. exponentiationOperatorSyntaxError2.ts(53,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. exponentiationOperatorSyntaxError2.ts(53,1): error TS17006: An unary expression with the '!' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses. +exponentiationOperatorSyntaxError2.ts(53,2): error TS2872: This kind of expression is always truthy. exponentiationOperatorSyntaxError2.ts(54,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. exponentiationOperatorSyntaxError2.ts(54,1): error TS17006: An unary expression with the '!' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses. exponentiationOperatorSyntaxError2.ts(55,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. @@ -88,6 +89,7 @@ exponentiationOperatorSyntaxError2.ts(58,6): error TS2362: The left-hand side of exponentiationOperatorSyntaxError2.ts(58,6): error TS17006: An unary expression with the '!' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses. exponentiationOperatorSyntaxError2.ts(59,6): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. exponentiationOperatorSyntaxError2.ts(59,6): error TS17006: An unary expression with the '!' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses. +exponentiationOperatorSyntaxError2.ts(59,7): error TS2872: This kind of expression is always truthy. exponentiationOperatorSyntaxError2.ts(60,6): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. exponentiationOperatorSyntaxError2.ts(60,6): error TS17006: An unary expression with the '!' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses. exponentiationOperatorSyntaxError2.ts(61,6): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. @@ -99,7 +101,7 @@ exponentiationOperatorSyntaxError2.ts(66,1): error TS17007: A type assertion exp exponentiationOperatorSyntaxError2.ts(67,1): error TS17007: A type assertion expression is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses. -==== exponentiationOperatorSyntaxError2.ts (99 errors) ==== +==== exponentiationOperatorSyntaxError2.ts (101 errors) ==== // Error: early syntax error using ES7 SimpleUnaryExpression on left-hand side without () var temp: any; @@ -313,6 +315,8 @@ exponentiationOperatorSyntaxError2.ts(67,1): error TS17007: A type assertion exp !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. ~~ !!! error TS17006: An unary expression with the '!' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses. + ~ +!!! error TS2872: This kind of expression is always truthy. !temp++ ** 4; ~~~~~~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. @@ -339,6 +343,8 @@ exponentiationOperatorSyntaxError2.ts(67,1): error TS17007: A type assertion exp !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. ~~ !!! error TS17006: An unary expression with the '!' operator is not allowed in the left-hand side of an exponentiation expression. Consider enclosing the expression in parentheses. + ~ +!!! error TS2872: This kind of expression is always truthy. 1 ** !temp++ ** 4; ~~~~~~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. diff --git a/tests/baselines/reference/exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.errors.txt b/tests/baselines/reference/exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.errors.txt index 7c808f5e13e..54c143bc49a 100644 --- a/tests/baselines/reference/exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.errors.txt +++ b/tests/baselines/reference/exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.errors.txt @@ -1,11 +1,13 @@ exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(4,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(5,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(6,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. +exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(6,3): error TS2872: This kind of expression is always truthy. exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(7,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(8,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(10,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(11,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(12,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. +exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(12,3): error TS2872: This kind of expression is always truthy. exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(13,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(14,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(16,1): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. @@ -36,7 +38,7 @@ exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(36,6): error T exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(36,14): error TS2703: The operand of a 'delete' operator must be a property reference. -==== exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts (36 errors) ==== +==== exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts (38 errors) ==== var temp: any; // Error: incorrect type on left-hand side @@ -49,6 +51,8 @@ exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(36,14): error (!3) ** 4; ~~~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. + ~ +!!! error TS2872: This kind of expression is always truthy. (!temp++) ** 4; ~~~~~~~~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. @@ -65,6 +69,8 @@ exponentiationOperatorWithInvalidSimpleUnaryExpressionOperands.ts(36,14): error (!3) ** 4 ** 1; ~~~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. + ~ +!!! error TS2872: This kind of expression is always truthy. (!temp++) ** 4 ** 1; ~~~~~~~~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. diff --git a/tests/baselines/reference/fatarrowfunctionsOptionalArgs.errors.txt b/tests/baselines/reference/fatarrowfunctionsOptionalArgs.errors.txt index 77a6681ce4c..971f0fedcce 100644 --- a/tests/baselines/reference/fatarrowfunctionsOptionalArgs.errors.txt +++ b/tests/baselines/reference/fatarrowfunctionsOptionalArgs.errors.txt @@ -1,8 +1,9 @@ +fatarrowfunctionsOptionalArgs.ts(85,1): error TS2872: This kind of expression is always truthy. fatarrowfunctionsOptionalArgs.ts(88,23): error TS1005: ';' expected. fatarrowfunctionsOptionalArgs.ts(88,38): error TS1005: ';' expected. -==== fatarrowfunctionsOptionalArgs.ts (2 errors) ==== +==== fatarrowfunctionsOptionalArgs.ts (3 errors) ==== // valid // no params @@ -88,6 +89,8 @@ fatarrowfunctionsOptionalArgs.ts(88,38): error TS1005: ';' expected. // nested ternary expressions ((a?) => { return a; }) ? (b? ) => { return b; } : (c? ) => { return c; }; + ~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. //multiple levels (a?) => { return a; } ? (b)=>(c)=>81 : (c)=>(d)=>82; diff --git a/tests/baselines/reference/for-inStatements.errors.txt b/tests/baselines/reference/for-inStatements.errors.txt index 14170a06bfb..530e47fd2f8 100644 --- a/tests/baselines/reference/for-inStatements.errors.txt +++ b/tests/baselines/reference/for-inStatements.errors.txt @@ -1,9 +1,12 @@ +for-inStatements.ts(21,15): error TS2872: This kind of expression is always truthy. +for-inStatements.ts(22,15): error TS2873: This kind of expression is always falsy. +for-inStatements.ts(23,15): error TS2872: This kind of expression is always truthy. for-inStatements.ts(33,18): error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'string', but here has type 'Extract'. for-inStatements.ts(50,18): error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'string', but here has type 'Extract'. for-inStatements.ts(79,15): error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type 'Color.Blue'. -==== for-inStatements.ts (3 errors) ==== +==== for-inStatements.ts (6 errors) ==== var aString: string; for (aString in {}) { } @@ -25,8 +28,14 @@ for-inStatements.ts(79,15): error TS2407: The right-hand side of a 'for...in' st for (var x in c || d) { } for (var x in e ? c : d) { } for (var x in 42 ? c : d) { } + ~~ +!!! error TS2872: This kind of expression is always truthy. for (var x in '' ? c : d) { } + ~~ +!!! error TS2873: This kind of expression is always falsy. for (var x in 42 ? d[x] : c[x]) { } + ~~ +!!! error TS2872: This kind of expression is always truthy. for (var x in c[d]) { } for (var x in ((x: T) => x)) { } diff --git a/tests/baselines/reference/for-inStatementsInvalid.errors.txt b/tests/baselines/reference/for-inStatementsInvalid.errors.txt index 0b68ca0966a..2ff7d194439 100644 --- a/tests/baselines/reference/for-inStatementsInvalid.errors.txt +++ b/tests/baselines/reference/for-inStatementsInvalid.errors.txt @@ -5,8 +5,11 @@ for-inStatementsInvalid.ts(10,10): error TS2404: The left-hand side of a 'for... for-inStatementsInvalid.ts(13,15): error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type 'void'. for-inStatementsInvalid.ts(17,15): error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type 'string'. for-inStatementsInvalid.ts(18,15): error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type 'string'. +for-inStatementsInvalid.ts(19,15): error TS2872: This kind of expression is always truthy. for-inStatementsInvalid.ts(19,15): error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type 'string'. +for-inStatementsInvalid.ts(20,15): error TS2873: This kind of expression is always falsy. for-inStatementsInvalid.ts(20,15): error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type 'string'. +for-inStatementsInvalid.ts(21,15): error TS2872: This kind of expression is always truthy. for-inStatementsInvalid.ts(22,15): error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type 'string'. for-inStatementsInvalid.ts(29,23): error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type 'number'. for-inStatementsInvalid.ts(31,18): error TS2403: Subsequent variable declarations must have the same type. Variable 'x' must be of type 'string', but here has type 'Extract'. @@ -17,7 +20,7 @@ for-inStatementsInvalid.ts(51,23): error TS2407: The right-hand side of a 'for.. for-inStatementsInvalid.ts(62,15): error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type 'number'. -==== for-inStatementsInvalid.ts (17 errors) ==== +==== for-inStatementsInvalid.ts (20 errors) ==== var aNumber: number; for (aNumber in {}) { } ~~~~~~~ @@ -51,12 +54,18 @@ for-inStatementsInvalid.ts(62,15): error TS2407: The right-hand side of a 'for.. ~~~~~~~~~ !!! error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type 'string'. for (var x in 42 ? c : d) { } + ~~ +!!! error TS2872: This kind of expression is always truthy. ~~~~~~~~~~ !!! error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type 'string'. for (var x in '' ? c : d) { } + ~~ +!!! error TS2873: This kind of expression is always falsy. ~~~~~~~~~~ !!! error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type 'string'. for (var x in 42 ? d[x] : c[x]) { } + ~~ +!!! error TS2872: This kind of expression is always truthy. for (var x in c[23]) { } ~~~~~ !!! error TS2407: The right-hand side of a 'for...in' statement must be of type 'any', an object type or a type parameter, but here has type 'string'. diff --git a/tests/baselines/reference/generatedContextualTyping.errors.txt b/tests/baselines/reference/generatedContextualTyping.errors.txt new file mode 100644 index 00000000000..a33af3a8946 --- /dev/null +++ b/tests/baselines/reference/generatedContextualTyping.errors.txt @@ -0,0 +1,453 @@ +generatedContextualTyping.ts(219,12): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(220,12): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(221,12): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(222,12): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(223,12): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(224,12): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(225,12): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(226,12): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(259,26): error TS2872: This kind of expression is always truthy. +generatedContextualTyping.ts(260,35): error TS2872: This kind of expression is always truthy. +generatedContextualTyping.ts(261,29): error TS2872: This kind of expression is always truthy. +generatedContextualTyping.ts(262,38): error TS2872: This kind of expression is always truthy. +generatedContextualTyping.ts(263,20): error TS2872: This kind of expression is always truthy. +generatedContextualTyping.ts(264,25): error TS2872: This kind of expression is always truthy. +generatedContextualTyping.ts(265,36): error TS2872: This kind of expression is always truthy. +generatedContextualTyping.ts(266,28): error TS2872: This kind of expression is always truthy. +generatedContextualTyping.ts(267,26): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(268,26): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(269,29): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(270,29): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(271,20): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(272,25): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(273,36): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(274,28): error TS2873: This kind of expression is always falsy. +generatedContextualTyping.ts(275,26): error TS2872: This kind of expression is always truthy. +generatedContextualTyping.ts(276,35): error TS2872: This kind of expression is always truthy. +generatedContextualTyping.ts(277,29): error TS2872: This kind of expression is always truthy. +generatedContextualTyping.ts(278,38): error TS2872: This kind of expression is always truthy. +generatedContextualTyping.ts(279,20): error TS2872: This kind of expression is always truthy. +generatedContextualTyping.ts(280,25): error TS2872: This kind of expression is always truthy. +generatedContextualTyping.ts(281,36): error TS2872: This kind of expression is always truthy. +generatedContextualTyping.ts(282,28): error TS2872: This kind of expression is always truthy. + + +==== generatedContextualTyping.ts (32 errors) ==== + class Base { private p; } + class Derived1 extends Base { private m; } + class Derived2 extends Base { private n; } + interface Genric { func(n: T[]); } + var b = new Base(), d1 = new Derived1(), d2 = new Derived2(); + var x1: () => Base[] = () => [d1, d2]; + var x2: () => Base[] = function() { return [d1, d2] }; + var x3: () => Base[] = function named() { return [d1, d2] }; + var x4: { (): Base[]; } = () => [d1, d2]; + var x5: { (): Base[]; } = function() { return [d1, d2] }; + var x6: { (): Base[]; } = function named() { return [d1, d2] }; + var x7: Base[] = [d1, d2]; + var x8: Array = [d1, d2]; + var x9: { [n: number]: Base; } = [d1, d2]; + var x10: {n: Base[]; } = { n: [d1, d2] }; + var x11: (s: Base[]) => any = n => { var n: Base[]; return null; }; + var x12: Genric = { func: n => { return [d1, d2]; } }; + class x13 { member: () => Base[] = () => [d1, d2] } + class x14 { member: () => Base[] = function() { return [d1, d2] } } + class x15 { member: () => Base[] = function named() { return [d1, d2] } } + class x16 { member: { (): Base[]; } = () => [d1, d2] } + class x17 { member: { (): Base[]; } = function() { return [d1, d2] } } + class x18 { member: { (): Base[]; } = function named() { return [d1, d2] } } + class x19 { member: Base[] = [d1, d2] } + class x20 { member: Array = [d1, d2] } + class x21 { member: { [n: number]: Base; } = [d1, d2] } + class x22 { member: {n: Base[]; } = { n: [d1, d2] } } + class x23 { member: (s: Base[]) => any = n => { var n: Base[]; return null; } } + class x24 { member: Genric = { func: n => { return [d1, d2]; } } } + class x25 { private member: () => Base[] = () => [d1, d2] } + class x26 { private member: () => Base[] = function() { return [d1, d2] } } + class x27 { private member: () => Base[] = function named() { return [d1, d2] } } + class x28 { private member: { (): Base[]; } = () => [d1, d2] } + class x29 { private member: { (): Base[]; } = function() { return [d1, d2] } } + class x30 { private member: { (): Base[]; } = function named() { return [d1, d2] } } + class x31 { private member: Base[] = [d1, d2] } + class x32 { private member: Array = [d1, d2] } + class x33 { private member: { [n: number]: Base; } = [d1, d2] } + class x34 { private member: {n: Base[]; } = { n: [d1, d2] } } + class x35 { private member: (s: Base[]) => any = n => { var n: Base[]; return null; } } + class x36 { private member: Genric = { func: n => { return [d1, d2]; } } } + class x37 { public member: () => Base[] = () => [d1, d2] } + class x38 { public member: () => Base[] = function() { return [d1, d2] } } + class x39 { public member: () => Base[] = function named() { return [d1, d2] } } + class x40 { public member: { (): Base[]; } = () => [d1, d2] } + class x41 { public member: { (): Base[]; } = function() { return [d1, d2] } } + class x42 { public member: { (): Base[]; } = function named() { return [d1, d2] } } + class x43 { public member: Base[] = [d1, d2] } + class x44 { public member: Array = [d1, d2] } + class x45 { public member: { [n: number]: Base; } = [d1, d2] } + class x46 { public member: {n: Base[]; } = { n: [d1, d2] } } + class x47 { public member: (s: Base[]) => any = n => { var n: Base[]; return null; } } + class x48 { public member: Genric = { func: n => { return [d1, d2]; } } } + class x49 { static member: () => Base[] = () => [d1, d2] } + class x50 { static member: () => Base[] = function() { return [d1, d2] } } + class x51 { static member: () => Base[] = function named() { return [d1, d2] } } + class x52 { static member: { (): Base[]; } = () => [d1, d2] } + class x53 { static member: { (): Base[]; } = function() { return [d1, d2] } } + class x54 { static member: { (): Base[]; } = function named() { return [d1, d2] } } + class x55 { static member: Base[] = [d1, d2] } + class x56 { static member: Array = [d1, d2] } + class x57 { static member: { [n: number]: Base; } = [d1, d2] } + class x58 { static member: {n: Base[]; } = { n: [d1, d2] } } + class x59 { static member: (s: Base[]) => any = n => { var n: Base[]; return null; } } + class x60 { static member: Genric = { func: n => { return [d1, d2]; } } } + class x61 { private static member: () => Base[] = () => [d1, d2] } + class x62 { private static member: () => Base[] = function() { return [d1, d2] } } + class x63 { private static member: () => Base[] = function named() { return [d1, d2] } } + class x64 { private static member: { (): Base[]; } = () => [d1, d2] } + class x65 { private static member: { (): Base[]; } = function() { return [d1, d2] } } + class x66 { private static member: { (): Base[]; } = function named() { return [d1, d2] } } + class x67 { private static member: Base[] = [d1, d2] } + class x68 { private static member: Array = [d1, d2] } + class x69 { private static member: { [n: number]: Base; } = [d1, d2] } + class x70 { private static member: {n: Base[]; } = { n: [d1, d2] } } + class x71 { private static member: (s: Base[]) => any = n => { var n: Base[]; return null; } } + class x72 { private static member: Genric = { func: n => { return [d1, d2]; } } } + class x73 { public static member: () => Base[] = () => [d1, d2] } + class x74 { public static member: () => Base[] = function() { return [d1, d2] } } + class x75 { public static member: () => Base[] = function named() { return [d1, d2] } } + class x76 { public static member: { (): Base[]; } = () => [d1, d2] } + class x77 { public static member: { (): Base[]; } = function() { return [d1, d2] } } + class x78 { public static member: { (): Base[]; } = function named() { return [d1, d2] } } + class x79 { public static member: Base[] = [d1, d2] } + class x80 { public static member: Array = [d1, d2] } + class x81 { public static member: { [n: number]: Base; } = [d1, d2] } + class x82 { public static member: {n: Base[]; } = { n: [d1, d2] } } + class x83 { public static member: (s: Base[]) => any = n => { var n: Base[]; return null; } } + class x84 { public static member: Genric = { func: n => { return [d1, d2]; } } } + class x85 { constructor(parm: () => Base[] = () => [d1, d2]) { } } + class x86 { constructor(parm: () => Base[] = function() { return [d1, d2] }) { } } + class x87 { constructor(parm: () => Base[] = function named() { return [d1, d2] }) { } } + class x88 { constructor(parm: { (): Base[]; } = () => [d1, d2]) { } } + class x89 { constructor(parm: { (): Base[]; } = function() { return [d1, d2] }) { } } + class x90 { constructor(parm: { (): Base[]; } = function named() { return [d1, d2] }) { } } + class x91 { constructor(parm: Base[] = [d1, d2]) { } } + class x92 { constructor(parm: Array = [d1, d2]) { } } + class x93 { constructor(parm: { [n: number]: Base; } = [d1, d2]) { } } + class x94 { constructor(parm: {n: Base[]; } = { n: [d1, d2] }) { } } + class x95 { constructor(parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } } + class x96 { constructor(parm: Genric = { func: n => { return [d1, d2]; } }) { } } + class x97 { constructor(public parm: () => Base[] = () => [d1, d2]) { } } + class x98 { constructor(public parm: () => Base[] = function() { return [d1, d2] }) { } } + class x99 { constructor(public parm: () => Base[] = function named() { return [d1, d2] }) { } } + class x100 { constructor(public parm: { (): Base[]; } = () => [d1, d2]) { } } + class x101 { constructor(public parm: { (): Base[]; } = function() { return [d1, d2] }) { } } + class x102 { constructor(public parm: { (): Base[]; } = function named() { return [d1, d2] }) { } } + class x103 { constructor(public parm: Base[] = [d1, d2]) { } } + class x104 { constructor(public parm: Array = [d1, d2]) { } } + class x105 { constructor(public parm: { [n: number]: Base; } = [d1, d2]) { } } + class x106 { constructor(public parm: {n: Base[]; } = { n: [d1, d2] }) { } } + class x107 { constructor(public parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } } + class x108 { constructor(public parm: Genric = { func: n => { return [d1, d2]; } }) { } } + class x109 { constructor(private parm: () => Base[] = () => [d1, d2]) { } } + class x110 { constructor(private parm: () => Base[] = function() { return [d1, d2] }) { } } + class x111 { constructor(private parm: () => Base[] = function named() { return [d1, d2] }) { } } + class x112 { constructor(private parm: { (): Base[]; } = () => [d1, d2]) { } } + class x113 { constructor(private parm: { (): Base[]; } = function() { return [d1, d2] }) { } } + class x114 { constructor(private parm: { (): Base[]; } = function named() { return [d1, d2] }) { } } + class x115 { constructor(private parm: Base[] = [d1, d2]) { } } + class x116 { constructor(private parm: Array = [d1, d2]) { } } + class x117 { constructor(private parm: { [n: number]: Base; } = [d1, d2]) { } } + class x118 { constructor(private parm: {n: Base[]; } = { n: [d1, d2] }) { } } + class x119 { constructor(private parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } } + class x120 { constructor(private parm: Genric = { func: n => { return [d1, d2]; } }) { } } + function x121(parm: () => Base[] = () => [d1, d2]) { } + function x122(parm: () => Base[] = function() { return [d1, d2] }) { } + function x123(parm: () => Base[] = function named() { return [d1, d2] }) { } + function x124(parm: { (): Base[]; } = () => [d1, d2]) { } + function x125(parm: { (): Base[]; } = function() { return [d1, d2] }) { } + function x126(parm: { (): Base[]; } = function named() { return [d1, d2] }) { } + function x127(parm: Base[] = [d1, d2]) { } + function x128(parm: Array = [d1, d2]) { } + function x129(parm: { [n: number]: Base; } = [d1, d2]) { } + function x130(parm: {n: Base[]; } = { n: [d1, d2] }) { } + function x131(parm: (s: Base[]) => any = n => { var n: Base[]; return null; }) { } + function x132(parm: Genric = { func: n => { return [d1, d2]; } }) { } + function x133(): () => Base[] { return () => [d1, d2]; } + function x134(): () => Base[] { return function() { return [d1, d2] }; } + function x135(): () => Base[] { return function named() { return [d1, d2] }; } + function x136(): { (): Base[]; } { return () => [d1, d2]; } + function x137(): { (): Base[]; } { return function() { return [d1, d2] }; } + function x138(): { (): Base[]; } { return function named() { return [d1, d2] }; } + function x139(): Base[] { return [d1, d2]; } + function x140(): Array { return [d1, d2]; } + function x141(): { [n: number]: Base; } { return [d1, d2]; } + function x142(): {n: Base[]; } { return { n: [d1, d2] }; } + function x143(): (s: Base[]) => any { return n => { var n: Base[]; return null; }; } + function x144(): Genric { return { func: n => { return [d1, d2]; } }; } + function x145(): () => Base[] { return () => [d1, d2]; return () => [d1, d2]; } + function x146(): () => Base[] { return function() { return [d1, d2] }; return function() { return [d1, d2] }; } + function x147(): () => Base[] { return function named() { return [d1, d2] }; return function named() { return [d1, d2] }; } + function x148(): { (): Base[]; } { return () => [d1, d2]; return () => [d1, d2]; } + function x149(): { (): Base[]; } { return function() { return [d1, d2] }; return function() { return [d1, d2] }; } + function x150(): { (): Base[]; } { return function named() { return [d1, d2] }; return function named() { return [d1, d2] }; } + function x151(): Base[] { return [d1, d2]; return [d1, d2]; } + function x152(): Array { return [d1, d2]; return [d1, d2]; } + function x153(): { [n: number]: Base; } { return [d1, d2]; return [d1, d2]; } + function x154(): {n: Base[]; } { return { n: [d1, d2] }; return { n: [d1, d2] }; } + function x155(): (s: Base[]) => any { return n => { var n: Base[]; return null; }; return n => { var n: Base[]; return null; }; } + function x156(): Genric { return { func: n => { return [d1, d2]; } }; return { func: n => { return [d1, d2]; } }; } + var x157: () => () => Base[] = () => { return () => [d1, d2]; }; + var x158: () => () => Base[] = () => { return function() { return [d1, d2] }; }; + var x159: () => () => Base[] = () => { return function named() { return [d1, d2] }; }; + var x160: () => { (): Base[]; } = () => { return () => [d1, d2]; }; + var x161: () => { (): Base[]; } = () => { return function() { return [d1, d2] }; }; + var x162: () => { (): Base[]; } = () => { return function named() { return [d1, d2] }; }; + var x163: () => Base[] = () => { return [d1, d2]; }; + var x164: () => Array = () => { return [d1, d2]; }; + var x165: () => { [n: number]: Base; } = () => { return [d1, d2]; }; + var x166: () => {n: Base[]; } = () => { return { n: [d1, d2] }; }; + var x167: () => (s: Base[]) => any = () => { return n => { var n: Base[]; return null; }; }; + var x168: () => Genric = () => { return { func: n => { return [d1, d2]; } }; }; + var x169: () => () => Base[] = function() { return () => [d1, d2]; }; + var x170: () => () => Base[] = function() { return function() { return [d1, d2] }; }; + var x171: () => () => Base[] = function() { return function named() { return [d1, d2] }; }; + var x172: () => { (): Base[]; } = function() { return () => [d1, d2]; }; + var x173: () => { (): Base[]; } = function() { return function() { return [d1, d2] }; }; + var x174: () => { (): Base[]; } = function() { return function named() { return [d1, d2] }; }; + var x175: () => Base[] = function() { return [d1, d2]; }; + var x176: () => Array = function() { return [d1, d2]; }; + var x177: () => { [n: number]: Base; } = function() { return [d1, d2]; }; + var x178: () => {n: Base[]; } = function() { return { n: [d1, d2] }; }; + var x179: () => (s: Base[]) => any = function() { return n => { var n: Base[]; return null; }; }; + var x180: () => Genric = function() { return { func: n => { return [d1, d2]; } }; }; + module x181 { var t: () => Base[] = () => [d1, d2]; } + module x182 { var t: () => Base[] = function() { return [d1, d2] }; } + module x183 { var t: () => Base[] = function named() { return [d1, d2] }; } + module x184 { var t: { (): Base[]; } = () => [d1, d2]; } + module x185 { var t: { (): Base[]; } = function() { return [d1, d2] }; } + module x186 { var t: { (): Base[]; } = function named() { return [d1, d2] }; } + module x187 { var t: Base[] = [d1, d2]; } + module x188 { var t: Array = [d1, d2]; } + module x189 { var t: { [n: number]: Base; } = [d1, d2]; } + module x190 { var t: {n: Base[]; } = { n: [d1, d2] }; } + module x191 { var t: (s: Base[]) => any = n => { var n: Base[]; return null; }; } + module x192 { var t: Genric = { func: n => { return [d1, d2]; } }; } + module x193 { export var t: () => Base[] = () => [d1, d2]; } + module x194 { export var t: () => Base[] = function() { return [d1, d2] }; } + module x195 { export var t: () => Base[] = function named() { return [d1, d2] }; } + module x196 { export var t: { (): Base[]; } = () => [d1, d2]; } + module x197 { export var t: { (): Base[]; } = function() { return [d1, d2] }; } + module x198 { export var t: { (): Base[]; } = function named() { return [d1, d2] }; } + module x199 { export var t: Base[] = [d1, d2]; } + module x200 { export var t: Array = [d1, d2]; } + module x201 { export var t: { [n: number]: Base; } = [d1, d2]; } + module x202 { export var t: {n: Base[]; } = { n: [d1, d2] }; } + module x203 { export var t: (s: Base[]) => any = n => { var n: Base[]; return null; }; } + module x204 { export var t: Genric = { func: n => { return [d1, d2]; } }; } + var x206 = <() => Base[]>function() { return [d1, d2] }; + var x207 = <() => Base[]>function named() { return [d1, d2] }; + var x209 = <{ (): Base[]; }>function() { return [d1, d2] }; + var x210 = <{ (): Base[]; }>function named() { return [d1, d2] }; + var x211 = [d1, d2]; + var x212 = >[d1, d2]; + var x213 = <{ [n: number]: Base; }>[d1, d2]; + var x214 = <{n: Base[]; } >{ n: [d1, d2] }; + var x216 = >{ func: n => { return [d1, d2]; } }; + var x217 = (<() => Base[]>undefined) || function() { return [d1, d2] }; + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x218 = (<() => Base[]>undefined) || function named() { return [d1, d2] }; + ~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x219 = (<{ (): Base[]; }>undefined) || function() { return [d1, d2] }; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x220 = (<{ (): Base[]; }>undefined) || function named() { return [d1, d2] }; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x221 = (undefined) || [d1, d2]; + ~~~~~~~~~~~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x222 = (>undefined) || [d1, d2]; + ~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x223 = (<{ [n: number]: Base; }>undefined) || [d1, d2]; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x224 = (<{n: Base[]; } >undefined) || { n: [d1, d2] }; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x225: () => Base[]; x225 = () => [d1, d2]; + var x226: () => Base[]; x226 = function() { return [d1, d2] }; + var x227: () => Base[]; x227 = function named() { return [d1, d2] }; + var x228: { (): Base[]; }; x228 = () => [d1, d2]; + var x229: { (): Base[]; }; x229 = function() { return [d1, d2] }; + var x230: { (): Base[]; }; x230 = function named() { return [d1, d2] }; + var x231: Base[]; x231 = [d1, d2]; + var x232: Array; x232 = [d1, d2]; + var x233: { [n: number]: Base; }; x233 = [d1, d2]; + var x234: {n: Base[]; } ; x234 = { n: [d1, d2] }; + var x235: (s: Base[]) => any; x235 = n => { var n: Base[]; return null; }; + var x236: Genric; x236 = { func: n => { return [d1, d2]; } }; + var x237: { n: () => Base[]; } = { n: () => [d1, d2] }; + var x238: { n: () => Base[]; } = { n: function() { return [d1, d2] } }; + var x239: { n: () => Base[]; } = { n: function named() { return [d1, d2] } }; + var x240: { n: { (): Base[]; }; } = { n: () => [d1, d2] }; + var x241: { n: { (): Base[]; }; } = { n: function() { return [d1, d2] } }; + var x242: { n: { (): Base[]; }; } = { n: function named() { return [d1, d2] } }; + var x243: { n: Base[]; } = { n: [d1, d2] }; + var x244: { n: Array; } = { n: [d1, d2] }; + var x245: { n: { [n: number]: Base; }; } = { n: [d1, d2] }; + var x246: { n: {n: Base[]; } ; } = { n: { n: [d1, d2] } }; + var x247: { n: (s: Base[]) => any; } = { n: n => { var n: Base[]; return null; } }; + var x248: { n: Genric; } = { n: { func: n => { return [d1, d2]; } } }; + var x252: { (): Base[]; }[] = [() => [d1, d2]]; + var x253: { (): Base[]; }[] = [function() { return [d1, d2] }]; + var x254: { (): Base[]; }[] = [function named() { return [d1, d2] }]; + var x255: Base[][] = [[d1, d2]]; + var x256: Array[] = [[d1, d2]]; + var x257: { [n: number]: Base; }[] = [[d1, d2]]; + var x258: {n: Base[]; } [] = [{ n: [d1, d2] }]; + var x260: Genric[] = [{ func: n => { return [d1, d2]; } }]; + var x261: () => Base[] = function() { return [d1, d2] } || undefined; + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x262: () => Base[] = function named() { return [d1, d2] } || undefined; + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x263: { (): Base[]; } = function() { return [d1, d2] } || undefined; + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x264: { (): Base[]; } = function named() { return [d1, d2] } || undefined; + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x265: Base[] = [d1, d2] || undefined; + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x266: Array = [d1, d2] || undefined; + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x267: { [n: number]: Base; } = [d1, d2] || undefined; + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x268: {n: Base[]; } = { n: [d1, d2] } || undefined; + ~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x269: () => Base[] = undefined || function() { return [d1, d2] }; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x270: () => Base[] = undefined || function named() { return [d1, d2] }; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x271: { (): Base[]; } = undefined || function() { return [d1, d2] }; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x272: { (): Base[]; } = undefined || function named() { return [d1, d2] }; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x273: Base[] = undefined || [d1, d2]; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x274: Array = undefined || [d1, d2]; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x275: { [n: number]: Base; } = undefined || [d1, d2]; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x276: {n: Base[]; } = undefined || { n: [d1, d2] }; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var x277: () => Base[] = function() { return [d1, d2] } || function() { return [d1, d2] }; + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x278: () => Base[] = function named() { return [d1, d2] } || function named() { return [d1, d2] }; + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x279: { (): Base[]; } = function() { return [d1, d2] } || function() { return [d1, d2] }; + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x280: { (): Base[]; } = function named() { return [d1, d2] } || function named() { return [d1, d2] }; + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x281: Base[] = [d1, d2] || [d1, d2]; + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x282: Array = [d1, d2] || [d1, d2]; + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x283: { [n: number]: Base; } = [d1, d2] || [d1, d2]; + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x284: {n: Base[]; } = { n: [d1, d2] } || { n: [d1, d2] }; + ~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + var x285: () => Base[] = true ? () => [d1, d2] : () => [d1, d2]; + var x286: () => Base[] = true ? function() { return [d1, d2] } : function() { return [d1, d2] }; + var x287: () => Base[] = true ? function named() { return [d1, d2] } : function named() { return [d1, d2] }; + var x288: { (): Base[]; } = true ? () => [d1, d2] : () => [d1, d2]; + var x289: { (): Base[]; } = true ? function() { return [d1, d2] } : function() { return [d1, d2] }; + var x290: { (): Base[]; } = true ? function named() { return [d1, d2] } : function named() { return [d1, d2] }; + var x291: Base[] = true ? [d1, d2] : [d1, d2]; + var x292: Array = true ? [d1, d2] : [d1, d2]; + var x293: { [n: number]: Base; } = true ? [d1, d2] : [d1, d2]; + var x294: {n: Base[]; } = true ? { n: [d1, d2] } : { n: [d1, d2] }; + var x295: (s: Base[]) => any = true ? n => { var n: Base[]; return null; } : n => { var n: Base[]; return null; }; + var x296: Genric = true ? { func: n => { return [d1, d2]; } } : { func: n => { return [d1, d2]; } }; + var x297: () => Base[] = true ? undefined : () => [d1, d2]; + var x298: () => Base[] = true ? undefined : function() { return [d1, d2] }; + var x299: () => Base[] = true ? undefined : function named() { return [d1, d2] }; + var x300: { (): Base[]; } = true ? undefined : () => [d1, d2]; + var x301: { (): Base[]; } = true ? undefined : function() { return [d1, d2] }; + var x302: { (): Base[]; } = true ? undefined : function named() { return [d1, d2] }; + var x303: Base[] = true ? undefined : [d1, d2]; + var x304: Array = true ? undefined : [d1, d2]; + var x305: { [n: number]: Base; } = true ? undefined : [d1, d2]; + var x306: {n: Base[]; } = true ? undefined : { n: [d1, d2] }; + var x307: (s: Base[]) => any = true ? undefined : n => { var n: Base[]; return null; }; + var x308: Genric = true ? undefined : { func: n => { return [d1, d2]; } }; + var x309: () => Base[] = true ? () => [d1, d2] : undefined; + var x310: () => Base[] = true ? function() { return [d1, d2] } : undefined; + var x311: () => Base[] = true ? function named() { return [d1, d2] } : undefined; + var x312: { (): Base[]; } = true ? () => [d1, d2] : undefined; + var x313: { (): Base[]; } = true ? function() { return [d1, d2] } : undefined; + var x314: { (): Base[]; } = true ? function named() { return [d1, d2] } : undefined; + var x315: Base[] = true ? [d1, d2] : undefined; + var x316: Array = true ? [d1, d2] : undefined; + var x317: { [n: number]: Base; } = true ? [d1, d2] : undefined; + var x318: {n: Base[]; } = true ? { n: [d1, d2] } : undefined; + var x319: (s: Base[]) => any = true ? n => { var n: Base[]; return null; } : undefined; + var x320: Genric = true ? { func: n => { return [d1, d2]; } } : undefined; + function x321(n: () => Base[]) { }; x321(() => [d1, d2]); + function x322(n: () => Base[]) { }; x322(function() { return [d1, d2] }); + function x323(n: () => Base[]) { }; x323(function named() { return [d1, d2] }); + function x324(n: { (): Base[]; }) { }; x324(() => [d1, d2]); + function x325(n: { (): Base[]; }) { }; x325(function() { return [d1, d2] }); + function x326(n: { (): Base[]; }) { }; x326(function named() { return [d1, d2] }); + function x327(n: Base[]) { }; x327([d1, d2]); + function x328(n: Array) { }; x328([d1, d2]); + function x329(n: { [n: number]: Base; }) { }; x329([d1, d2]); + function x330(n: {n: Base[]; } ) { }; x330({ n: [d1, d2] }); + function x331(n: (s: Base[]) => any) { }; x331(n => { var n: Base[]; return null; }); + function x332(n: Genric) { }; x332({ func: n => { return [d1, d2]; } }); + var x333 = (n: () => Base[]) => n; x333(() => [d1, d2]); + var x334 = (n: () => Base[]) => n; x334(function() { return [d1, d2] }); + var x335 = (n: () => Base[]) => n; x335(function named() { return [d1, d2] }); + var x336 = (n: { (): Base[]; }) => n; x336(() => [d1, d2]); + var x337 = (n: { (): Base[]; }) => n; x337(function() { return [d1, d2] }); + var x338 = (n: { (): Base[]; }) => n; x338(function named() { return [d1, d2] }); + var x339 = (n: Base[]) => n; x339([d1, d2]); + var x340 = (n: Array) => n; x340([d1, d2]); + var x341 = (n: { [n: number]: Base; }) => n; x341([d1, d2]); + var x342 = (n: {n: Base[]; } ) => n; x342({ n: [d1, d2] }); + var x343 = (n: (s: Base[]) => any) => n; x343(n => { var n: Base[]; return null; }); + var x344 = (n: Genric) => n; x344({ func: n => { return [d1, d2]; } }); + var x345 = function(n: () => Base[]) { }; x345(() => [d1, d2]); + var x346 = function(n: () => Base[]) { }; x346(function() { return [d1, d2] }); + var x347 = function(n: () => Base[]) { }; x347(function named() { return [d1, d2] }); + var x348 = function(n: { (): Base[]; }) { }; x348(() => [d1, d2]); + var x349 = function(n: { (): Base[]; }) { }; x349(function() { return [d1, d2] }); + var x350 = function(n: { (): Base[]; }) { }; x350(function named() { return [d1, d2] }); + var x351 = function(n: Base[]) { }; x351([d1, d2]); + var x352 = function(n: Array) { }; x352([d1, d2]); + var x353 = function(n: { [n: number]: Base; }) { }; x353([d1, d2]); + var x354 = function(n: {n: Base[]; } ) { }; x354({ n: [d1, d2] }); + var x355 = function(n: (s: Base[]) => any) { }; x355(n => { var n: Base[]; return null; }); + var x356 = function(n: Genric) { }; x356({ func: n => { return [d1, d2]; } }); \ No newline at end of file diff --git a/tests/baselines/reference/generatedContextualTyping.types b/tests/baselines/reference/generatedContextualTyping.types index fa9cd404a47..d926493015a 100644 --- a/tests/baselines/reference/generatedContextualTyping.types +++ b/tests/baselines/reference/generatedContextualTyping.types @@ -8,6 +8,7 @@ class Base { private p; } >Base : Base > : ^^^^ >p : any +> : ^^^ class Derived1 extends Base { private m; } >Derived1 : Derived1 @@ -15,6 +16,7 @@ class Derived1 extends Base { private m; } >Base : Base > : ^^^^ >m : any +> : ^^^ class Derived2 extends Base { private n; } >Derived2 : Derived2 @@ -22,6 +24,7 @@ class Derived2 extends Base { private n; } >Base : Base > : ^^^^ >n : any +> : ^^^ interface Genric { func(n: T[]); } >func : (n: T[]) => any diff --git a/tests/baselines/reference/ifDoWhileStatements.errors.txt b/tests/baselines/reference/ifDoWhileStatements.errors.txt new file mode 100644 index 00000000000..c103478b4e6 --- /dev/null +++ b/tests/baselines/reference/ifDoWhileStatements.errors.txt @@ -0,0 +1,255 @@ +ifDoWhileStatements.ts(44,5): error TS2873: This kind of expression is always falsy. +ifDoWhileStatements.ts(45,8): error TS2873: This kind of expression is always falsy. +ifDoWhileStatements.ts(46,13): error TS2873: This kind of expression is always falsy. +ifDoWhileStatements.ts(48,5): error TS2873: This kind of expression is always falsy. +ifDoWhileStatements.ts(49,8): error TS2873: This kind of expression is always falsy. +ifDoWhileStatements.ts(50,13): error TS2873: This kind of expression is always falsy. +ifDoWhileStatements.ts(56,5): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(57,8): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(58,13): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(60,5): error TS2873: This kind of expression is always falsy. +ifDoWhileStatements.ts(61,8): error TS2873: This kind of expression is always falsy. +ifDoWhileStatements.ts(62,13): error TS2873: This kind of expression is always falsy. +ifDoWhileStatements.ts(64,5): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(65,8): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(66,13): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(68,5): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(69,8): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(70,13): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(72,5): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(73,8): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(74,13): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(76,5): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(77,8): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(78,13): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(80,5): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(81,8): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(82,13): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(84,5): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(85,8): error TS2872: This kind of expression is always truthy. +ifDoWhileStatements.ts(86,13): error TS2872: This kind of expression is always truthy. + + +==== ifDoWhileStatements.ts (30 errors) ==== + interface I { + id: number; + } + + class C implements I { + id: number; + name: string; + } + + class C2 extends C { + valid: boolean; + } + + class D{ + source: T; + recurse: D; + wrapped: D> + } + + function F(x: string): number { return 42; } + function F2(x: number): boolean { return x < 42; } + + module M { + export class A { + name: string; + } + + export function F2(x: number): string { return x.toString(); } + } + + module N { + export class A { + id: number; + } + + export function F2(x: number): string { return x.toString(); } + } + + // literals + if (true) { } + while (true) { } + do { }while(true) + + if (null) { } + ~~~~ +!!! error TS2873: This kind of expression is always falsy. + while (null) { } + ~~~~ +!!! error TS2873: This kind of expression is always falsy. + do { }while(null) + ~~~~ +!!! error TS2873: This kind of expression is always falsy. + + if (undefined) { } + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + while (undefined) { } + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + do { }while(undefined) + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + + if (0.0) { } + while (0.0) { } + do { }while(0.0) + + if ('a string') { } + ~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + while ('a string') { } + ~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + do { }while('a string') + ~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + + if ('') { } + ~~ +!!! error TS2873: This kind of expression is always falsy. + while ('') { } + ~~ +!!! error TS2873: This kind of expression is always falsy. + do { }while('') + ~~ +!!! error TS2873: This kind of expression is always falsy. + + if (/[a-z]/) { } + ~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + while (/[a-z]/) { } + ~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + do { }while(/[a-z]/) + ~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + + if ([]) { } + ~~ +!!! error TS2872: This kind of expression is always truthy. + while ([]) { } + ~~ +!!! error TS2872: This kind of expression is always truthy. + do { }while([]) + ~~ +!!! error TS2872: This kind of expression is always truthy. + + if ([1, 2]) { } + ~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + while ([1, 2]) { } + ~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + do { }while([1, 2]) + ~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + + if ({}) { } + ~~ +!!! error TS2872: This kind of expression is always truthy. + while ({}) { } + ~~ +!!! error TS2872: This kind of expression is always truthy. + do { }while({}) + ~~ +!!! error TS2872: This kind of expression is always truthy. + + if ({ x: 1, y: 'a' }) { } + ~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + while ({ x: 1, y: 'a' }) { } + ~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + do { }while({ x: 1, y: 'a' }) + ~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + + if (() => 43) { } + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + while (() => 43) { } + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + do { }while(() => 43) + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + + if (new C()) { } + while (new C()) { } + do { }while(new C()) + + if (new D()) { } + while (new D()) { } + do { }while(new D()) + + // references + var a = true; + if (a) { } + while (a) { } + do { }while(a) + + var b = null; + if (b) { } + while (b) { } + do { }while(b) + + var c = undefined; + if (c) { } + while (c) { } + do { }while(c) + + var d = 0.0; + if (d) { } + while (d) { } + do { }while(d) + + var e = 'a string'; + if (e) { } + while (e) { } + do { }while(e) + + var f = ''; + if (f) { } + while (f) { } + do { }while(f) + + var g = /[a-z]/ + if (g) { } + while (g) { } + do { }while(g) + + var h = []; + if (h) { } + while (h) { } + do { }while(h) + + var i = [1, 2]; + if (i) { } + while (i) { } + do { }while(i) + + var j = {}; + if (j) { } + while (j) { } + do { }while(j) + + var k = { x: 1, y: 'a' }; + if (k) { } + while (k) { } + do { }while(k) + + function fn(x?: string): I { return null; } + if (fn()) { } + while (fn()) { } + do { }while(fn()) + + if (fn) { } + while (fn) { } + do { }while(fn) + + + \ No newline at end of file diff --git a/tests/baselines/reference/ifDoWhileStatements.types b/tests/baselines/reference/ifDoWhileStatements.types index b97dda14f73..7a7cf04fa2b 100644 --- a/tests/baselines/reference/ifDoWhileStatements.types +++ b/tests/baselines/reference/ifDoWhileStatements.types @@ -360,29 +360,37 @@ do { }while(a) var b = null; >b : any +> : ^^^ if (b) { } >b : any +> : ^^^ while (b) { } >b : any +> : ^^^ do { }while(b) >b : any +> : ^^^ var c = undefined; >c : any +> : ^^^ >undefined : undefined > : ^^^^^^^^^ if (c) { } >c : any +> : ^^^ while (c) { } >c : any +> : ^^^ do { }while(c) >c : any +> : ^^^ var d = 0.0; >d : number diff --git a/tests/baselines/reference/initializersWidened.errors.txt b/tests/baselines/reference/initializersWidened.errors.txt new file mode 100644 index 00000000000..d39383da363 --- /dev/null +++ b/tests/baselines/reference/initializersWidened.errors.txt @@ -0,0 +1,45 @@ +initializersWidened.ts(18,10): error TS2873: This kind of expression is always falsy. +initializersWidened.ts(19,10): error TS2873: This kind of expression is always falsy. +initializersWidened.ts(20,10): error TS2873: This kind of expression is always falsy. +initializersWidened.ts(22,10): error TS2873: This kind of expression is always falsy. +initializersWidened.ts(23,10): error TS2873: This kind of expression is always falsy. +initializersWidened.ts(24,10): error TS2873: This kind of expression is always falsy. + + +==== initializersWidened.ts (6 errors) ==== + // these are widened to any at the point of assignment + + var x1 = null; + var y1 = undefined; + var z1 = void 0; + + // these are not widened + + var x2: null; + var y2: undefined; + + var x3: null = null; + var y3: undefined = undefined; + var z3: undefined = void 0; + + // widen only when all constituents of union are widening + + var x4 = null || null; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. + var y4 = undefined || undefined; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var z4 = void 0 || void 0; + ~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + + var x5 = null || x2; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. + var y5 = undefined || y2; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + var z5 = void 0 || y2; + ~~~~~~ +!!! error TS2873: This kind of expression is always falsy. \ No newline at end of file diff --git a/tests/baselines/reference/initializersWidened.types b/tests/baselines/reference/initializersWidened.types index e4addaf4531..485a47c2eee 100644 --- a/tests/baselines/reference/initializersWidened.types +++ b/tests/baselines/reference/initializersWidened.types @@ -5,14 +5,17 @@ var x1 = null; >x1 : any +> : ^^^ var y1 = undefined; >y1 : any +> : ^^^ >undefined : undefined > : ^^^^^^^^^ var z1 = void 0; >z1 : any +> : ^^^ >void 0 : undefined > : ^^^^^^^^^ >0 : 0 @@ -50,11 +53,13 @@ var z3: undefined = void 0; var x4 = null || null; >x4 : any +> : ^^^ >null || null : null > : ^^^^ var y4 = undefined || undefined; >y4 : any +> : ^^^ >undefined || undefined : undefined > : ^^^^^^^^^ >undefined : undefined @@ -64,6 +69,7 @@ var y4 = undefined || undefined; var z4 = void 0 || void 0; >z4 : any +> : ^^^ >void 0 || void 0 : undefined > : ^^^^^^^^^ >void 0 : undefined diff --git a/tests/baselines/reference/logicalAndOperatorWithEveryType.errors.txt b/tests/baselines/reference/logicalAndOperatorWithEveryType.errors.txt index 224879a8bec..7f10b53cd3f 100644 --- a/tests/baselines/reference/logicalAndOperatorWithEveryType.errors.txt +++ b/tests/baselines/reference/logicalAndOperatorWithEveryType.errors.txt @@ -1,16 +1,36 @@ logicalAndOperatorWithEveryType.ts(19,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalAndOperatorWithEveryType.ts(23,11): error TS2873: This kind of expression is always falsy. +logicalAndOperatorWithEveryType.ts(24,12): error TS2873: This kind of expression is always falsy. logicalAndOperatorWithEveryType.ts(30,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalAndOperatorWithEveryType.ts(34,11): error TS2873: This kind of expression is always falsy. +logicalAndOperatorWithEveryType.ts(35,12): error TS2873: This kind of expression is always falsy. logicalAndOperatorWithEveryType.ts(41,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalAndOperatorWithEveryType.ts(45,11): error TS2873: This kind of expression is always falsy. +logicalAndOperatorWithEveryType.ts(46,12): error TS2873: This kind of expression is always falsy. logicalAndOperatorWithEveryType.ts(52,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalAndOperatorWithEveryType.ts(56,11): error TS2873: This kind of expression is always falsy. +logicalAndOperatorWithEveryType.ts(57,12): error TS2873: This kind of expression is always falsy. logicalAndOperatorWithEveryType.ts(63,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalAndOperatorWithEveryType.ts(67,11): error TS2873: This kind of expression is always falsy. +logicalAndOperatorWithEveryType.ts(68,12): error TS2873: This kind of expression is always falsy. logicalAndOperatorWithEveryType.ts(74,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalAndOperatorWithEveryType.ts(78,11): error TS2873: This kind of expression is always falsy. +logicalAndOperatorWithEveryType.ts(79,12): error TS2873: This kind of expression is always falsy. logicalAndOperatorWithEveryType.ts(85,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalAndOperatorWithEveryType.ts(89,11): error TS2873: This kind of expression is always falsy. +logicalAndOperatorWithEveryType.ts(90,12): error TS2873: This kind of expression is always falsy. logicalAndOperatorWithEveryType.ts(96,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalAndOperatorWithEveryType.ts(100,11): error TS2873: This kind of expression is always falsy. +logicalAndOperatorWithEveryType.ts(101,12): error TS2873: This kind of expression is always falsy. logicalAndOperatorWithEveryType.ts(107,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalAndOperatorWithEveryType.ts(111,11): error TS2873: This kind of expression is always falsy. +logicalAndOperatorWithEveryType.ts(112,12): error TS2873: This kind of expression is always falsy. logicalAndOperatorWithEveryType.ts(118,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalAndOperatorWithEveryType.ts(122,11): error TS2873: This kind of expression is always falsy. +logicalAndOperatorWithEveryType.ts(123,12): error TS2873: This kind of expression is always falsy. -==== logicalAndOperatorWithEveryType.ts (10 errors) ==== +==== logicalAndOperatorWithEveryType.ts (30 errors) ==== // The && operator permits the operands to be of any type and produces a result of the same // type as the second operand. @@ -36,7 +56,11 @@ logicalAndOperatorWithEveryType.ts(118,11): error TS1345: An expression of type var ra7 = a7 && a1; var ra8 = a8 && a1; var ra9 = null && a1; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var ra10 = undefined && a1; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var rb1 = a1 && a2; var rb2 = a2 && a2; @@ -49,7 +73,11 @@ logicalAndOperatorWithEveryType.ts(118,11): error TS1345: An expression of type var rb7 = a7 && a2; var rb8 = a8 && a2; var rb9 = null && a2; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var rb10 = undefined && a2; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var rc1 = a1 && a3; var rc2 = a2 && a3; @@ -62,7 +90,11 @@ logicalAndOperatorWithEveryType.ts(118,11): error TS1345: An expression of type var rc7 = a7 && a3; var rc8 = a8 && a3; var rc9 = null && a3; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var rc10 = undefined && a3; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var rd1 = a1 && a4; var rd2 = a2 && a4; @@ -75,7 +107,11 @@ logicalAndOperatorWithEveryType.ts(118,11): error TS1345: An expression of type var rd7 = a7 && a4; var rd8 = a8 && a4; var rd9 = null && a4; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var rd10 = undefined && a4; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var re1 = a1 && a5; var re2 = a2 && a5; @@ -88,7 +124,11 @@ logicalAndOperatorWithEveryType.ts(118,11): error TS1345: An expression of type var re7 = a7 && a5; var re8 = a8 && a5; var re9 = null && a5; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var re10 = undefined && a5; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var rf1 = a1 && a6; var rf2 = a2 && a6; @@ -101,7 +141,11 @@ logicalAndOperatorWithEveryType.ts(118,11): error TS1345: An expression of type var rf7 = a7 && a6; var rf8 = a8 && a6; var rf9 = null && a6; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var rf10 = undefined && a6; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var rg1 = a1 && a7; var rg2 = a2 && a7; @@ -114,7 +158,11 @@ logicalAndOperatorWithEveryType.ts(118,11): error TS1345: An expression of type var rg7 = a7 && a7; var rg8 = a8 && a7; var rg9 = null && a7; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var rg10 = undefined && a7; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var rh1 = a1 && a8; var rh2 = a2 && a8; @@ -127,7 +175,11 @@ logicalAndOperatorWithEveryType.ts(118,11): error TS1345: An expression of type var rh7 = a7 && a8; var rh8 = a8 && a8; var rh9 = null && a8; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var rh10 = undefined && a8; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var ri1 = a1 && null; var ri2 = a2 && null; @@ -140,7 +192,11 @@ logicalAndOperatorWithEveryType.ts(118,11): error TS1345: An expression of type var ri7 = a7 && null; var ri8 = a8 && null; var ri9 = null && null; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var ri10 = undefined && null; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var rj1 = a1 && undefined; var rj2 = a2 && undefined; @@ -153,4 +209,8 @@ logicalAndOperatorWithEveryType.ts(118,11): error TS1345: An expression of type var rj7 = a7 && undefined; var rj8 = a8 && undefined; var rj9 = null && undefined; - var rj10 = undefined && undefined; \ No newline at end of file + ~~~~ +!!! error TS2873: This kind of expression is always falsy. + var rj10 = undefined && undefined; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. \ No newline at end of file diff --git a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.errors.txt b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.errors.txt index be84088895d..a6a8a41cdf8 100644 --- a/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.errors.txt +++ b/tests/baselines/reference/logicalNotOperatorWithAnyOtherType.errors.txt @@ -1,10 +1,12 @@ +logicalNotOperatorWithAnyOtherType.ts(33,25): error TS2873: This kind of expression is always falsy. +logicalNotOperatorWithAnyOtherType.ts(34,25): error TS2873: This kind of expression is always falsy. logicalNotOperatorWithAnyOtherType.ts(45,27): error TS2365: Operator '+' cannot be applied to types 'null' and 'undefined'. logicalNotOperatorWithAnyOtherType.ts(46,27): error TS2365: Operator '+' cannot be applied to types 'null' and 'null'. logicalNotOperatorWithAnyOtherType.ts(47,27): error TS2365: Operator '+' cannot be applied to types 'undefined' and 'undefined'. logicalNotOperatorWithAnyOtherType.ts(57,1): error TS2695: Left side of comma operator is unused and has no side effects. -==== logicalNotOperatorWithAnyOtherType.ts (4 errors) ==== +==== logicalNotOperatorWithAnyOtherType.ts (6 errors) ==== // ! operator on any type var ANY: any; @@ -38,7 +40,11 @@ logicalNotOperatorWithAnyOtherType.ts(57,1): error TS2695: Left side of comma op // any type literal var ResultIsBoolean7 = !undefined; + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var ResultIsBoolean8 = !null; + ~~~~ +!!! error TS2873: This kind of expression is always falsy. // any type expressions var ResultIsBoolean9 = !ANY2[0]; diff --git a/tests/baselines/reference/logicalNotOperatorWithBooleanType.errors.txt b/tests/baselines/reference/logicalNotOperatorWithBooleanType.errors.txt index 3c94e6e5b05..981e44fe46d 100644 --- a/tests/baselines/reference/logicalNotOperatorWithBooleanType.errors.txt +++ b/tests/baselines/reference/logicalNotOperatorWithBooleanType.errors.txt @@ -1,7 +1,8 @@ +logicalNotOperatorWithBooleanType.ts(21,25): error TS2872: This kind of expression is always truthy. logicalNotOperatorWithBooleanType.ts(36,1): error TS2695: Left side of comma operator is unused and has no side effects. -==== logicalNotOperatorWithBooleanType.ts (1 errors) ==== +==== logicalNotOperatorWithBooleanType.ts (2 errors) ==== // ! operator on boolean type var BOOLEAN: boolean; @@ -23,6 +24,8 @@ logicalNotOperatorWithBooleanType.ts(36,1): error TS2695: Left side of comma ope // boolean type literal var ResultIsBoolean2 = !true; var ResultIsBoolean3 = !{ x: true, y: false }; + ~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. // boolean type expressions var ResultIsBoolean4 = !objA.a; diff --git a/tests/baselines/reference/logicalNotOperatorWithNumberType.errors.txt b/tests/baselines/reference/logicalNotOperatorWithNumberType.errors.txt index b5202f7b5c9..03ced35d644 100644 --- a/tests/baselines/reference/logicalNotOperatorWithNumberType.errors.txt +++ b/tests/baselines/reference/logicalNotOperatorWithNumberType.errors.txt @@ -1,7 +1,9 @@ +logicalNotOperatorWithNumberType.ts(23,25): error TS2872: This kind of expression is always truthy. +logicalNotOperatorWithNumberType.ts(24,25): error TS2872: This kind of expression is always truthy. logicalNotOperatorWithNumberType.ts(45,1): error TS2695: Left side of comma operator is unused and has no side effects. -==== logicalNotOperatorWithNumberType.ts (1 errors) ==== +==== logicalNotOperatorWithNumberType.ts (3 errors) ==== // ! operator on number type var NUMBER: number; var NUMBER1: number[] = [1, 2]; @@ -25,7 +27,11 @@ logicalNotOperatorWithNumberType.ts(45,1): error TS2695: Left side of comma oper // number type literal var ResultIsBoolean3 = !1; var ResultIsBoolean4 = !{ x: 1, y: 2}; + ~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. var ResultIsBoolean5 = !{ x: 1, y: (n: number) => { return n; } }; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. // number type expressions var ResultIsBoolean6 = !objA.a; diff --git a/tests/baselines/reference/logicalNotOperatorWithStringType.errors.txt b/tests/baselines/reference/logicalNotOperatorWithStringType.errors.txt index 6f327277879..6ea2e395e80 100644 --- a/tests/baselines/reference/logicalNotOperatorWithStringType.errors.txt +++ b/tests/baselines/reference/logicalNotOperatorWithStringType.errors.txt @@ -1,7 +1,11 @@ +logicalNotOperatorWithStringType.ts(22,25): error TS2873: This kind of expression is always falsy. +logicalNotOperatorWithStringType.ts(23,25): error TS2872: This kind of expression is always truthy. +logicalNotOperatorWithStringType.ts(24,25): error TS2872: This kind of expression is always truthy. +logicalNotOperatorWithStringType.ts(40,2): error TS2873: This kind of expression is always falsy. logicalNotOperatorWithStringType.ts(44,1): error TS2695: Left side of comma operator is unused and has no side effects. -==== logicalNotOperatorWithStringType.ts (1 errors) ==== +==== logicalNotOperatorWithStringType.ts (5 errors) ==== // ! operator on string type var STRING: string; var STRING1: string[] = ["", "abc"]; @@ -24,8 +28,14 @@ logicalNotOperatorWithStringType.ts(44,1): error TS2695: Left side of comma oper // string type literal var ResultIsBoolean3 = !""; + ~~ +!!! error TS2873: This kind of expression is always falsy. var ResultIsBoolean4 = !{ x: "", y: "" }; + ~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. var ResultIsBoolean5 = !{ x: "", y: (s: string) => { return s; } }; + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. // string type expressions var ResultIsBoolean6 = !objA.a; @@ -42,6 +52,8 @@ logicalNotOperatorWithStringType.ts(44,1): error TS2695: Left side of comma oper // miss assignment operators !""; + ~~ +!!! error TS2873: This kind of expression is always falsy. !STRING; !STRING1; !foo(); diff --git a/tests/baselines/reference/logicalOrExpressionIsContextuallyTyped.errors.txt b/tests/baselines/reference/logicalOrExpressionIsContextuallyTyped.errors.txt index 2b2e4b70185..46043459485 100644 --- a/tests/baselines/reference/logicalOrExpressionIsContextuallyTyped.errors.txt +++ b/tests/baselines/reference/logicalOrExpressionIsContextuallyTyped.errors.txt @@ -1,14 +1,17 @@ +logicalOrExpressionIsContextuallyTyped.ts(6,24): error TS2872: This kind of expression is always truthy. logicalOrExpressionIsContextuallyTyped.ts(6,33): error TS2322: Type '{ a: string; b: number; } | { a: string; b: boolean; }' is not assignable to type '{ a: string; }'. Object literal may only specify known properties, and 'b' does not exist in type '{ a: string; }'. -==== logicalOrExpressionIsContextuallyTyped.ts (1 errors) ==== +==== logicalOrExpressionIsContextuallyTyped.ts (2 errors) ==== // The || operator permits the operands to be of any type. // If the || expression is contextually typed, the operands are contextually typed by the // same type and the result is of the best common type of the contextual type and the two // operand types. var r: { a: string } = { a: '', b: 123 } || { a: '', b: true }; + ~~~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. ~ !!! error TS2322: Type '{ a: string; b: number; } | { a: string; b: boolean; }' is not assignable to type '{ a: string; }'. !!! error TS2322: Object literal may only specify known properties, and 'b' does not exist in type '{ a: string; }'. \ No newline at end of file diff --git a/tests/baselines/reference/logicalOrOperatorWithEveryType.errors.txt b/tests/baselines/reference/logicalOrOperatorWithEveryType.errors.txt index f15ec315745..86b419f8e4a 100644 --- a/tests/baselines/reference/logicalOrOperatorWithEveryType.errors.txt +++ b/tests/baselines/reference/logicalOrOperatorWithEveryType.errors.txt @@ -1,16 +1,36 @@ logicalOrOperatorWithEveryType.ts(21,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalOrOperatorWithEveryType.ts(25,11): error TS2873: This kind of expression is always falsy. +logicalOrOperatorWithEveryType.ts(26,12): error TS2873: This kind of expression is always falsy. logicalOrOperatorWithEveryType.ts(32,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalOrOperatorWithEveryType.ts(36,11): error TS2873: This kind of expression is always falsy. +logicalOrOperatorWithEveryType.ts(37,11): error TS2873: This kind of expression is always falsy. logicalOrOperatorWithEveryType.ts(43,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalOrOperatorWithEveryType.ts(47,11): error TS2873: This kind of expression is always falsy. +logicalOrOperatorWithEveryType.ts(48,12): error TS2873: This kind of expression is always falsy. logicalOrOperatorWithEveryType.ts(54,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalOrOperatorWithEveryType.ts(58,11): error TS2873: This kind of expression is always falsy. +logicalOrOperatorWithEveryType.ts(59,12): error TS2873: This kind of expression is always falsy. logicalOrOperatorWithEveryType.ts(65,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalOrOperatorWithEveryType.ts(69,11): error TS2873: This kind of expression is always falsy. +logicalOrOperatorWithEveryType.ts(70,12): error TS2873: This kind of expression is always falsy. logicalOrOperatorWithEveryType.ts(76,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalOrOperatorWithEveryType.ts(80,11): error TS2873: This kind of expression is always falsy. +logicalOrOperatorWithEveryType.ts(81,12): error TS2873: This kind of expression is always falsy. logicalOrOperatorWithEveryType.ts(87,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalOrOperatorWithEveryType.ts(91,11): error TS2873: This kind of expression is always falsy. +logicalOrOperatorWithEveryType.ts(92,12): error TS2873: This kind of expression is always falsy. logicalOrOperatorWithEveryType.ts(98,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalOrOperatorWithEveryType.ts(102,11): error TS2873: This kind of expression is always falsy. +logicalOrOperatorWithEveryType.ts(103,12): error TS2873: This kind of expression is always falsy. logicalOrOperatorWithEveryType.ts(109,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalOrOperatorWithEveryType.ts(113,11): error TS2873: This kind of expression is always falsy. +logicalOrOperatorWithEveryType.ts(114,12): error TS2873: This kind of expression is always falsy. logicalOrOperatorWithEveryType.ts(120,11): error TS1345: An expression of type 'void' cannot be tested for truthiness. +logicalOrOperatorWithEveryType.ts(124,11): error TS2873: This kind of expression is always falsy. +logicalOrOperatorWithEveryType.ts(125,12): error TS2873: This kind of expression is always falsy. -==== logicalOrOperatorWithEveryType.ts (10 errors) ==== +==== logicalOrOperatorWithEveryType.ts (30 errors) ==== // The || operator permits the operands to be of any type. // If the || expression is not contextually typed, the right operand is contextually typed // by the type of the left operand and the result is of the best common type of the two @@ -38,7 +58,11 @@ logicalOrOperatorWithEveryType.ts(120,11): error TS1345: An expression of type ' var ra7 = a7 || a1; // object || any is any var ra8 = a8 || a1; // array || any is any var ra9 = null || a1; // null || any is any + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var ra10 = undefined || a1; // undefined || any is any + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var rb1 = a1 || a2; // any || boolean is any var rb2 = a2 || a2; // boolean || boolean is boolean @@ -51,7 +75,11 @@ logicalOrOperatorWithEveryType.ts(120,11): error TS1345: An expression of type ' var rb7 = a7 || a2; // object || boolean is object | boolean var rb8 = a8 || a2; // array || boolean is array | boolean var rb9 = null || a2; // null || boolean is boolean + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var rb10= undefined || a2; // undefined || boolean is boolean + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var rc1 = a1 || a3; // any || number is any var rc2 = a2 || a3; // boolean || number is boolean | number @@ -64,7 +92,11 @@ logicalOrOperatorWithEveryType.ts(120,11): error TS1345: An expression of type ' var rc7 = a7 || a3; // object || number is object | number var rc8 = a8 || a3; // array || number is array | number var rc9 = null || a3; // null || number is number + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var rc10 = undefined || a3; // undefined || number is number + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var rd1 = a1 || a4; // any || string is any var rd2 = a2 || a4; // boolean || string is boolean | string @@ -77,7 +109,11 @@ logicalOrOperatorWithEveryType.ts(120,11): error TS1345: An expression of type ' var rd7 = a7 || a4; // object || string is object | string var rd8 = a8 || a4; // array || string is array | string var rd9 = null || a4; // null || string is string + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var rd10 = undefined || a4; // undefined || string is string + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var re1 = a1 || a5; // any || void is any var re2 = a2 || a5; // boolean || void is boolean | void @@ -90,7 +126,11 @@ logicalOrOperatorWithEveryType.ts(120,11): error TS1345: An expression of type ' var re7 = a7 || a5; // object || void is object | void var re8 = a8 || a5; // array || void is array | void var re9 = null || a5; // null || void is void + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var re10 = undefined || a5; // undefined || void is void + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var rg1 = a1 || a6; // any || enum is any var rg2 = a2 || a6; // boolean || enum is boolean | enum @@ -103,7 +143,11 @@ logicalOrOperatorWithEveryType.ts(120,11): error TS1345: An expression of type ' var rg7 = a7 || a6; // object || enum is object | enum var rg8 = a8 || a6; // array || enum is array | enum var rg9 = null || a6; // null || enum is E + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var rg10 = undefined || a6; // undefined || enum is E + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var rh1 = a1 || a7; // any || object is any var rh2 = a2 || a7; // boolean || object is boolean | object @@ -116,7 +160,11 @@ logicalOrOperatorWithEveryType.ts(120,11): error TS1345: An expression of type ' var rh7 = a7 || a7; // object || object is object var rh8 = a8 || a7; // array || object is array | object var rh9 = null || a7; // null || object is object + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var rh10 = undefined || a7; // undefined || object is object + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var ri1 = a1 || a8; // any || array is any var ri2 = a2 || a8; // boolean || array is boolean | array @@ -129,7 +177,11 @@ logicalOrOperatorWithEveryType.ts(120,11): error TS1345: An expression of type ' var ri7 = a7 || a8; // object || array is object | array var ri8 = a8 || a8; // array || array is array var ri9 = null || a8; // null || array is array + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var ri10 = undefined || a8; // undefined || array is array + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var rj1 = a1 || null; // any || null is any var rj2 = a2 || null; // boolean || null is boolean @@ -142,7 +194,11 @@ logicalOrOperatorWithEveryType.ts(120,11): error TS1345: An expression of type ' var rj7 = a7 || null; // object || null is object var rj8 = a8 || null; // array || null is array var rj9 = null || null; // null || null is any + ~~~~ +!!! error TS2873: This kind of expression is always falsy. var rj10 = undefined || null; // undefined || null is any + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. var rf1 = a1 || undefined; // any || undefined is any var rf2 = a2 || undefined; // boolean || undefined is boolean @@ -155,4 +211,8 @@ logicalOrOperatorWithEveryType.ts(120,11): error TS1345: An expression of type ' var rf7 = a7 || undefined; // object || undefined is object var rf8 = a8 || undefined; // array || undefined is array var rf9 = null || undefined; // null || undefined is any - var rf10 = undefined || undefined; // undefined || undefined is any \ No newline at end of file + ~~~~ +!!! error TS2873: This kind of expression is always falsy. + var rf10 = undefined || undefined; // undefined || undefined is any + ~~~~~~~~~ +!!! error TS2873: This kind of expression is always falsy. \ No newline at end of file diff --git a/tests/baselines/reference/nestedIfStatement.errors.txt b/tests/baselines/reference/nestedIfStatement.errors.txt new file mode 100644 index 00000000000..3f79ac323fe --- /dev/null +++ b/tests/baselines/reference/nestedIfStatement.errors.txt @@ -0,0 +1,15 @@ +nestedIfStatement.ts(3,12): error TS2872: This kind of expression is always truthy. +nestedIfStatement.ts(4,12): error TS2872: This kind of expression is always truthy. + + +==== nestedIfStatement.ts (2 errors) ==== + if (0) { + } else if (1) { + } else if (2) { + ~ +!!! error TS2872: This kind of expression is always truthy. + } else if (3) { + ~ +!!! error TS2872: This kind of expression is always truthy. + } else { + } \ No newline at end of file diff --git a/tests/baselines/reference/noImplicitAnyForIn.errors.txt b/tests/baselines/reference/noImplicitAnyForIn.errors.txt index 3354ac32936..5ad0d6231fb 100644 --- a/tests/baselines/reference/noImplicitAnyForIn.errors.txt +++ b/tests/baselines/reference/noImplicitAnyForIn.errors.txt @@ -3,10 +3,11 @@ noImplicitAnyForIn.ts(7,18): error TS7053: Element implicitly has an 'any' type noImplicitAnyForIn.ts(14,18): error TS7053: Element implicitly has an 'any' type because expression of type 'string' can't be used to index type '{}'. No index signature with a parameter of type 'string' was found on type '{}'. noImplicitAnyForIn.ts(28,5): error TS7005: Variable 'n' implicitly has an 'any[][]' type. +noImplicitAnyForIn.ts(28,9): error TS2872: This kind of expression is always truthy. noImplicitAnyForIn.ts(30,6): error TS2405: The left-hand side of a 'for...in' statement must be of type 'string' or 'any'. -==== noImplicitAnyForIn.ts (4 errors) ==== +==== noImplicitAnyForIn.ts (5 errors) ==== var x: {}[] = [[1, 2, 3], ["hello"]]; for (var i in x) { @@ -43,6 +44,8 @@ noImplicitAnyForIn.ts(30,6): error TS2405: The left-hand side of a 'for...in' st var n = [[]] || []; ~ !!! error TS7005: Variable 'n' implicitly has an 'any[][]' type. + ~~~~ +!!! error TS2872: This kind of expression is always truthy. for (n[idx++] in m); ~~~~~~~~ diff --git a/tests/baselines/reference/nullishCoalescingOperator1.errors.txt b/tests/baselines/reference/nullishCoalescingOperator1.errors.txt new file mode 100644 index 00000000000..951ed048b89 --- /dev/null +++ b/tests/baselines/reference/nullishCoalescingOperator1.errors.txt @@ -0,0 +1,71 @@ +nullishCoalescingOperator1.ts(59,5): error TS2869: Right operand of ?? is unreachable because the left operand is never nullish. + + +==== nullishCoalescingOperator1.ts (1 errors) ==== + declare const a1: string | undefined | null + declare const a2: string | undefined | null + declare const a3: string | undefined | null + declare const a4: string | undefined | null + + declare const b1: number | undefined | null + declare const b2: number | undefined | null + declare const b3: number | undefined | null + declare const b4: number | undefined | null + + declare const c1: boolean | undefined | null + declare const c2: boolean | undefined | null + declare const c3: boolean | undefined | null + declare const c4: boolean | undefined | null + + interface I { a: string } + declare const d1: I | undefined | null + declare const d2: I | undefined | null + declare const d3: I | undefined | null + declare const d4: I | undefined | null + + const aa1 = a1 ?? 'whatever'; + const aa2 = a2 ?? 'whatever'; + const aa3 = a3 ?? 'whatever'; + const aa4 = a4 ?? 'whatever'; + + const bb1 = b1 ?? 1; + const bb2 = b2 ?? 1; + const bb3 = b3 ?? 1; + const bb4 = b4 ?? 1; + + const cc1 = c1 ?? true; + const cc2 = c2 ?? true; + const cc3 = c3 ?? true; + const cc4 = c4 ?? true; + + const dd1 = d1 ?? {b: 1}; + const dd2 = d2 ?? {b: 1}; + const dd3 = d3 ?? {b: 1}; + const dd4 = d4 ?? {b: 1}; + + // Repro from #34635 + + declare function foo(): void; + + const maybeBool = false; + + if (!(maybeBool ?? true)) { + foo(); + } + + if (maybeBool ?? true) { + foo(); + } + else { + foo(); + } + + if (false ?? true) { + ~~~~~ +!!! error TS2869: Right operand of ?? is unreachable because the left operand is never nullish. + foo(); + } + else { + foo(); + } + \ No newline at end of file diff --git a/tests/baselines/reference/nullishCoalescingOperator7.errors.txt b/tests/baselines/reference/nullishCoalescingOperator7.errors.txt new file mode 100644 index 00000000000..008d589a9e7 --- /dev/null +++ b/tests/baselines/reference/nullishCoalescingOperator7.errors.txt @@ -0,0 +1,24 @@ +nullishCoalescingOperator7.ts(6,19): error TS2872: This kind of expression is always truthy. +nullishCoalescingOperator7.ts(7,19): error TS2872: This kind of expression is always truthy. +nullishCoalescingOperator7.ts(10,23): error TS2872: This kind of expression is always truthy. + + +==== nullishCoalescingOperator7.ts (3 errors) ==== + declare const a: string | undefined; + declare const b: string | undefined; + declare const c: string | undefined; + + const foo1 = a ? 1 : 2; + const foo2 = a ?? 'foo' ? 1 : 2; + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + const foo3 = a ?? 'foo' ? (b ?? 'bar') : (c ?? 'baz'); + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + + function f () { + const foo4 = a ?? 'foo' ? b ?? 'bar' : c ?? 'baz'; + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + } + \ No newline at end of file diff --git a/tests/baselines/reference/parserArrowFunctionExpression3.errors.txt b/tests/baselines/reference/parserArrowFunctionExpression3.errors.txt index 7895b50bdc0..608d562872a 100644 --- a/tests/baselines/reference/parserArrowFunctionExpression3.errors.txt +++ b/tests/baselines/reference/parserArrowFunctionExpression3.errors.txt @@ -1,13 +1,16 @@ parserArrowFunctionExpression3.ts(1,1): error TS2304: Cannot find name 'a'. +parserArrowFunctionExpression3.ts(1,5): error TS2872: This kind of expression is always truthy. parserArrowFunctionExpression3.ts(1,16): error TS1005: ')' expected. parserArrowFunctionExpression3.ts(1,19): error TS2304: Cannot find name 'a'. parserArrowFunctionExpression3.ts(1,20): error TS1005: ';' expected. -==== parserArrowFunctionExpression3.ts (4 errors) ==== +==== parserArrowFunctionExpression3.ts (5 errors) ==== a = (() => { } || a) ~ !!! error TS2304: Cannot find name 'a'. + ~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. ~~ !!! error TS1005: ')' expected. ~ diff --git a/tests/baselines/reference/parserRegularExpression3.errors.txt b/tests/baselines/reference/parserRegularExpression3.errors.txt index 4241bebdaa2..a6fc2be7ea7 100644 --- a/tests/baselines/reference/parserRegularExpression3.errors.txt +++ b/tests/baselines/reference/parserRegularExpression3.errors.txt @@ -1,7 +1,10 @@ parserRegularExpression3.ts(1,1): error TS2304: Cannot find name 'Foo'. +parserRegularExpression3.ts(1,6): error TS2872: This kind of expression is always truthy. -==== parserRegularExpression3.ts (1 errors) ==== +==== parserRegularExpression3.ts (2 errors) ==== Foo(!/(\\?|&)adurl=/); ~~~ -!!! error TS2304: Cannot find name 'Foo'. \ No newline at end of file +!!! error TS2304: Cannot find name 'Foo'. + ~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. \ No newline at end of file diff --git a/tests/baselines/reference/predicateSemantics.errors.txt b/tests/baselines/reference/predicateSemantics.errors.txt new file mode 100644 index 00000000000..4d96f98df22 --- /dev/null +++ b/tests/baselines/reference/predicateSemantics.errors.txt @@ -0,0 +1,73 @@ +predicateSemantics.ts(7,16): error TS2871: This expression is always nullish. +predicateSemantics.ts(10,16): error TS2869: Right operand of ?? is unreachable because the left operand is never nullish. +predicateSemantics.ts(26,12): error TS2869: Right operand of ?? is unreachable because the left operand is never nullish. +predicateSemantics.ts(27,12): error TS2869: Right operand of ?? is unreachable because the left operand is never nullish. +predicateSemantics.ts(28,12): error TS2871: This expression is always nullish. +predicateSemantics.ts(29,12): error TS2872: This kind of expression is always truthy. +predicateSemantics.ts(30,12): error TS2872: This kind of expression is always truthy. +predicateSemantics.ts(33,8): error TS2872: This kind of expression is always truthy. +predicateSemantics.ts(34,11): error TS2872: This kind of expression is always truthy. +predicateSemantics.ts(35,8): error TS2872: This kind of expression is always truthy. +predicateSemantics.ts(36,8): error TS2872: This kind of expression is always truthy. + + +==== predicateSemantics.ts (11 errors) ==== + declare let cond: any; + + // OK: One or other operand is possibly nullish + const test1 = (cond ? undefined : 32) ?? "possibly reached"; + + // Not OK: Both operands nullish + const test2 = (cond ? undefined : null) ?? "always reached"; + ~~~~~~~~~~~~~~~~~~~~~~~ +!!! error TS2871: This expression is always nullish. + + // Not OK: Both operands non-nullish + const test3 = (cond ? 132 : 17) ?? "unreachable"; + ~~~~~~~~~~~~~~~ +!!! error TS2869: Right operand of ?? is unreachable because the left operand is never nullish. + + // Parens + const test4 = (cond ? (undefined) : (17)) ?? 42; + + // Should be OK (special case) + if (!!true) { + + } + + // Should be OK (special cases) + while (0) { } + while (1) { } + while (true) { } + while (false) { } + + const p5 = {} ?? null; + ~~ +!!! error TS2869: Right operand of ?? is unreachable because the left operand is never nullish. + const p6 = 0 > 1 ?? null; + ~~~~~ +!!! error TS2869: Right operand of ?? is unreachable because the left operand is never nullish. + const p7 = null ?? null; + ~~~~ +!!! error TS2871: This expression is always nullish. + const p8 = (class foo { }) && null; + ~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + const p9 = (class foo { }) || null; + ~~~~~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + + // Outer expression tests + while ({} as any) { } + ~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + while ({} satisfies unknown) { } + ~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + while ((({}))) { } + ~~~~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + while ((({}))) { } + ~~~~~~ +!!! error TS2872: This kind of expression is always truthy. + \ No newline at end of file diff --git a/tests/baselines/reference/predicateSemantics.js b/tests/baselines/reference/predicateSemantics.js new file mode 100644 index 00000000000..c1aebaad42b --- /dev/null +++ b/tests/baselines/reference/predicateSemantics.js @@ -0,0 +1,77 @@ +//// [tests/cases/compiler/predicateSemantics.ts] //// + +//// [predicateSemantics.ts] +declare let cond: any; + +// OK: One or other operand is possibly nullish +const test1 = (cond ? undefined : 32) ?? "possibly reached"; + +// Not OK: Both operands nullish +const test2 = (cond ? undefined : null) ?? "always reached"; + +// Not OK: Both operands non-nullish +const test3 = (cond ? 132 : 17) ?? "unreachable"; + +// Parens +const test4 = (cond ? (undefined) : (17)) ?? 42; + +// Should be OK (special case) +if (!!true) { + +} + +// Should be OK (special cases) +while (0) { } +while (1) { } +while (true) { } +while (false) { } + +const p5 = {} ?? null; +const p6 = 0 > 1 ?? null; +const p7 = null ?? null; +const p8 = (class foo { }) && null; +const p9 = (class foo { }) || null; + +// Outer expression tests +while ({} as any) { } +while ({} satisfies unknown) { } +while ((({}))) { } +while ((({}))) { } + + +//// [predicateSemantics.js] +var _a, _b, _c, _d, _e, _f; +// OK: One or other operand is possibly nullish +var test1 = (_a = (cond ? undefined : 32)) !== null && _a !== void 0 ? _a : "possibly reached"; +// Not OK: Both operands nullish +var test2 = (_b = (cond ? undefined : null)) !== null && _b !== void 0 ? _b : "always reached"; +// Not OK: Both operands non-nullish +var test3 = (_c = (cond ? 132 : 17)) !== null && _c !== void 0 ? _c : "unreachable"; +// Parens +var test4 = (_d = (cond ? (undefined) : (17))) !== null && _d !== void 0 ? _d : 42; +// Should be OK (special case) +if (!!true) { +} +// Should be OK (special cases) +while (0) { } +while (1) { } +while (true) { } +while (false) { } +var p5 = (_e = {}) !== null && _e !== void 0 ? _e : null; +var p6 = (_f = 0 > 1) !== null && _f !== void 0 ? _f : null; +var p7 = null !== null && null !== void 0 ? null : null; +var p8 = (/** @class */ (function () { + function foo() { + } + return foo; +}())) && null; +var p9 = (/** @class */ (function () { + function foo() { + } + return foo; +}())) || null; +// Outer expression tests +while ({}) { } +while ({}) { } +while (({})) { } +while ((({}))) { } diff --git a/tests/baselines/reference/predicateSemantics.symbols b/tests/baselines/reference/predicateSemantics.symbols new file mode 100644 index 00000000000..f92a128bbd4 --- /dev/null +++ b/tests/baselines/reference/predicateSemantics.symbols @@ -0,0 +1,63 @@ +//// [tests/cases/compiler/predicateSemantics.ts] //// + +=== predicateSemantics.ts === +declare let cond: any; +>cond : Symbol(cond, Decl(predicateSemantics.ts, 0, 11)) + +// OK: One or other operand is possibly nullish +const test1 = (cond ? undefined : 32) ?? "possibly reached"; +>test1 : Symbol(test1, Decl(predicateSemantics.ts, 3, 5)) +>cond : Symbol(cond, Decl(predicateSemantics.ts, 0, 11)) +>undefined : Symbol(undefined) + +// Not OK: Both operands nullish +const test2 = (cond ? undefined : null) ?? "always reached"; +>test2 : Symbol(test2, Decl(predicateSemantics.ts, 6, 5)) +>cond : Symbol(cond, Decl(predicateSemantics.ts, 0, 11)) +>undefined : Symbol(undefined) + +// Not OK: Both operands non-nullish +const test3 = (cond ? 132 : 17) ?? "unreachable"; +>test3 : Symbol(test3, Decl(predicateSemantics.ts, 9, 5)) +>cond : Symbol(cond, Decl(predicateSemantics.ts, 0, 11)) + +// Parens +const test4 = (cond ? (undefined) : (17)) ?? 42; +>test4 : Symbol(test4, Decl(predicateSemantics.ts, 12, 5)) +>cond : Symbol(cond, Decl(predicateSemantics.ts, 0, 11)) +>undefined : Symbol(undefined) + +// Should be OK (special case) +if (!!true) { + +} + +// Should be OK (special cases) +while (0) { } +while (1) { } +while (true) { } +while (false) { } + +const p5 = {} ?? null; +>p5 : Symbol(p5, Decl(predicateSemantics.ts, 25, 5)) + +const p6 = 0 > 1 ?? null; +>p6 : Symbol(p6, Decl(predicateSemantics.ts, 26, 5)) + +const p7 = null ?? null; +>p7 : Symbol(p7, Decl(predicateSemantics.ts, 27, 5)) + +const p8 = (class foo { }) && null; +>p8 : Symbol(p8, Decl(predicateSemantics.ts, 28, 5)) +>foo : Symbol(foo, Decl(predicateSemantics.ts, 28, 12)) + +const p9 = (class foo { }) || null; +>p9 : Symbol(p9, Decl(predicateSemantics.ts, 29, 5)) +>foo : Symbol(foo, Decl(predicateSemantics.ts, 29, 12)) + +// Outer expression tests +while ({} as any) { } +while ({} satisfies unknown) { } +while ((({}))) { } +while ((({}))) { } + diff --git a/tests/baselines/reference/predicateSemantics.types b/tests/baselines/reference/predicateSemantics.types new file mode 100644 index 00000000000..b75183dc538 --- /dev/null +++ b/tests/baselines/reference/predicateSemantics.types @@ -0,0 +1,194 @@ +//// [tests/cases/compiler/predicateSemantics.ts] //// + +=== predicateSemantics.ts === +declare let cond: any; +>cond : any +> : ^^^ + +// OK: One or other operand is possibly nullish +const test1 = (cond ? undefined : 32) ?? "possibly reached"; +>test1 : 32 | "possibly reached" +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>(cond ? undefined : 32) ?? "possibly reached" : 32 | "possibly reached" +> : ^^^^^^^^^^^^^^^^^^^^^^^ +>(cond ? undefined : 32) : 32 +> : ^^ +>cond ? undefined : 32 : 32 +> : ^^ +>cond : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ +>32 : 32 +> : ^^ +>"possibly reached" : "possibly reached" +> : ^^^^^^^^^^^^^^^^^^ + +// Not OK: Both operands nullish +const test2 = (cond ? undefined : null) ?? "always reached"; +>test2 : "always reached" +> : ^^^^^^^^^^^^^^^^ +>(cond ? undefined : null) ?? "always reached" : "always reached" +> : ^^^^^^^^^^^^^^^^ +>(cond ? undefined : null) : null +> : ^^^^ +>cond ? undefined : null : null +> : ^^^^ +>cond : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ +>"always reached" : "always reached" +> : ^^^^^^^^^^^^^^^^ + +// Not OK: Both operands non-nullish +const test3 = (cond ? 132 : 17) ?? "unreachable"; +>test3 : 132 | 17 | "unreachable" +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>(cond ? 132 : 17) ?? "unreachable" : 132 | 17 | "unreachable" +> : ^^^^^^^^^^^^^^^^^^^^^^^^ +>(cond ? 132 : 17) : 132 | 17 +> : ^^^^^^^^ +>cond ? 132 : 17 : 132 | 17 +> : ^^^^^^^^ +>cond : any +> : ^^^ +>132 : 132 +> : ^^^ +>17 : 17 +> : ^^ +>"unreachable" : "unreachable" +> : ^^^^^^^^^^^^^ + +// Parens +const test4 = (cond ? (undefined) : (17)) ?? 42; +>test4 : 17 | 42 +> : ^^^^^^^ +>(cond ? (undefined) : (17)) ?? 42 : 17 | 42 +> : ^^^^^^^ +>(cond ? (undefined) : (17)) : 17 +> : ^^ +>cond ? (undefined) : (17) : 17 +> : ^^ +>cond : any +> : ^^^ +>(undefined) : undefined +> : ^^^^^^^^^ +>undefined : undefined +> : ^^^^^^^^^ +>(17) : 17 +> : ^^ +>17 : 17 +> : ^^ +>42 : 42 +> : ^^ + +// Should be OK (special case) +if (!!true) { +>!!true : boolean +> : ^^^^^^^ +>!true : boolean +> : ^^^^^^^ +>true : true +> : ^^^^ + +} + +// Should be OK (special cases) +while (0) { } +>0 : 0 +> : ^ + +while (1) { } +>1 : 1 +> : ^ + +while (true) { } +>true : true +> : ^^^^ + +while (false) { } +>false : false +> : ^^^^^ + +const p5 = {} ?? null; +>p5 : {} +> : ^^ +>{} ?? null : {} +> : ^^ +>{} : {} +> : ^^ + +const p6 = 0 > 1 ?? null; +>p6 : boolean +> : ^^^^^^^ +>0 > 1 ?? null : boolean +> : ^^^^^^^ +>0 > 1 : boolean +> : ^^^^^^^ +>0 : 0 +> : ^ +>1 : 1 +> : ^ + +const p7 = null ?? null; +>p7 : any +> : ^^^ +>null ?? null : null +> : ^^^^ + +const p8 = (class foo { }) && null; +>p8 : any +> : ^^^ +>(class foo { }) && null : null +> : ^^^^ +>(class foo { }) : typeof foo +> : ^^^^^^^^^^ +>class foo { } : typeof foo +> : ^^^^^^^^^^ +>foo : typeof foo +> : ^^^^^^^^^^ + +const p9 = (class foo { }) || null; +>p9 : typeof foo +> : ^^^^^^^^^^ +>(class foo { }) || null : typeof foo +> : ^^^^^^^^^^ +>(class foo { }) : typeof foo +> : ^^^^^^^^^^ +>class foo { } : typeof foo +> : ^^^^^^^^^^ +>foo : typeof foo +> : ^^^^^^^^^^ + +// Outer expression tests +while ({} as any) { } +>{} as any : any +> : ^^^ +>{} : {} +> : ^^ + +while ({} satisfies unknown) { } +>{} satisfies unknown : {} +> : ^^ +>{} : {} +> : ^^ + +while ((({}))) { } +>(({})) : any +> : ^^^ +>({}) : any +> : ^^^ +>({}) : {} +> : ^^ +>{} : {} +> : ^^ + +while ((({}))) { } +>(({})) : {} +> : ^^ +>({}) : {} +> : ^^ +>{} : {} +> : ^^ + diff --git a/tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.errors.txt b/tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.errors.txt new file mode 100644 index 00000000000..aed0d9c6b8c --- /dev/null +++ b/tests/baselines/reference/prefixUnaryOperatorsOnExportedVariables.errors.txt @@ -0,0 +1,35 @@ +prefixUnaryOperatorsOnExportedVariables.ts(19,5): error TS2873: This kind of expression is always falsy. + + +==== prefixUnaryOperatorsOnExportedVariables.ts (1 errors) ==== + export var x = false; + export var y = 1; + if (!x) { + + } + + if (+x) { + + } + + if (-x) { + + } + + if (~x) { + + } + + if (void x) { + ~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + + } + + if (typeof x) { + + } + + if (++y) { + + } \ No newline at end of file diff --git a/tests/baselines/reference/primitiveMembers.errors.txt b/tests/baselines/reference/primitiveMembers.errors.txt index 23907273960..a68f220c424 100644 --- a/tests/baselines/reference/primitiveMembers.errors.txt +++ b/tests/baselines/reference/primitiveMembers.errors.txt @@ -1,9 +1,10 @@ primitiveMembers.ts(5,3): error TS2339: Property 'toBAZ' does not exist on type 'number'. primitiveMembers.ts(11,1): error TS2322: Type 'Number' is not assignable to type 'number'. 'number' is a primitive, but 'Number' is a wrapper object. Prefer using 'number' when possible. +primitiveMembers.ts(21,10): error TS2872: This kind of expression is always truthy. -==== primitiveMembers.ts (2 errors) ==== +==== primitiveMembers.ts (3 errors) ==== var x = 5; var r = /yo/; r.source; @@ -30,6 +31,8 @@ primitiveMembers.ts(11,1): error TS2322: Type 'Number' is not assignable to type var b: Boolean = true; var n3 = 5 || {}; + ~ +!!! error TS2872: This kind of expression is always truthy. class baz { public bar(): void { }; } diff --git a/tests/baselines/reference/shebangError.errors.txt b/tests/baselines/reference/shebangError.errors.txt index 43213c29fc2..63d8730735c 100644 --- a/tests/baselines/reference/shebangError.errors.txt +++ b/tests/baselines/reference/shebangError.errors.txt @@ -1,17 +1,20 @@ shebangError.ts(2,1): error TS18026: '#!' can only be used at the start of a file. shebangError.ts(2,2): error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. +shebangError.ts(2,3): error TS2872: This kind of expression is always truthy. shebangError.ts(2,12): error TS2304: Cannot find name 'env'. shebangError.ts(2,16): error TS1005: ';' expected. shebangError.ts(2,16): error TS2304: Cannot find name 'node'. -==== shebangError.ts (5 errors) ==== +==== shebangError.ts (6 errors) ==== var foo = 'Shebang is only allowed on the first line'; #!/usr/bin/env node ~~ !!! error TS18026: '#!' can only be used at the start of a file. ~~~~~~~~~ !!! error TS2362: The left-hand side of an arithmetic operation must be of type 'any', 'number', 'bigint' or an enum type. + ~~~~~~~~ +!!! error TS2872: This kind of expression is always truthy. ~~~ !!! error TS2304: Cannot find name 'env'. ~~~~ diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.errors.txt b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.errors.txt index f294ce932fc..cf9ca906d7f 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements03.errors.txt +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements03.errors.txt @@ -1,18 +1,22 @@ stringLiteralsWithSwitchStatements03.ts(10,10): error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. Type '"baz"' is not comparable to type '"foo"'. +stringLiteralsWithSwitchStatements03.ts(10,34): error TS2872: This kind of expression is always truthy. stringLiteralsWithSwitchStatements03.ts(12,10): error TS2678: Type '"bar"' is not comparable to type '"foo"'. stringLiteralsWithSwitchStatements03.ts(14,10): error TS2678: Type '"baz"' is not comparable to type '"foo"'. stringLiteralsWithSwitchStatements03.ts(14,11): error TS2695: Left side of comma operator is unused and has no side effects. stringLiteralsWithSwitchStatements03.ts(14,11): error TS2695: Left side of comma operator is unused and has no side effects. +stringLiteralsWithSwitchStatements03.ts(18,12): error TS2872: This kind of expression is always truthy. stringLiteralsWithSwitchStatements03.ts(20,10): error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. Type '"baz"' is not comparable to type '"foo"'. +stringLiteralsWithSwitchStatements03.ts(20,12): error TS2872: This kind of expression is always truthy. stringLiteralsWithSwitchStatements03.ts(22,10): error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. Type '"baz"' is not comparable to type '"foo"'. +stringLiteralsWithSwitchStatements03.ts(23,10): error TS2872: This kind of expression is always truthy. stringLiteralsWithSwitchStatements03.ts(23,10): error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. Type '"baz"' is not comparable to type '"foo"'. -==== stringLiteralsWithSwitchStatements03.ts (8 errors) ==== +==== stringLiteralsWithSwitchStatements03.ts (12 errors) ==== let x: "foo"; let y: "foo" | "bar"; let z: "bar"; @@ -26,6 +30,8 @@ stringLiteralsWithSwitchStatements03.ts(23,10): error TS2678: Type '"bar" | "baz ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ !!! error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. !!! error TS2678: Type '"baz"' is not comparable to type '"foo"'. + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. break; case (("bar")): ~~~~~~~~~ @@ -42,17 +48,23 @@ stringLiteralsWithSwitchStatements03.ts(23,10): error TS2678: Type '"bar" | "baz y; break; case (("foo" || ("bar"))): + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. break; case (("bar" || ("baz"))): ~~~~~~~~~~~~~~~~~~~~ !!! error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. !!! error TS2678: Type '"baz"' is not comparable to type '"foo"'. + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. break; case z || "baz": ~~~~~~~~~~ !!! error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. !!! error TS2678: Type '"baz"' is not comparable to type '"foo"'. case "baz" || z: + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. ~~~~~~~~~~ !!! error TS2678: Type '"bar" | "baz"' is not comparable to type '"foo"'. !!! error TS2678: Type '"baz"' is not comparable to type '"foo"'. diff --git a/tests/baselines/reference/stringLiteralsWithSwitchStatements04.errors.txt b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.errors.txt index 824ecf68923..981a8cdea64 100644 --- a/tests/baselines/reference/stringLiteralsWithSwitchStatements04.errors.txt +++ b/tests/baselines/reference/stringLiteralsWithSwitchStatements04.errors.txt @@ -3,9 +3,14 @@ stringLiteralsWithSwitchStatements04.ts(9,10): error TS2695: Left side of comma stringLiteralsWithSwitchStatements04.ts(11,10): error TS2695: Left side of comma operator is unused and has no side effects. stringLiteralsWithSwitchStatements04.ts(11,10): error TS2678: Type '"baz"' is not comparable to type '"foo" | "bar"'. stringLiteralsWithSwitchStatements04.ts(13,10): error TS2695: Left side of comma operator is unused and has no side effects. +stringLiteralsWithSwitchStatements04.ts(15,10): error TS2872: This kind of expression is always truthy. +stringLiteralsWithSwitchStatements04.ts(17,10): error TS2872: This kind of expression is always truthy. +stringLiteralsWithSwitchStatements04.ts(17,20): error TS2872: This kind of expression is always truthy. +stringLiteralsWithSwitchStatements04.ts(19,10): error TS2872: This kind of expression is always truthy. +stringLiteralsWithSwitchStatements04.ts(19,20): error TS2872: This kind of expression is always truthy. -==== stringLiteralsWithSwitchStatements04.ts (5 errors) ==== +==== stringLiteralsWithSwitchStatements04.ts (10 errors) ==== let x: "foo"; let y: "foo" | "bar"; @@ -31,10 +36,20 @@ stringLiteralsWithSwitchStatements04.ts(13,10): error TS2695: Left side of comma !!! error TS2695: Left side of comma operator is unused and has no side effects. break; case "baz" && "bar": + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. break; case "baz" && ("foo" || "bar"): + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. break; case "bar" && ("baz" || "bar"): + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. + ~~~~~ +!!! error TS2872: This kind of expression is always truthy. break; } \ No newline at end of file diff --git a/tests/baselines/reference/symbolType11.errors.txt b/tests/baselines/reference/symbolType11.errors.txt new file mode 100644 index 00000000000..f4b6bfbaf92 --- /dev/null +++ b/tests/baselines/reference/symbolType11.errors.txt @@ -0,0 +1,13 @@ +symbolType11.ts(7,1): error TS2872: This kind of expression is always truthy. + + +==== symbolType11.ts (1 errors) ==== + var s = Symbol.for("logical"); + s && s; + s && []; + 0 && s; + s || s; + s || 1; + ({}) || s; + ~~~~ +!!! error TS2872: This kind of expression is always truthy. \ No newline at end of file diff --git a/tests/baselines/reference/typeGuardsInIfStatement.errors.txt b/tests/baselines/reference/typeGuardsInIfStatement.errors.txt index 25270e619d4..be6a26b3a8e 100644 --- a/tests/baselines/reference/typeGuardsInIfStatement.errors.txt +++ b/tests/baselines/reference/typeGuardsInIfStatement.errors.txt @@ -1,7 +1,8 @@ +typeGuardsInIfStatement.ts(120,17): error TS2872: This kind of expression is always truthy. typeGuardsInIfStatement.ts(139,17): error TS2339: Property 'toString' does not exist on type 'never'. -==== typeGuardsInIfStatement.ts (1 errors) ==== +==== typeGuardsInIfStatement.ts (2 errors) ==== // In the true branch statement of an 'if' statement, // the type of a variable or parameter is narrowed by any type guard in the 'if' condition when true. // In the false branch statement of an 'if' statement, @@ -122,6 +123,8 @@ typeGuardsInIfStatement.ts(139,17): error TS2339: Property 'toString' does not e ? ( // change value of x x = 10 && x.toString() // number | boolean | string + ~~ +!!! error TS2872: This kind of expression is always truthy. ) : ( // do not change value diff --git a/tests/baselines/reference/voidAsOperator.errors.txt b/tests/baselines/reference/voidAsOperator.errors.txt new file mode 100644 index 00000000000..c9a0fdf5bd3 --- /dev/null +++ b/tests/baselines/reference/voidAsOperator.errors.txt @@ -0,0 +1,18 @@ +voidAsOperator.ts(1,6): error TS2873: This kind of expression is always falsy. +voidAsOperator.ts(6,6): error TS2873: This kind of expression is always falsy. + + +==== voidAsOperator.ts (2 errors) ==== + if (!void 0 !== true) { + ~~~~~~ +!!! error TS2873: This kind of expression is always falsy. + + } + + //CHECK#2 + if (!null !== true) { + ~~~~ +!!! error TS2873: This kind of expression is always falsy. + + } + \ No newline at end of file diff --git a/tests/baselines/reference/witness.errors.txt b/tests/baselines/reference/witness.errors.txt index 00b85e614ab..603db90af98 100644 --- a/tests/baselines/reference/witness.errors.txt +++ b/tests/baselines/reference/witness.errors.txt @@ -12,14 +12,16 @@ witness.ts(33,5): error TS2403: Subsequent variable declarations must have the s witness.ts(37,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'as1' must be of type 'any', but here has type 'number'. witness.ts(39,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'as2' must be of type 'any', but here has type 'number'. witness.ts(43,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'cnd1' must be of type 'any', but here has type 'number'. +witness.ts(50,11): error TS2873: This kind of expression is always falsy. witness.ts(57,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'and1' must be of type 'any', but here has type 'string'. +witness.ts(58,12): error TS2873: This kind of expression is always falsy. witness.ts(68,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'fnCallResult' must be of type 'never', but here has type 'any'. witness.ts(110,5): error TS2403: Subsequent variable declarations must have the same type. Variable 'propAcc1' must be of type 'any', but here has type '{ m: any; }'. witness.ts(121,14): error TS2729: Property 'n' is used before its initialization. witness.ts(128,19): error TS2729: Property 'q' is used before its initialization. -==== witness.ts (19 errors) ==== +==== witness.ts (21 errors) ==== // Initializers var varInit = varInit; // any var pInit: any; @@ -105,6 +107,8 @@ witness.ts(128,19): error TS2729: Property 'q' is used before its initialization var or1 = or1 || ''; var or1: any; var or2 = '' || or2; + ~~ +!!! error TS2873: This kind of expression is always falsy. var or2: any; var or3 = or3 || or3; var or3: any; @@ -116,6 +120,8 @@ witness.ts(128,19): error TS2729: Property 'q' is used before its initialization !!! error TS2403: Subsequent variable declarations must have the same type. Variable 'and1' must be of type 'any', but here has type 'string'. !!! related TS6203 witness.ts:56:5: 'and1' was also declared here. var and2 = '' && and2; + ~~ +!!! error TS2873: This kind of expression is always falsy. var and2: any; var and3 = and3 && and3; var and3: any; diff --git a/tests/cases/compiler/predicateSemantics.ts b/tests/cases/compiler/predicateSemantics.ts new file mode 100644 index 00000000000..4211a43ca58 --- /dev/null +++ b/tests/cases/compiler/predicateSemantics.ts @@ -0,0 +1,36 @@ +declare let cond: any; + +// OK: One or other operand is possibly nullish +const test1 = (cond ? undefined : 32) ?? "possibly reached"; + +// Not OK: Both operands nullish +const test2 = (cond ? undefined : null) ?? "always reached"; + +// Not OK: Both operands non-nullish +const test3 = (cond ? 132 : 17) ?? "unreachable"; + +// Parens +const test4 = (cond ? (undefined) : (17)) ?? 42; + +// Should be OK (special case) +if (!!true) { + +} + +// Should be OK (special cases) +while (0) { } +while (1) { } +while (true) { } +while (false) { } + +const p5 = {} ?? null; +const p6 = 0 > 1 ?? null; +const p7 = null ?? null; +const p8 = (class foo { }) && null; +const p9 = (class foo { }) || null; + +// Outer expression tests +while ({} as any) { } +while ({} satisfies unknown) { } +while ((({}))) { } +while ((({}))) { } From a4ae3c46b65fe0224613c5d8bf3c258746d9bf16 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Tue, 23 Jul 2024 00:58:39 +0200 Subject: [PATCH 48/89] Don't crash when observing invalid `export`s in any kind of container (#59376) --- src/services/documentHighlights.ts | 8 ++------ .../reference/exportInLabeledStatement.baseline.jsonc | 7 +++++++ tests/cases/fourslash/exportInLabeledStatement.ts | 8 ++++++++ 3 files changed, 17 insertions(+), 6 deletions(-) create mode 100644 tests/baselines/reference/exportInLabeledStatement.baseline.jsonc create mode 100644 tests/cases/fourslash/exportInLabeledStatement.ts diff --git a/src/services/documentHighlights.ts b/src/services/documentHighlights.ts index 0cb7654459c..644f0a12565 100644 --- a/src/services/documentHighlights.ts +++ b/src/services/documentHighlights.ts @@ -69,7 +69,6 @@ import { modifierToFlag, ModuleBlock, Node, - ObjectLiteralExpression, ObjectTypeDeclaration, Program, ReturnStatement, @@ -294,7 +293,7 @@ export namespace DocumentHighlights { function getNodesToSearchForModifier(declaration: Node, modifierFlag: ModifierFlags): readonly Node[] | undefined { // Types of node whose children might have modifiers. - const container = declaration.parent as ModuleBlock | SourceFile | Block | CaseClause | DefaultClause | ConstructorDeclaration | MethodDeclaration | FunctionDeclaration | ObjectTypeDeclaration | ObjectLiteralExpression; + const container = declaration.parent as ModuleBlock | SourceFile | Block | CaseClause | DefaultClause | ConstructorDeclaration | MethodDeclaration | FunctionDeclaration | ObjectTypeDeclaration; switch (container.kind) { case SyntaxKind.ModuleBlock: case SyntaxKind.SourceFile: @@ -332,11 +331,8 @@ export namespace DocumentHighlights { return nodes; // Syntactically invalid positions that the parser might produce anyway - case SyntaxKind.ObjectLiteralExpression: - return undefined; - default: - Debug.assertNever(container, "Invalid container kind."); + return undefined; } } diff --git a/tests/baselines/reference/exportInLabeledStatement.baseline.jsonc b/tests/baselines/reference/exportInLabeledStatement.baseline.jsonc new file mode 100644 index 00000000000..1d354ce77c8 --- /dev/null +++ b/tests/baselines/reference/exportInLabeledStatement.baseline.jsonc @@ -0,0 +1,7 @@ +// === documentHighlights === +// filesToSearch: +// /tests/cases/fourslash/a.ts + +// === /tests/cases/fourslash/a.ts === +// subTitle: +// /*HIGHLIGHTS*/export const title: string \ No newline at end of file diff --git a/tests/cases/fourslash/exportInLabeledStatement.ts b/tests/cases/fourslash/exportInLabeledStatement.ts new file mode 100644 index 00000000000..f9bde8c4922 --- /dev/null +++ b/tests/cases/fourslash/exportInLabeledStatement.ts @@ -0,0 +1,8 @@ +/// + +// @Filename: a.ts +//// subTitle: +//// [|export|] const title: string + +verify.baselineDocumentHighlights(test.ranges()[0], { filesToSearch: [test.ranges()[0].fileName] }); + From c6c42992c18909468cd69ccf2f9897a259406621 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Tue, 23 Jul 2024 00:59:02 +0200 Subject: [PATCH 49/89] Fixed a crash when transforming modules with top-level labels (#59374) --- src/compiler/transformers/module/module.ts | 2 +- src/compiler/transformers/module/system.ts | 2 +- ...rationNoCrash1(module=commonjs).errors.txt | 18 +++++++++++++++ ...ortDeclarationNoCrash1(module=commonjs).js | 16 +++++++++++++ ...clarationNoCrash1(module=commonjs).symbols | 12 ++++++++++ ...DeclarationNoCrash1(module=commonjs).types | 17 ++++++++++++++ ...larationNoCrash1(module=esnext).errors.txt | 18 +++++++++++++++ ...xportDeclarationNoCrash1(module=esnext).js | 14 +++++++++++ ...DeclarationNoCrash1(module=esnext).symbols | 12 ++++++++++ ...rtDeclarationNoCrash1(module=esnext).types | 17 ++++++++++++++ ...larationNoCrash1(module=system).errors.txt | 18 +++++++++++++++ ...xportDeclarationNoCrash1(module=system).js | 23 +++++++++++++++++++ ...DeclarationNoCrash1(module=system).symbols | 12 ++++++++++ ...rtDeclarationNoCrash1(module=system).types | 17 ++++++++++++++ ...beledStatementExportDeclarationNoCrash1.ts | 8 +++++++ 15 files changed, 204 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).errors.txt create mode 100644 tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).js create mode 100644 tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).symbols create mode 100644 tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).types create mode 100644 tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).errors.txt create mode 100644 tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).js create mode 100644 tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).symbols create mode 100644 tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).types create mode 100644 tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).errors.txt create mode 100644 tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).js create mode 100644 tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).symbols create mode 100644 tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).types create mode 100644 tests/cases/conformance/statements/labeledStatements/labeledStatementExportDeclarationNoCrash1.ts diff --git a/src/compiler/transformers/module/module.ts b/src/compiler/transformers/module/module.ts index dc30bca2bb8..73c672f0974 100644 --- a/src/compiler/transformers/module/module.ts +++ b/src/compiler/transformers/module/module.ts @@ -993,7 +993,7 @@ export function transformModule(context: TransformationContext): (x: SourceFile return factory.updateLabeledStatement( node, node.label, - Debug.checkDefined(visitNode(node.statement, topLevelNestedVisitor, isStatement, factory.liftToBlock)), + visitNode(node.statement, topLevelNestedVisitor, isStatement, factory.liftToBlock) ?? factory.createExpressionStatement(factory.createIdentifier("")), ); } diff --git a/src/compiler/transformers/module/system.ts b/src/compiler/transformers/module/system.ts index 442af8707fb..653bda6384c 100644 --- a/src/compiler/transformers/module/system.ts +++ b/src/compiler/transformers/module/system.ts @@ -1419,7 +1419,7 @@ export function transformSystemModule(context: TransformationContext): (x: Sourc return factory.updateLabeledStatement( node, node.label, - Debug.checkDefined(visitNode(node.statement, topLevelNestedVisitor, isStatement, factory.liftToBlock)), + visitNode(node.statement, topLevelNestedVisitor, isStatement, factory.liftToBlock) ?? factory.createExpressionStatement(factory.createIdentifier("")), ); } diff --git a/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).errors.txt b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).errors.txt new file mode 100644 index 00000000000..c82821c21e5 --- /dev/null +++ b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).errors.txt @@ -0,0 +1,18 @@ +labeledStatementExportDeclarationNoCrash1.ts(3,14): error TS1155: 'const' declarations must be initialized. +labeledStatementExportDeclarationNoCrash1.ts(5,1): error TS1184: Modifiers cannot appear here. +labeledStatementExportDeclarationNoCrash1.ts(5,14): error TS1155: 'const' declarations must be initialized. + + +==== labeledStatementExportDeclarationNoCrash1.ts (3 errors) ==== + // https://github.com/microsoft/TypeScript/issues/59372 + + export const box: string + ~~~ +!!! error TS1155: 'const' declarations must be initialized. + subTitle: + export const title: string + ~~~~~~ +!!! error TS1184: Modifiers cannot appear here. + ~~~~~ +!!! error TS1155: 'const' declarations must be initialized. + \ No newline at end of file diff --git a/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).js b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).js new file mode 100644 index 00000000000..4f3c66a76c2 --- /dev/null +++ b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).js @@ -0,0 +1,16 @@ +//// [tests/cases/conformance/statements/labeledStatements/labeledStatementExportDeclarationNoCrash1.ts] //// + +//// [labeledStatementExportDeclarationNoCrash1.ts] +// https://github.com/microsoft/TypeScript/issues/59372 + +export const box: string +subTitle: +export const title: string + + +//// [labeledStatementExportDeclarationNoCrash1.js] +"use strict"; +// https://github.com/microsoft/TypeScript/issues/59372 +Object.defineProperty(exports, "__esModule", { value: true }); +exports.box = void 0; +subTitle: ; diff --git a/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).symbols b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).symbols new file mode 100644 index 00000000000..a042c4b6a1e --- /dev/null +++ b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/statements/labeledStatements/labeledStatementExportDeclarationNoCrash1.ts] //// + +=== labeledStatementExportDeclarationNoCrash1.ts === +// https://github.com/microsoft/TypeScript/issues/59372 + +export const box: string +>box : Symbol(box, Decl(labeledStatementExportDeclarationNoCrash1.ts, 2, 12)) + +subTitle: +export const title: string +>title : Symbol(title, Decl(labeledStatementExportDeclarationNoCrash1.ts, 4, 12)) + diff --git a/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).types b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).types new file mode 100644 index 00000000000..fc807eeefce --- /dev/null +++ b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=commonjs).types @@ -0,0 +1,17 @@ +//// [tests/cases/conformance/statements/labeledStatements/labeledStatementExportDeclarationNoCrash1.ts] //// + +=== labeledStatementExportDeclarationNoCrash1.ts === +// https://github.com/microsoft/TypeScript/issues/59372 + +export const box: string +>box : string +> : ^^^^^^ + +subTitle: +>subTitle : any +> : ^^^ + +export const title: string +>title : string +> : ^^^^^^ + diff --git a/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).errors.txt b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).errors.txt new file mode 100644 index 00000000000..c82821c21e5 --- /dev/null +++ b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).errors.txt @@ -0,0 +1,18 @@ +labeledStatementExportDeclarationNoCrash1.ts(3,14): error TS1155: 'const' declarations must be initialized. +labeledStatementExportDeclarationNoCrash1.ts(5,1): error TS1184: Modifiers cannot appear here. +labeledStatementExportDeclarationNoCrash1.ts(5,14): error TS1155: 'const' declarations must be initialized. + + +==== labeledStatementExportDeclarationNoCrash1.ts (3 errors) ==== + // https://github.com/microsoft/TypeScript/issues/59372 + + export const box: string + ~~~ +!!! error TS1155: 'const' declarations must be initialized. + subTitle: + export const title: string + ~~~~~~ +!!! error TS1184: Modifiers cannot appear here. + ~~~~~ +!!! error TS1155: 'const' declarations must be initialized. + \ No newline at end of file diff --git a/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).js b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).js new file mode 100644 index 00000000000..949d9eada7f --- /dev/null +++ b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).js @@ -0,0 +1,14 @@ +//// [tests/cases/conformance/statements/labeledStatements/labeledStatementExportDeclarationNoCrash1.ts] //// + +//// [labeledStatementExportDeclarationNoCrash1.ts] +// https://github.com/microsoft/TypeScript/issues/59372 + +export const box: string +subTitle: +export const title: string + + +//// [labeledStatementExportDeclarationNoCrash1.js] +// https://github.com/microsoft/TypeScript/issues/59372 +export var box; +subTitle: export var title; diff --git a/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).symbols b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).symbols new file mode 100644 index 00000000000..a042c4b6a1e --- /dev/null +++ b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/statements/labeledStatements/labeledStatementExportDeclarationNoCrash1.ts] //// + +=== labeledStatementExportDeclarationNoCrash1.ts === +// https://github.com/microsoft/TypeScript/issues/59372 + +export const box: string +>box : Symbol(box, Decl(labeledStatementExportDeclarationNoCrash1.ts, 2, 12)) + +subTitle: +export const title: string +>title : Symbol(title, Decl(labeledStatementExportDeclarationNoCrash1.ts, 4, 12)) + diff --git a/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).types b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).types new file mode 100644 index 00000000000..fc807eeefce --- /dev/null +++ b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=esnext).types @@ -0,0 +1,17 @@ +//// [tests/cases/conformance/statements/labeledStatements/labeledStatementExportDeclarationNoCrash1.ts] //// + +=== labeledStatementExportDeclarationNoCrash1.ts === +// https://github.com/microsoft/TypeScript/issues/59372 + +export const box: string +>box : string +> : ^^^^^^ + +subTitle: +>subTitle : any +> : ^^^ + +export const title: string +>title : string +> : ^^^^^^ + diff --git a/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).errors.txt b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).errors.txt new file mode 100644 index 00000000000..c82821c21e5 --- /dev/null +++ b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).errors.txt @@ -0,0 +1,18 @@ +labeledStatementExportDeclarationNoCrash1.ts(3,14): error TS1155: 'const' declarations must be initialized. +labeledStatementExportDeclarationNoCrash1.ts(5,1): error TS1184: Modifiers cannot appear here. +labeledStatementExportDeclarationNoCrash1.ts(5,14): error TS1155: 'const' declarations must be initialized. + + +==== labeledStatementExportDeclarationNoCrash1.ts (3 errors) ==== + // https://github.com/microsoft/TypeScript/issues/59372 + + export const box: string + ~~~ +!!! error TS1155: 'const' declarations must be initialized. + subTitle: + export const title: string + ~~~~~~ +!!! error TS1184: Modifiers cannot appear here. + ~~~~~ +!!! error TS1155: 'const' declarations must be initialized. + \ No newline at end of file diff --git a/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).js b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).js new file mode 100644 index 00000000000..18338c84c4d --- /dev/null +++ b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).js @@ -0,0 +1,23 @@ +//// [tests/cases/conformance/statements/labeledStatements/labeledStatementExportDeclarationNoCrash1.ts] //// + +//// [labeledStatementExportDeclarationNoCrash1.ts] +// https://github.com/microsoft/TypeScript/issues/59372 + +export const box: string +subTitle: +export const title: string + + +//// [labeledStatementExportDeclarationNoCrash1.js] +// https://github.com/microsoft/TypeScript/issues/59372 +System.register([], function (exports_1, context_1) { + "use strict"; + var box, title; + var __moduleName = context_1 && context_1.id; + return { + setters: [], + execute: function () { + subTitle: ; + } + }; +}); diff --git a/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).symbols b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).symbols new file mode 100644 index 00000000000..a042c4b6a1e --- /dev/null +++ b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).symbols @@ -0,0 +1,12 @@ +//// [tests/cases/conformance/statements/labeledStatements/labeledStatementExportDeclarationNoCrash1.ts] //// + +=== labeledStatementExportDeclarationNoCrash1.ts === +// https://github.com/microsoft/TypeScript/issues/59372 + +export const box: string +>box : Symbol(box, Decl(labeledStatementExportDeclarationNoCrash1.ts, 2, 12)) + +subTitle: +export const title: string +>title : Symbol(title, Decl(labeledStatementExportDeclarationNoCrash1.ts, 4, 12)) + diff --git a/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).types b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).types new file mode 100644 index 00000000000..fc807eeefce --- /dev/null +++ b/tests/baselines/reference/labeledStatementExportDeclarationNoCrash1(module=system).types @@ -0,0 +1,17 @@ +//// [tests/cases/conformance/statements/labeledStatements/labeledStatementExportDeclarationNoCrash1.ts] //// + +=== labeledStatementExportDeclarationNoCrash1.ts === +// https://github.com/microsoft/TypeScript/issues/59372 + +export const box: string +>box : string +> : ^^^^^^ + +subTitle: +>subTitle : any +> : ^^^ + +export const title: string +>title : string +> : ^^^^^^ + diff --git a/tests/cases/conformance/statements/labeledStatements/labeledStatementExportDeclarationNoCrash1.ts b/tests/cases/conformance/statements/labeledStatements/labeledStatementExportDeclarationNoCrash1.ts new file mode 100644 index 00000000000..8c64b9e63f4 --- /dev/null +++ b/tests/cases/conformance/statements/labeledStatements/labeledStatementExportDeclarationNoCrash1.ts @@ -0,0 +1,8 @@ +// @strict: true +// @module: esnext, commonjs, system + +// https://github.com/microsoft/TypeScript/issues/59372 + +export const box: string +subTitle: +export const title: string From 09e47d0638c4951c52783a708cf87009a9af5aa5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Tue, 23 Jul 2024 00:59:12 +0200 Subject: [PATCH 50/89] Fixed crash when transforming modules with top-level if statements incorrectly containining export statements (#59375) --- src/compiler/transformers/module/module.ts | 2 +- src/compiler/transformers/module/system.ts | 2 +- ...tementNoCrash1(module=commonjs).errors.txt | 18 ++++++++++++++ ...fThenStatementNoCrash1(module=commonjs).js | 16 +++++++++++++ ...StatementNoCrash1(module=commonjs).symbols | 13 ++++++++++ ...enStatementNoCrash1(module=commonjs).types | 17 +++++++++++++ ...tatementNoCrash1(module=esnext).errors.txt | 18 ++++++++++++++ ...nIfThenStatementNoCrash1(module=esnext).js | 15 ++++++++++++ ...enStatementNoCrash1(module=esnext).symbols | 13 ++++++++++ ...ThenStatementNoCrash1(module=esnext).types | 17 +++++++++++++ ...tatementNoCrash1(module=system).errors.txt | 18 ++++++++++++++ ...nIfThenStatementNoCrash1(module=system).js | 24 +++++++++++++++++++ ...enStatementNoCrash1(module=system).symbols | 13 ++++++++++ ...ThenStatementNoCrash1(module=system).types | 17 +++++++++++++ ...lizedVariablesInIfThenStatementNoCrash1.ts | 8 +++++++ 15 files changed, 209 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).errors.txt create mode 100644 tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).js create mode 100644 tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).symbols create mode 100644 tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).types create mode 100644 tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).errors.txt create mode 100644 tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).js create mode 100644 tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).symbols create mode 100644 tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).types create mode 100644 tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).errors.txt create mode 100644 tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).js create mode 100644 tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).symbols create mode 100644 tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).types create mode 100644 tests/cases/conformance/externalModules/exportNonInitializedVariablesInIfThenStatementNoCrash1.ts diff --git a/src/compiler/transformers/module/module.ts b/src/compiler/transformers/module/module.ts index 73c672f0974..ca8f46cf226 100644 --- a/src/compiler/transformers/module/module.ts +++ b/src/compiler/transformers/module/module.ts @@ -1019,7 +1019,7 @@ export function transformModule(context: TransformationContext): (x: SourceFile return factory.updateIfStatement( node, visitNode(node.expression, visitor, isExpression), - Debug.checkDefined(visitNode(node.thenStatement, topLevelNestedVisitor, isStatement, factory.liftToBlock)), + visitNode(node.thenStatement, topLevelNestedVisitor, isStatement, factory.liftToBlock) ?? factory.createBlock([]), visitNode(node.elseStatement, topLevelNestedVisitor, isStatement, factory.liftToBlock), ); } diff --git a/src/compiler/transformers/module/system.ts b/src/compiler/transformers/module/system.ts index 653bda6384c..c9fd1645345 100644 --- a/src/compiler/transformers/module/system.ts +++ b/src/compiler/transformers/module/system.ts @@ -1445,7 +1445,7 @@ export function transformSystemModule(context: TransformationContext): (x: Sourc return factory.updateIfStatement( node, visitNode(node.expression, visitor, isExpression), - Debug.checkDefined(visitNode(node.thenStatement, topLevelNestedVisitor, isStatement, factory.liftToBlock)), + visitNode(node.thenStatement, topLevelNestedVisitor, isStatement, factory.liftToBlock) ?? factory.createBlock([]), visitNode(node.elseStatement, topLevelNestedVisitor, isStatement, factory.liftToBlock), ); } diff --git a/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).errors.txt b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).errors.txt new file mode 100644 index 00000000000..dd7b763f5af --- /dev/null +++ b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).errors.txt @@ -0,0 +1,18 @@ +exportNonInitializedVariablesInIfThenStatementNoCrash1.ts(4,1): error TS1184: Modifiers cannot appear here. +exportNonInitializedVariablesInIfThenStatementNoCrash1.ts(4,14): error TS1155: 'const' declarations must be initialized. +exportNonInitializedVariablesInIfThenStatementNoCrash1.ts(4,26): error TS2304: Cannot find name 'CssExports'. + + +==== exportNonInitializedVariablesInIfThenStatementNoCrash1.ts (3 errors) ==== + // https://github.com/microsoft/TypeScript/issues/59373 + + if (true) + export const cssExports: CssExports; + ~~~~~~ +!!! error TS1184: Modifiers cannot appear here. + ~~~~~~~~~~ +!!! error TS1155: 'const' declarations must be initialized. + ~~~~~~~~~~ +!!! error TS2304: Cannot find name 'CssExports'. + export default cssExports; + \ No newline at end of file diff --git a/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).js b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).js new file mode 100644 index 00000000000..ac5bbab8e2f --- /dev/null +++ b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).js @@ -0,0 +1,16 @@ +//// [tests/cases/conformance/externalModules/exportNonInitializedVariablesInIfThenStatementNoCrash1.ts] //// + +//// [exportNonInitializedVariablesInIfThenStatementNoCrash1.ts] +// https://github.com/microsoft/TypeScript/issues/59373 + +if (true) +export const cssExports: CssExports; +export default cssExports; + + +//// [exportNonInitializedVariablesInIfThenStatementNoCrash1.js] +"use strict"; +// https://github.com/microsoft/TypeScript/issues/59373 +Object.defineProperty(exports, "__esModule", { value: true }); +if (true) { } +exports.default = exports.cssExports; diff --git a/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).symbols b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).symbols new file mode 100644 index 00000000000..5cb9612e460 --- /dev/null +++ b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).symbols @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/externalModules/exportNonInitializedVariablesInIfThenStatementNoCrash1.ts] //// + +=== exportNonInitializedVariablesInIfThenStatementNoCrash1.ts === +// https://github.com/microsoft/TypeScript/issues/59373 + +if (true) +export const cssExports: CssExports; +>cssExports : Symbol(cssExports, Decl(exportNonInitializedVariablesInIfThenStatementNoCrash1.ts, 3, 12)) +>CssExports : Symbol(CssExports) + +export default cssExports; +>cssExports : Symbol(cssExports, Decl(exportNonInitializedVariablesInIfThenStatementNoCrash1.ts, 3, 12)) + diff --git a/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).types b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).types new file mode 100644 index 00000000000..9d4ee2f99e7 --- /dev/null +++ b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=commonjs).types @@ -0,0 +1,17 @@ +//// [tests/cases/conformance/externalModules/exportNonInitializedVariablesInIfThenStatementNoCrash1.ts] //// + +=== exportNonInitializedVariablesInIfThenStatementNoCrash1.ts === +// https://github.com/microsoft/TypeScript/issues/59373 + +if (true) +>true : true +> : ^^^^ + +export const cssExports: CssExports; +>cssExports : CssExports +> : ^^^^^^^^^^ + +export default cssExports; +>cssExports : CssExports +> : ^^^^^^^^^^ + diff --git a/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).errors.txt b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).errors.txt new file mode 100644 index 00000000000..dd7b763f5af --- /dev/null +++ b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).errors.txt @@ -0,0 +1,18 @@ +exportNonInitializedVariablesInIfThenStatementNoCrash1.ts(4,1): error TS1184: Modifiers cannot appear here. +exportNonInitializedVariablesInIfThenStatementNoCrash1.ts(4,14): error TS1155: 'const' declarations must be initialized. +exportNonInitializedVariablesInIfThenStatementNoCrash1.ts(4,26): error TS2304: Cannot find name 'CssExports'. + + +==== exportNonInitializedVariablesInIfThenStatementNoCrash1.ts (3 errors) ==== + // https://github.com/microsoft/TypeScript/issues/59373 + + if (true) + export const cssExports: CssExports; + ~~~~~~ +!!! error TS1184: Modifiers cannot appear here. + ~~~~~~~~~~ +!!! error TS1155: 'const' declarations must be initialized. + ~~~~~~~~~~ +!!! error TS2304: Cannot find name 'CssExports'. + export default cssExports; + \ No newline at end of file diff --git a/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).js b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).js new file mode 100644 index 00000000000..83b6acbd00e --- /dev/null +++ b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).js @@ -0,0 +1,15 @@ +//// [tests/cases/conformance/externalModules/exportNonInitializedVariablesInIfThenStatementNoCrash1.ts] //// + +//// [exportNonInitializedVariablesInIfThenStatementNoCrash1.ts] +// https://github.com/microsoft/TypeScript/issues/59373 + +if (true) +export const cssExports: CssExports; +export default cssExports; + + +//// [exportNonInitializedVariablesInIfThenStatementNoCrash1.js] +// https://github.com/microsoft/TypeScript/issues/59373 +if (true) + export var cssExports; +export default cssExports; diff --git a/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).symbols b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).symbols new file mode 100644 index 00000000000..5cb9612e460 --- /dev/null +++ b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).symbols @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/externalModules/exportNonInitializedVariablesInIfThenStatementNoCrash1.ts] //// + +=== exportNonInitializedVariablesInIfThenStatementNoCrash1.ts === +// https://github.com/microsoft/TypeScript/issues/59373 + +if (true) +export const cssExports: CssExports; +>cssExports : Symbol(cssExports, Decl(exportNonInitializedVariablesInIfThenStatementNoCrash1.ts, 3, 12)) +>CssExports : Symbol(CssExports) + +export default cssExports; +>cssExports : Symbol(cssExports, Decl(exportNonInitializedVariablesInIfThenStatementNoCrash1.ts, 3, 12)) + diff --git a/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).types b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).types new file mode 100644 index 00000000000..9d4ee2f99e7 --- /dev/null +++ b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=esnext).types @@ -0,0 +1,17 @@ +//// [tests/cases/conformance/externalModules/exportNonInitializedVariablesInIfThenStatementNoCrash1.ts] //// + +=== exportNonInitializedVariablesInIfThenStatementNoCrash1.ts === +// https://github.com/microsoft/TypeScript/issues/59373 + +if (true) +>true : true +> : ^^^^ + +export const cssExports: CssExports; +>cssExports : CssExports +> : ^^^^^^^^^^ + +export default cssExports; +>cssExports : CssExports +> : ^^^^^^^^^^ + diff --git a/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).errors.txt b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).errors.txt new file mode 100644 index 00000000000..dd7b763f5af --- /dev/null +++ b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).errors.txt @@ -0,0 +1,18 @@ +exportNonInitializedVariablesInIfThenStatementNoCrash1.ts(4,1): error TS1184: Modifiers cannot appear here. +exportNonInitializedVariablesInIfThenStatementNoCrash1.ts(4,14): error TS1155: 'const' declarations must be initialized. +exportNonInitializedVariablesInIfThenStatementNoCrash1.ts(4,26): error TS2304: Cannot find name 'CssExports'. + + +==== exportNonInitializedVariablesInIfThenStatementNoCrash1.ts (3 errors) ==== + // https://github.com/microsoft/TypeScript/issues/59373 + + if (true) + export const cssExports: CssExports; + ~~~~~~ +!!! error TS1184: Modifiers cannot appear here. + ~~~~~~~~~~ +!!! error TS1155: 'const' declarations must be initialized. + ~~~~~~~~~~ +!!! error TS2304: Cannot find name 'CssExports'. + export default cssExports; + \ No newline at end of file diff --git a/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).js b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).js new file mode 100644 index 00000000000..bfe6486c9f3 --- /dev/null +++ b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).js @@ -0,0 +1,24 @@ +//// [tests/cases/conformance/externalModules/exportNonInitializedVariablesInIfThenStatementNoCrash1.ts] //// + +//// [exportNonInitializedVariablesInIfThenStatementNoCrash1.ts] +// https://github.com/microsoft/TypeScript/issues/59373 + +if (true) +export const cssExports: CssExports; +export default cssExports; + + +//// [exportNonInitializedVariablesInIfThenStatementNoCrash1.js] +// https://github.com/microsoft/TypeScript/issues/59373 +System.register([], function (exports_1, context_1) { + "use strict"; + var cssExports; + var __moduleName = context_1 && context_1.id; + return { + setters: [], + execute: function () { + if (true) { } + exports_1("default", cssExports); + } + }; +}); diff --git a/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).symbols b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).symbols new file mode 100644 index 00000000000..5cb9612e460 --- /dev/null +++ b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).symbols @@ -0,0 +1,13 @@ +//// [tests/cases/conformance/externalModules/exportNonInitializedVariablesInIfThenStatementNoCrash1.ts] //// + +=== exportNonInitializedVariablesInIfThenStatementNoCrash1.ts === +// https://github.com/microsoft/TypeScript/issues/59373 + +if (true) +export const cssExports: CssExports; +>cssExports : Symbol(cssExports, Decl(exportNonInitializedVariablesInIfThenStatementNoCrash1.ts, 3, 12)) +>CssExports : Symbol(CssExports) + +export default cssExports; +>cssExports : Symbol(cssExports, Decl(exportNonInitializedVariablesInIfThenStatementNoCrash1.ts, 3, 12)) + diff --git a/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).types b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).types new file mode 100644 index 00000000000..9d4ee2f99e7 --- /dev/null +++ b/tests/baselines/reference/exportNonInitializedVariablesInIfThenStatementNoCrash1(module=system).types @@ -0,0 +1,17 @@ +//// [tests/cases/conformance/externalModules/exportNonInitializedVariablesInIfThenStatementNoCrash1.ts] //// + +=== exportNonInitializedVariablesInIfThenStatementNoCrash1.ts === +// https://github.com/microsoft/TypeScript/issues/59373 + +if (true) +>true : true +> : ^^^^ + +export const cssExports: CssExports; +>cssExports : CssExports +> : ^^^^^^^^^^ + +export default cssExports; +>cssExports : CssExports +> : ^^^^^^^^^^ + diff --git a/tests/cases/conformance/externalModules/exportNonInitializedVariablesInIfThenStatementNoCrash1.ts b/tests/cases/conformance/externalModules/exportNonInitializedVariablesInIfThenStatementNoCrash1.ts new file mode 100644 index 00000000000..7b626f7704b --- /dev/null +++ b/tests/cases/conformance/externalModules/exportNonInitializedVariablesInIfThenStatementNoCrash1.ts @@ -0,0 +1,8 @@ +// @strict: true +// @module: esnext, commonjs, system + +// https://github.com/microsoft/TypeScript/issues/59373 + +if (true) +export const cssExports: CssExports; +export default cssExports; From ca4ef16c8f75d305c21145aecd304a82471492e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Tue, 23 Jul 2024 01:00:16 +0200 Subject: [PATCH 51/89] Fixed crash in `classFields` transform related to broken bodyless constructors (#59280) Co-authored-by: Jake Bailey <5341706+jakebailey@users.noreply.github.com> --- src/compiler/transformers/classFields.ts | 4 ++-- ...ieldsBrokenConstructorEmitNoCrash1.errors.txt | 14 ++++++++++++++ .../classFieldsBrokenConstructorEmitNoCrash1.js | 16 ++++++++++++++++ ...ssFieldsBrokenConstructorEmitNoCrash1.symbols | 12 ++++++++++++ ...lassFieldsBrokenConstructorEmitNoCrash1.types | 16 ++++++++++++++++ .../classFieldsBrokenConstructorEmitNoCrash1.ts | 8 ++++++++ 6 files changed, 68 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.errors.txt create mode 100644 tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.js create mode 100644 tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.symbols create mode 100644 tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.types create mode 100644 tests/cases/compiler/classFieldsBrokenConstructorEmitNoCrash1.ts diff --git a/src/compiler/transformers/classFields.ts b/src/compiler/transformers/classFields.ts index 7ddafb36f7e..5a1b4321792 100644 --- a/src/compiler/transformers/classFields.ts +++ b/src/compiler/transformers/classFields.ts @@ -2416,11 +2416,11 @@ export function transformClassFields(context: TransformationContext): (x: Source factory.createBlock( setTextRange( factory.createNodeArray(statements), - /*location*/ constructor ? constructor.body!.statements : node.members, + /*location*/ constructor?.body?.statements ?? node.members, ), multiLine, ), - /*location*/ constructor ? constructor.body : undefined, + /*location*/ constructor?.body, ); } diff --git a/tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.errors.txt b/tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.errors.txt new file mode 100644 index 00000000000..882569d85c1 --- /dev/null +++ b/tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.errors.txt @@ -0,0 +1,14 @@ +classFieldsBrokenConstructorEmitNoCrash1.ts(3,3): error TS2390: Constructor implementation is missing. +classFieldsBrokenConstructorEmitNoCrash1.ts(4,1): error TS1005: '(' expected. + + +==== classFieldsBrokenConstructorEmitNoCrash1.ts (2 errors) ==== + class Test { + prop = 42; + constructor + ~~~~~~~~~~~ +!!! error TS2390: Constructor implementation is missing. + } + ~ +!!! error TS1005: '(' expected. + \ No newline at end of file diff --git a/tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.js b/tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.js new file mode 100644 index 00000000000..4e12c57a8b2 --- /dev/null +++ b/tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.js @@ -0,0 +1,16 @@ +//// [tests/cases/compiler/classFieldsBrokenConstructorEmitNoCrash1.ts] //// + +//// [classFieldsBrokenConstructorEmitNoCrash1.ts] +class Test { + prop = 42; + constructor +} + + +//// [classFieldsBrokenConstructorEmitNoCrash1.js] +"use strict"; +class Test { + constructor() { + this.prop = 42; + } +} diff --git a/tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.symbols b/tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.symbols new file mode 100644 index 00000000000..4ea4711c805 --- /dev/null +++ b/tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.symbols @@ -0,0 +1,12 @@ +//// [tests/cases/compiler/classFieldsBrokenConstructorEmitNoCrash1.ts] //// + +=== classFieldsBrokenConstructorEmitNoCrash1.ts === +class Test { +>Test : Symbol(Test, Decl(classFieldsBrokenConstructorEmitNoCrash1.ts, 0, 0)) + + prop = 42; +>prop : Symbol(Test.prop, Decl(classFieldsBrokenConstructorEmitNoCrash1.ts, 0, 12)) + + constructor +} + diff --git a/tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.types b/tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.types new file mode 100644 index 00000000000..6619167936e --- /dev/null +++ b/tests/baselines/reference/classFieldsBrokenConstructorEmitNoCrash1.types @@ -0,0 +1,16 @@ +//// [tests/cases/compiler/classFieldsBrokenConstructorEmitNoCrash1.ts] //// + +=== classFieldsBrokenConstructorEmitNoCrash1.ts === +class Test { +>Test : Test +> : ^^^^ + + prop = 42; +>prop : number +> : ^^^^^^ +>42 : 42 +> : ^^ + + constructor +} + diff --git a/tests/cases/compiler/classFieldsBrokenConstructorEmitNoCrash1.ts b/tests/cases/compiler/classFieldsBrokenConstructorEmitNoCrash1.ts new file mode 100644 index 00000000000..f9a9e712ccd --- /dev/null +++ b/tests/cases/compiler/classFieldsBrokenConstructorEmitNoCrash1.ts @@ -0,0 +1,8 @@ +// @strict: true +// @useDefineForClassFields: false +// @target: es2021 + +class Test { + prop = 42; + constructor +} From 8a0e47e24211d54df91203a4089a31c5ed594275 Mon Sep 17 00:00:00 2001 From: "Oleksandr T." Date: Tue, 23 Jul 2024 02:10:29 +0300 Subject: [PATCH 52/89] fix(58772): Duplicate exports.* = assignments in CommonJS output in some cases (#59120) --- src/compiler/transformers/utilities.ts | 3 ++- .../baselines/reference/exportsAndImports5.js | 24 ++++++++++++++++++ .../reference/exportsAndImports5.symbols | 20 +++++++++++++++ .../reference/exportsAndImports5.types | 25 +++++++++++++++++++ .../es6/modules/exportsAndImports5.ts | 11 ++++++++ 5 files changed, 82 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/exportsAndImports5.js create mode 100644 tests/baselines/reference/exportsAndImports5.symbols create mode 100644 tests/baselines/reference/exportsAndImports5.types create mode 100644 tests/cases/conformance/es6/modules/exportsAndImports5.ts diff --git a/src/compiler/transformers/utilities.ts b/src/compiler/transformers/utilities.ts index f6fc5318169..fd1501e1d06 100644 --- a/src/compiler/transformers/utilities.ts +++ b/src/compiler/transformers/utilities.ts @@ -47,6 +47,7 @@ import { isClassStaticBlockDeclaration, isDefaultImport, isExpressionStatement, + isFunctionDeclaration, isGeneratedIdentifier, isGeneratedPrivateIdentifier, isIdentifier, @@ -321,7 +322,7 @@ export function collectExternalModuleInfo(context: TransformationContext, source } function addExportedFunctionDeclaration(node: FunctionDeclaration, name: ModuleExportName | undefined, isDefault: boolean) { - exportedFunctions.add(node); + exportedFunctions.add(getOriginalNode(node, isFunctionDeclaration)); if (isDefault) { // export default function() { } // function x() { } + export { x as default }; diff --git a/tests/baselines/reference/exportsAndImports5.js b/tests/baselines/reference/exportsAndImports5.js new file mode 100644 index 00000000000..b7f38688968 --- /dev/null +++ b/tests/baselines/reference/exportsAndImports5.js @@ -0,0 +1,24 @@ +//// [tests/cases/conformance/es6/modules/exportsAndImports5.ts] //// + +//// [a.ts] +export interface A { } + +//// [b.ts] +import { A } from "./a" +export function f(): A { + return {}; +} +export { f as fV2 }; + + +//// [a.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//// [b.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.f = f; +exports.fV2 = f; +function f() { + return {}; +} diff --git a/tests/baselines/reference/exportsAndImports5.symbols b/tests/baselines/reference/exportsAndImports5.symbols new file mode 100644 index 00000000000..bdd1ee1fa0f --- /dev/null +++ b/tests/baselines/reference/exportsAndImports5.symbols @@ -0,0 +1,20 @@ +//// [tests/cases/conformance/es6/modules/exportsAndImports5.ts] //// + +=== a.ts === +export interface A { } +>A : Symbol(A, Decl(a.ts, 0, 0)) + +=== b.ts === +import { A } from "./a" +>A : Symbol(A, Decl(b.ts, 0, 8)) + +export function f(): A { +>f : Symbol(f, Decl(b.ts, 0, 23)) +>A : Symbol(A, Decl(b.ts, 0, 8)) + + return {}; +} +export { f as fV2 }; +>f : Symbol(f, Decl(b.ts, 0, 23)) +>fV2 : Symbol(fV2, Decl(b.ts, 4, 8)) + diff --git a/tests/baselines/reference/exportsAndImports5.types b/tests/baselines/reference/exportsAndImports5.types new file mode 100644 index 00000000000..edd2d071983 --- /dev/null +++ b/tests/baselines/reference/exportsAndImports5.types @@ -0,0 +1,25 @@ +//// [tests/cases/conformance/es6/modules/exportsAndImports5.ts] //// + +=== a.ts === + +export interface A { } + +=== b.ts === +import { A } from "./a" +>A : any +> : ^^^ + +export function f(): A { +>f : () => A +> : ^^^^^^ + + return {}; +>{} : {} +> : ^^ +} +export { f as fV2 }; +>f : () => A +> : ^^^^^^ +>fV2 : () => A +> : ^^^^^^ + diff --git a/tests/cases/conformance/es6/modules/exportsAndImports5.ts b/tests/cases/conformance/es6/modules/exportsAndImports5.ts new file mode 100644 index 00000000000..d8a90719728 --- /dev/null +++ b/tests/cases/conformance/es6/modules/exportsAndImports5.ts @@ -0,0 +1,11 @@ +// @module: commonjs + +// @filename: a.ts +export interface A { } + +// @filename: b.ts +import { A } from "./a" +export function f(): A { + return {}; +} +export { f as fV2 }; From b04c8a0edd3a750cf5ae701d82fd164daa594381 Mon Sep 17 00:00:00 2001 From: navya9singh <108360753+navya9singh@users.noreply.github.com> Date: Mon, 22 Jul 2024 17:14:35 -0700 Subject: [PATCH 53/89] Fixing range for primary edit (#59369) --- src/server/project.ts | 4 +- .../pasteEdits_addInNextLine.js | 328 ++++++++++++++++++ .../server/pasteEdits_addInNextLine.ts | 37 ++ 3 files changed, 367 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/tsserver/fourslashServer/pasteEdits_addInNextLine.js create mode 100644 tests/cases/fourslash/server/pasteEdits_addInNextLine.ts diff --git a/src/server/project.ts b/src/server/project.ts index cf4167040cc..3bb22536214 100644 --- a/src/server/project.ts +++ b/src/server/project.ts @@ -2319,7 +2319,7 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo runWithTemporaryFileUpdate(rootFile: string, updatedText: string, cb: (updatedProgram: Program, originalProgram: Program | undefined, updatedFile: SourceFile) => void) { const originalProgram = this.program; const rootSourceFile = Debug.checkDefined(this.program?.getSourceFile(rootFile), "Expected file to be part of program"); - const originalText = Debug.checkDefined(rootSourceFile.getText()); + const originalText = Debug.checkDefined(rootSourceFile.getFullText()); this.getScriptInfo(rootFile)?.editContent(0, originalText.length, updatedText); this.updateGraph(); @@ -2327,7 +2327,7 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo cb(this.program!, originalProgram, (this.program?.getSourceFile(rootFile))!); } finally { - this.getScriptInfo(rootFile)?.editContent(0, this.program!.getSourceFile(rootFile)!.getText().length, originalText); + this.getScriptInfo(rootFile)?.editContent(0, updatedText.length, originalText); } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_addInNextLine.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_addInNextLine.js new file mode 100644 index 00000000000..df847da18a2 --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_addInNextLine.js @@ -0,0 +1,328 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/a.ts] + + + + + + +//// [/b.ts] +export interface Foo { } +export const a = 1; +export const t = 1; + +export const foo: Foo = { }; +export const k = a+ t; + +//// [/lib.d.ts] +lib.d.ts-Text + +//// [/lib.decorators.d.ts] +lib.decorators.d.ts-Text + +//// [/lib.decorators.legacy.d.ts] +lib.decorators.legacy.d.ts-Text + +//// [/tsconfig.json] +{ "files": ["a.ts", "b.ts"] } + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/a.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a.ts ProjectRootPath: undefined:: Result: /tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/tsconfig.json", + "reason": "Creating possible configured project for /a.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /tsconfig.json : { + "rootNames": [ + "/a.ts", + "/b.ts" + ], + "options": { + "configFilePath": "/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /b.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /a.ts SVC-1-0 "\n\n\n\n" + /b.ts Text-1 "export interface Foo { }\nexport const a = 1;\nexport const t = 1;\n\nexport const foo: Foo = { };\nexport const k = a+ t;" + + + lib.d.ts + Default library for target 'es5' + lib.decorators.d.ts + Library referenced via 'decorators' from file 'lib.d.ts' + lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file 'lib.d.ts' + a.ts + Part of 'files' list in tsconfig.json + b.ts + Part of 'files' list in tsconfig.json + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/a.ts", + "configFile": "/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /a.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 0, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/b.ts: *new* + {"pollingInterval":500} +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} +/tsconfig.json: *new* + {"pollingInterval":2000} + +Projects:: +/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /tsconfig.json *default* +/b.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /tsconfig.json + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "formatOptions": { + "indentSize": 4, + "tabSize": 4, + "newLineCharacter": "\n", + "convertTabsToSpaces": true, + "indentStyle": 2, + "insertSpaceAfterConstructor": false, + "insertSpaceAfterCommaDelimiter": true, + "insertSpaceAfterSemicolonInForStatements": true, + "insertSpaceBeforeAndAfterBinaryOperators": true, + "insertSpaceAfterKeywordsInControlFlowStatements": true, + "insertSpaceAfterFunctionKeywordForAnonymousFunctions": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyParenthesis": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBrackets": false, + "insertSpaceAfterOpeningAndBeforeClosingNonemptyBraces": true, + "insertSpaceAfterOpeningAndBeforeClosingTemplateStringBraces": false, + "insertSpaceAfterOpeningAndBeforeClosingJsxExpressionBraces": false, + "insertSpaceBeforeFunctionParenthesis": false, + "placeOpenBraceOnNewLineForFunctions": false, + "placeOpenBraceOnNewLineForControlBlocks": false, + "semicolons": "ignore", + "trimTrailingWhitespace": true, + "indentSwitchCase": true + } + }, + "command": "configure" + } +Info seq [hh:mm:ss:mss] Format host information updated +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "configure", + "request_seq": 1, + "success": true + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "file": "/a.ts", + "pastedText": [ + "export const foo: Foo = {};" + ], + "pasteLocations": [ + { + "start": { + "line": 4, + "offset": 1 + }, + "end": { + "line": 4, + "offset": 1 + } + } + ], + "copiedFrom": { + "file": "b.ts", + "spans": [ + { + "start": { + "line": 5, + "offset": 1 + }, + "end": { + "line": 5, + "offset": 29 + } + } + ] + } + }, + "command": "getPasteEdits" + } +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Completely Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (5) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /a.ts SVC-1-1 "\n\n\nexport const foo: Foo = {};\n" + /b.ts Text-1 "export interface Foo { }\nexport const a = 1;\nexport const t = 1;\n\nexport const foo: Foo = { };\nexport const k = a+ t;" + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "getPasteEdits", + "request_seq": 2, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + }, + "body": { + "edits": [ + { + "fileName": "/a.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 1 + }, + "end": { + "line": 1, + "offset": 1 + }, + "newText": "import { Foo } from \"./b\";\n" + }, + { + "start": { + "line": 4, + "offset": 1 + }, + "end": { + "line": 4, + "offset": 1 + }, + "newText": "export const foo: Foo = {};" + } + ] + } + ], + "fixId": "providePostPasteEdits" + } + } +After Request +Projects:: +/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/a.ts (Open) *changed* + version: SVC-1-2 *changed* + containingProjects: 1 + /tsconfig.json *default* +/b.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json +/lib.decorators.legacy.d.ts + version: Text-1 + containingProjects: 1 + /tsconfig.json diff --git a/tests/cases/fourslash/server/pasteEdits_addInNextLine.ts b/tests/cases/fourslash/server/pasteEdits_addInNextLine.ts new file mode 100644 index 00000000000..ce3919b85c3 --- /dev/null +++ b/tests/cases/fourslash/server/pasteEdits_addInNextLine.ts @@ -0,0 +1,37 @@ +/// + +// @Filename: /a.ts +//// +//// +//// +//// [||] +//// + +// @Filename: /b.ts +//// export interface Foo { } +//// export const a = 1; +//// export const t = 1; +//// +//// [|export const foo: Foo = { };|] +//// [|export const k = a+ t;|] + +// @Filename: /tsconfig.json +////{ "files": ["a.ts", "b.ts"] } + +const range = test.ranges(); +verify.pasteEdits({ + args: { + pastedText: [`export const foo: Foo = {};`], + pasteLocations: [range[0]], + copiedFrom: { file: "b.ts", range: [range[1]] }, + }, + newFileContents: { + "/a.ts": +`import { Foo } from "./b"; + + + +export const foo: Foo = {}; +` + } +}); From 97ed8fc13bd021d667d1e421924c7f64ff6e6e32 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Tue, 23 Jul 2024 10:32:11 -0700 Subject: [PATCH 54/89] Update deps, to TS 5.5.4 (#59395) --- package-lock.json | 268 +++++++++++++++++++++++----------------------- package.json | 12 +-- 2 files changed, 140 insertions(+), 140 deletions(-) diff --git a/package-lock.json b/package-lock.json index 2edf3e259a5..dcc408da63e 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,7 +14,7 @@ }, "devDependencies": { "@dprint/formatter": "^0.4.1", - "@dprint/typescript": "0.91.3", + "@dprint/typescript": "0.91.4", "@esfx/canceltoken": "^1.0.0", "@eslint/js": "^8.57.0", "@octokit/rest": "^21.0.1", @@ -26,7 +26,7 @@ "@types/node": "latest", "@types/source-map-support": "^0.5.10", "@types/which": "^3.0.4", - "@typescript-eslint/utils": "^7.16.1", + "@typescript-eslint/utils": "^7.17.0", "azure-devops-node-api": "^14.0.1", "c8": "^10.1.2", "chai": "^4.4.1", @@ -44,16 +44,16 @@ "jsonc-parser": "^3.3.1", "knip": "^5.26.0", "minimist": "^1.2.8", - "mocha": "^10.6.0", + "mocha": "^10.7.0", "mocha-fivemat-progress-reporter": "^0.1.0", "monocart-coverage-reports": "^2.9.3", "ms": "^2.1.3", "node-fetch": "^3.3.2", - "playwright": "^1.45.2", + "playwright": "^1.45.3", "source-map-support": "^0.5.21", "tslib": "^2.6.3", - "typescript": "^5.5.3", - "typescript-eslint": "^7.16.1", + "typescript": "^5.5.4", + "typescript-eslint": "^7.17.0", "which": "^3.0.1" }, "engines": { @@ -151,9 +151,9 @@ ] }, "node_modules/@dprint/typescript": { - "version": "0.91.3", - "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.3.tgz", - "integrity": "sha512-y/SAgNq4qAr6ZjpuOnIR3JSnOidLPWKtbIXaKzfR+YZGBICf9ant6PDGDpZdFh0szyZEXS3BNwTTAtsCK4s5uw==", + "version": "0.91.4", + "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.4.tgz", + "integrity": "sha512-je/T8JF07xehOVS7rx6Xo7T8Aa1Sd/p/+e/b/J2RE8yJHu09O+L0aHBSvec+usjR8/QwCu23AuDLl47zFSey5Q==", "dev": true }, "node_modules/@dprint/win32-arm64": { @@ -1081,16 +1081,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.1.tgz", - "integrity": "sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.17.0.tgz", + "integrity": "sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.16.1", - "@typescript-eslint/type-utils": "7.16.1", - "@typescript-eslint/utils": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/type-utils": "7.17.0", + "@typescript-eslint/utils": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1114,15 +1114,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.16.1.tgz", - "integrity": "sha512-u+1Qx86jfGQ5i4JjK33/FnawZRpsLxRnKzGE6EABZ40KxVT/vWsiZFEBBHjFOljmmV3MBYOHEKi0Jm9hbAOClA==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.17.0.tgz", + "integrity": "sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.16.1", - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/typescript-estree": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/typescript-estree": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "debug": "^4.3.4" }, "engines": { @@ -1142,13 +1142,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz", - "integrity": "sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz", + "integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1" + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1159,13 +1159,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.1.tgz", - "integrity": "sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.17.0.tgz", + "integrity": "sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.16.1", - "@typescript-eslint/utils": "7.16.1", + "@typescript-eslint/typescript-estree": "7.17.0", + "@typescript-eslint/utils": "7.17.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -1186,9 +1186,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz", - "integrity": "sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz", + "integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==", "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1199,13 +1199,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz", - "integrity": "sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz", + "integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1227,15 +1227,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.1.tgz", - "integrity": "sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz", + "integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.16.1", - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/typescript-estree": "7.16.1" + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/typescript-estree": "7.17.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1249,12 +1249,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz", - "integrity": "sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz", + "integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/types": "7.17.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -3309,9 +3309,9 @@ } }, "node_modules/mocha": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.6.0.tgz", - "integrity": "sha512-hxjt4+EEB0SA0ZDygSS015t65lJw/I2yRCS3Ae+SJ5FrbzrXgfYwJr96f0OvIXdj7h4lv/vLCrH3rkiuizFSvw==", + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.0.tgz", + "integrity": "sha512-v8/rBWr2VO5YkspYINnvu81inSz2y3ODJrhO175/Exzor1RcEZZkizgE2A+w/CAXXoESS8Kys5E62dOHGHzULA==", "dev": true, "dependencies": { "ansi-colors": "^4.1.3", @@ -3785,12 +3785,12 @@ } }, "node_modules/playwright": { - "version": "1.45.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.45.2.tgz", - "integrity": "sha512-ReywF2t/0teRvNBpfIgh5e4wnrI/8Su8ssdo5XsQKpjxJj+jspm00jSoz9BTg91TT0c9HRjXO7LBNVrgYj9X0g==", + "version": "1.45.3", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.45.3.tgz", + "integrity": "sha512-QhVaS+lpluxCaioejDZ95l4Y4jSFCsBvl2UZkpeXlzxmqS+aABr5c82YmfMHrL6x27nvrvykJAFpkzT2eWdJww==", "dev": true, "dependencies": { - "playwright-core": "1.45.2" + "playwright-core": "1.45.3" }, "bin": { "playwright": "cli.js" @@ -3803,9 +3803,9 @@ } }, "node_modules/playwright-core": { - "version": "1.45.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.2.tgz", - "integrity": "sha512-ha175tAWb0dTK0X4orvBIqi3jGEt701SMxMhyujxNrgd8K0Uy5wMSwwcQHtyB4om7INUkfndx02XnQ2p6dvLDw==", + "version": "1.45.3", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.3.tgz", + "integrity": "sha512-+ym0jNbcjikaOwwSZycFbwkWgfruWvYlJfThKYAlImbxUgdWFO2oW70ojPm4OpE4t6TAo2FY/smM+hpVTtkhDA==", "dev": true, "bin": { "playwright-core": "cli.js" @@ -4485,9 +4485,9 @@ } }, "node_modules/typescript": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", - "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "dev": true, "bin": { "tsc": "bin/tsc", @@ -4498,14 +4498,14 @@ } }, "node_modules/typescript-eslint": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.16.1.tgz", - "integrity": "sha512-889oE5qELj65q/tGeOSvlreNKhimitFwZqQ0o7PcWC7/lgRkAMknznsCsV8J8mZGTP/Z+cIbX8accf2DE33hrA==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.17.0.tgz", + "integrity": "sha512-spQxsQvPguduCUfyUvLItvKqK3l8KJ/kqs5Pb/URtzQ5AC53Z6us32St37rpmlt2uESG23lOFpV4UErrmy4dZQ==", "dev": true, "dependencies": { - "@typescript-eslint/eslint-plugin": "7.16.1", - "@typescript-eslint/parser": "7.16.1", - "@typescript-eslint/utils": "7.16.1" + "@typescript-eslint/eslint-plugin": "7.17.0", + "@typescript-eslint/parser": "7.17.0", + "@typescript-eslint/utils": "7.17.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -4896,9 +4896,9 @@ "optional": true }, "@dprint/typescript": { - "version": "0.91.3", - "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.3.tgz", - "integrity": "sha512-y/SAgNq4qAr6ZjpuOnIR3JSnOidLPWKtbIXaKzfR+YZGBICf9ant6PDGDpZdFh0szyZEXS3BNwTTAtsCK4s5uw==", + "version": "0.91.4", + "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.4.tgz", + "integrity": "sha512-je/T8JF07xehOVS7rx6Xo7T8Aa1Sd/p/+e/b/J2RE8yJHu09O+L0aHBSvec+usjR8/QwCu23AuDLl47zFSey5Q==", "dev": true }, "@dprint/win32-arm64": { @@ -5491,16 +5491,16 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.16.1.tgz", - "integrity": "sha512-SxdPak/5bO0EnGktV05+Hq8oatjAYVY3Zh2bye9pGZy6+jwyR3LG3YKkV4YatlsgqXP28BTeVm9pqwJM96vf2A==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.17.0.tgz", + "integrity": "sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.16.1", - "@typescript-eslint/type-utils": "7.16.1", - "@typescript-eslint/utils": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/type-utils": "7.17.0", + "@typescript-eslint/utils": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -5508,54 +5508,54 @@ } }, "@typescript-eslint/parser": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.16.1.tgz", - "integrity": "sha512-u+1Qx86jfGQ5i4JjK33/FnawZRpsLxRnKzGE6EABZ40KxVT/vWsiZFEBBHjFOljmmV3MBYOHEKi0Jm9hbAOClA==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.17.0.tgz", + "integrity": "sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "7.16.1", - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/typescript-estree": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/typescript-estree": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.16.1.tgz", - "integrity": "sha512-nYpyv6ALte18gbMz323RM+vpFpTjfNdyakbf3nsLvF43uF9KeNC289SUEW3QLZ1xPtyINJ1dIsZOuWuSRIWygw==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz", + "integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==", "dev": true, "requires": { - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1" + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0" } }, "@typescript-eslint/type-utils": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.16.1.tgz", - "integrity": "sha512-rbu/H2MWXN4SkjIIyWcmYBjlp55VT+1G3duFOIukTNFxr9PI35pLc2ydwAfejCEitCv4uztA07q0QWanOHC7dA==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.17.0.tgz", + "integrity": "sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "7.16.1", - "@typescript-eslint/utils": "7.16.1", + "@typescript-eslint/typescript-estree": "7.17.0", + "@typescript-eslint/utils": "7.17.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" } }, "@typescript-eslint/types": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.16.1.tgz", - "integrity": "sha512-AQn9XqCzUXd4bAVEsAXM/Izk11Wx2u4H3BAfQVhSfzfDOm/wAON9nP7J5rpkCxts7E5TELmN845xTUCQrD1xIQ==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz", + "integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.16.1.tgz", - "integrity": "sha512-0vFPk8tMjj6apaAZ1HlwM8w7jbghC8jc1aRNJG5vN8Ym5miyhTQGMqU++kuBFDNKe9NcPeZ6x0zfSzV8xC1UlQ==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz", + "integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==", "dev": true, "requires": { - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/visitor-keys": "7.16.1", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/visitor-keys": "7.17.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -5565,24 +5565,24 @@ } }, "@typescript-eslint/utils": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.16.1.tgz", - "integrity": "sha512-WrFM8nzCowV0he0RlkotGDujx78xudsxnGMBHI88l5J8wEhED6yBwaSLP99ygfrzAjsQvcYQ94quDwI0d7E1fA==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz", + "integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.16.1", - "@typescript-eslint/types": "7.16.1", - "@typescript-eslint/typescript-estree": "7.16.1" + "@typescript-eslint/scope-manager": "7.17.0", + "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/typescript-estree": "7.17.0" } }, "@typescript-eslint/visitor-keys": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.16.1.tgz", - "integrity": "sha512-Qlzzx4sE4u3FsHTPQAAQFJFNOuqtuY0LFrZHwQ8IHK705XxBiWOFkfKRWu6niB7hwfgnwIpO4jTC75ozW1PHWg==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz", + "integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==", "dev": true, "requires": { - "@typescript-eslint/types": "7.16.1", + "@typescript-eslint/types": "7.17.0", "eslint-visitor-keys": "^3.4.3" } }, @@ -7067,9 +7067,9 @@ "dev": true }, "mocha": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.6.0.tgz", - "integrity": "sha512-hxjt4+EEB0SA0ZDygSS015t65lJw/I2yRCS3Ae+SJ5FrbzrXgfYwJr96f0OvIXdj7h4lv/vLCrH3rkiuizFSvw==", + "version": "10.7.0", + "resolved": "https://registry.npmjs.org/mocha/-/mocha-10.7.0.tgz", + "integrity": "sha512-v8/rBWr2VO5YkspYINnvu81inSz2y3ODJrhO175/Exzor1RcEZZkizgE2A+w/CAXXoESS8Kys5E62dOHGHzULA==", "dev": true, "requires": { "ansi-colors": "^4.1.3", @@ -7417,13 +7417,13 @@ "dev": true }, "playwright": { - "version": "1.45.2", - "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.45.2.tgz", - "integrity": "sha512-ReywF2t/0teRvNBpfIgh5e4wnrI/8Su8ssdo5XsQKpjxJj+jspm00jSoz9BTg91TT0c9HRjXO7LBNVrgYj9X0g==", + "version": "1.45.3", + "resolved": "https://registry.npmjs.org/playwright/-/playwright-1.45.3.tgz", + "integrity": "sha512-QhVaS+lpluxCaioejDZ95l4Y4jSFCsBvl2UZkpeXlzxmqS+aABr5c82YmfMHrL6x27nvrvykJAFpkzT2eWdJww==", "dev": true, "requires": { "fsevents": "2.3.2", - "playwright-core": "1.45.2" + "playwright-core": "1.45.3" }, "dependencies": { "fsevents": { @@ -7436,9 +7436,9 @@ } }, "playwright-core": { - "version": "1.45.2", - "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.2.tgz", - "integrity": "sha512-ha175tAWb0dTK0X4orvBIqi3jGEt701SMxMhyujxNrgd8K0Uy5wMSwwcQHtyB4om7INUkfndx02XnQ2p6dvLDw==", + "version": "1.45.3", + "resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.3.tgz", + "integrity": "sha512-+ym0jNbcjikaOwwSZycFbwkWgfruWvYlJfThKYAlImbxUgdWFO2oW70ojPm4OpE4t6TAo2FY/smM+hpVTtkhDA==", "dev": true }, "plur": { @@ -7884,20 +7884,20 @@ } }, "typescript": { - "version": "5.5.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.3.tgz", - "integrity": "sha512-/hreyEujaB0w76zKo6717l3L0o/qEUtRgdvUBvlkhoWeOVMjMuHNHk0BRBzikzuGDqNmPQbg5ifMEqsHLiIUcQ==", + "version": "5.5.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", + "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", "dev": true }, "typescript-eslint": { - "version": "7.16.1", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.16.1.tgz", - "integrity": "sha512-889oE5qELj65q/tGeOSvlreNKhimitFwZqQ0o7PcWC7/lgRkAMknznsCsV8J8mZGTP/Z+cIbX8accf2DE33hrA==", + "version": "7.17.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.17.0.tgz", + "integrity": "sha512-spQxsQvPguduCUfyUvLItvKqK3l8KJ/kqs5Pb/URtzQ5AC53Z6us32St37rpmlt2uESG23lOFpV4UErrmy4dZQ==", "dev": true, "requires": { - "@typescript-eslint/eslint-plugin": "7.16.1", - "@typescript-eslint/parser": "7.16.1", - "@typescript-eslint/utils": "7.16.1" + "@typescript-eslint/eslint-plugin": "7.17.0", + "@typescript-eslint/parser": "7.17.0", + "@typescript-eslint/utils": "7.17.0" } }, "typical": { diff --git a/package.json b/package.json index 2917f5b4241..a1cd7a798b2 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ ], "devDependencies": { "@dprint/formatter": "^0.4.1", - "@dprint/typescript": "0.91.3", + "@dprint/typescript": "0.91.4", "@esfx/canceltoken": "^1.0.0", "@eslint/js": "^8.57.0", "@octokit/rest": "^21.0.1", @@ -52,7 +52,7 @@ "@types/node": "latest", "@types/source-map-support": "^0.5.10", "@types/which": "^3.0.4", - "@typescript-eslint/utils": "^7.16.1", + "@typescript-eslint/utils": "^7.17.0", "azure-devops-node-api": "^14.0.1", "c8": "^10.1.2", "chai": "^4.4.1", @@ -70,16 +70,16 @@ "jsonc-parser": "^3.3.1", "knip": "^5.26.0", "minimist": "^1.2.8", - "mocha": "^10.6.0", + "mocha": "^10.7.0", "mocha-fivemat-progress-reporter": "^0.1.0", "monocart-coverage-reports": "^2.9.3", "ms": "^2.1.3", "node-fetch": "^3.3.2", - "playwright": "^1.45.2", + "playwright": "^1.45.3", "source-map-support": "^0.5.21", "tslib": "^2.6.3", - "typescript": "^5.5.3", - "typescript-eslint": "^7.16.1", + "typescript": "^5.5.4", + "typescript-eslint": "^7.17.0", "which": "^3.0.1" }, "overrides": { From 8a36e26ac688b4b79a8953294aa07772e51baad1 Mon Sep 17 00:00:00 2001 From: Gabriela Araujo Britto Date: Tue, 23 Jul 2024 12:32:38 -0700 Subject: [PATCH 55/89] Add commit characters to protocol (#59339) --- src/harness/client.ts | 1 + src/harness/fourslashImpl.ts | 17 +- src/harness/fourslashInterfaceImpl.ts | 2 + src/services/completions.ts | 58 +++++- src/services/stringCompletions.ts | 28 ++- src/services/types.ts | 8 + tests/baselines/reference/api/typescript.d.ts | 8 + .../completionEntryForUnionMethod.baseline | 5 + ...completionForStringLiteralImport3.baseline | 3 +- .../completionImportAttributes.baseline | 10 + .../completionImportCallAssertion.baseline | 10 + ...completionListForImportAttributes.baseline | 22 +++ .../completionNoParentLocation.baseline | 5 + .../completionPropertyFromConstraint.baseline | 5 + ...mpletionsAfterPropertyNameInClass.baseline | 21 ++- .../completionsClassMembers1.baseline | 3 +- .../completionsClassMembers2.baseline | 3 +- .../completionsClassMembers3.baseline | 3 +- .../completionsClassMembers4.baseline | 3 +- .../completionsClassMembers5.baseline | 3 +- .../completionsCommentsClass.baseline | 5 + .../completionsCommentsClassMembers.baseline | 175 +++++++++++++++++- ...completionsCommentsCommentParsing.baseline | 35 ++++ ...etionsCommentsFunctionDeclaration.baseline | 13 +- ...letionsCommentsFunctionExpression.baseline | 20 ++ .../completionsImportWithKeyword.baseline | 35 ++++ .../completionsImport_asKeyword.baseline | 10 + ...ompletionsImport_satisfiesKeyword.baseline | 10 + .../reference/completionsJSDocTags.baseline | 5 + .../completionsOverridingMethod15.baseline | 3 +- .../completionsOverridingMethod16.baseline | 3 +- ...hodsOnAssignedFunctionExpressions.baseline | 20 +- .../completionsStringMethods.baseline | 5 + .../completionsUniqueSymbol2.baseline | 5 + .../exhaustiveCaseCompletions9.baseline | 7 + .../importStatementCompletions3.baseline | 3 +- .../reference/jsFileImportNoTypes.baseline | 5 + ...pedefTagTypeExpressionCompletion4.baseline | 14 +- .../jsdocImportTagCompletion2.baseline | 5 + .../jsdocImportTagCompletion3.baseline | 3 +- ...docParameterTagSnippetCompletion1.baseline | 85 +++++++++ ...docParameterTagSnippetCompletion2.baseline | 25 +++ ...docParameterTagSnippetCompletion3.baseline | 30 +++ .../nodeNextPathCompletions.baseline | 3 +- ...nJsDeclarationFilePathCompletions.baseline | 6 +- ...een-AutoImportProvider-and-main-program.js | 5 + ...hout-includeCompletionsForModuleExports.js | 20 ++ ...-with-path-mapping-with-existing-import.js | 20 ++ ...hout-includeCompletionsForModuleExports.js | 20 ++ ...oject-reference-setup-with-path-mapping.js | 20 ++ ...mports-but-has-project-references-setup.js | 5 + ...ed-from-two-different-drives-of-windows.js | 5 + .../reference/tsserver/completions/works.js | 5 + ...-not-count-against-the-resolution-limit.js | 5 + ...ailable-from-module-specifier-cache-(1).js | 5 + ...ailable-from-module-specifier-cache-(2).js | 10 + ...-for-transient-symbols-between-requests.js | 10 + ...orks-with-PackageJsonAutoImportProvider.js | 10 + .../tsserver/completionsIncomplete/works.js | 15 ++ .../caches-auto-imports-in-the-same-file.js | 5 + ...ckage.json-is-changed-inconsequentially.js | 5 + ...s-inconsequentially-referencedInProject.js | 10 + ...enced-project-changes-inconsequentially.js | 12 +- ...ansient-symbols-through-program-updates.js | 5 + ...-file-is-opened-with-different-contents.js | 6 +- ...idates-the-cache-when-files-are-deleted.js | 5 + ...ates-the-cache-when-new-files-are-added.js | 5 + ...ge-results-in-AutoImportProvider-change.js | 5 + ...-changes-signatures-referencedInProject.js | 10 + ...n-referenced-project-changes-signatures.js | 10 + .../autoImportFileExcludePatterns1.js | 5 + .../autoImportFileExcludePatterns2.js | 5 + ...oImportFileExcludePatterns_networkPaths.js | 5 + .../autoImportFileExcludePatterns_symlinks.js | 5 + ...autoImportFileExcludePatterns_symlinks2.js | 5 + ...oImportFileExcludePatterns_windowsPaths.js | 5 + .../fourslashServer/autoImportProvider3.js | 5 + .../fourslashServer/autoImportProvider6.js | 5 + .../fourslashServer/autoImportProvider7.js | 5 + .../fourslashServer/autoImportProvider8.js | 5 + .../autoImportProvider_exportMap1.js | 5 + .../autoImportProvider_exportMap2.js | 5 + .../autoImportProvider_exportMap3.js | 5 + .../autoImportProvider_exportMap4.js | 5 + .../autoImportProvider_exportMap5.js | 5 + .../autoImportProvider_exportMap6.js | 5 + .../autoImportProvider_exportMap7.js | 5 + .../autoImportProvider_exportMap8.js | 10 + .../autoImportProvider_exportMap9.js | 5 + .../autoImportProvider_globalTypingsCache.js | 5 + ...rtProvider_namespaceSameNameAsIntrinsic.js | 5 + .../autoImportProvider_wildcardExports1.js | 5 + .../autoImportProvider_wildcardExports2.js | 5 + .../autoImportProvider_wildcardExports3.js | 5 + .../autoImportReExportFromAmbientModule.js | 5 + .../autoImportSymlinkedJsPackages.js | 5 + .../completionEntryDetailAcrossFiles01.js | 10 + .../completionEntryDetailAcrossFiles02.js | 10 + .../tsserver/fourslashServer/completions01.js | 10 + .../tsserver/fourslashServer/completions02.js | 10 + .../tsserver/fourslashServer/completions03.js | 5 + ...mport_addToNamedWithDifferentCacheValue.js | 10 + .../completionsImport_computedSymbolName.js | 10 + ...nsImport_defaultAndNamedConflict_server.js | 5 + ...letionsImport_jsModuleExportsAssignment.js | 10 + .../completionsImport_mergedReExport.js | 10 + ...mpletionsImport_sortingModuleSpecifiers.js | 5 + .../completionsOverridingMethodCrash2.js | 6 +- .../importStatementCompletions_pnpm1.js | 3 +- ...portStatementCompletions_pnpmTransitive.js | 3 +- .../importSuggestionsCache_ambient.js | 25 +++ .../importSuggestionsCache_coreNodeModules.js | 15 ++ .../importSuggestionsCache_exportUndefined.js | 10 + ...portSuggestionsCache_invalidPackageJson.js | 5 + ...portSuggestionsCache_moduleAugmentation.js | 20 ++ .../jsdocParamTagSpecialKeywords.js | 5 + .../fourslashServer/jsdocTypedefTag.js | 65 +++++++ .../fourslashServer/jsdocTypedefTag1.js | 5 + .../fourslashServer/jsdocTypedefTag2.js | 10 + .../jsdocTypedefTagNamespace.js | 15 ++ .../nodeNextPathCompletions.js | 9 +- .../nonJsDeclarationFilePathCompletions.js | 6 +- .../tsserver/fourslashServer/openFile.js | 5 + .../fourslashServer/openFileWithSyntaxKind.js | 5 + .../pasteEdits_revertUpdatedFile.js | 5 + .../fourslashServer/typeReferenceOnServer.js | 5 + ...etadata-when-the-command-returns-object.js | 5 + .../caches-importability-within-a-file.js | 5 + .../caches-module-specifiers-within-a-file.js | 8 +- ...date-the-cache-when-new-files-are-added.js | 5 + ...n-in-contained-node_modules-directories.js | 8 +- ...he-cache-when-local-packageJson-changes.js | 5 + ...-when-module-resolution-settings-change.js | 5 + ...ache-when-symlinks-are-added-or-removed.js | 5 + ...-the-cache-when-user-preferences-change.js | 15 ++ .../clear-mixed-content-file-after-closing.js | 10 + .../reload-regular-file-after-closing.js | 10 + .../projects/tsconfig-script-block-support.js | 10 + ...polling-when-file-is-added-to-subfolder.js | 6 +- ...rectory-when-file-is-added-to-subfolder.js | 6 +- ...tchFile-when-file-is-added-to-subfolder.js | 6 +- ...tionEntryForPropertyConstrainedToString.ts | 2 +- .../fourslash/completionForStringLiteral.ts | 12 +- ...ionListNewIdentifierFunctionDeclaration.ts | 1 + tests/cases/fourslash/fourslash.ts | 2 + 145 files changed, 1483 insertions(+), 76 deletions(-) diff --git a/src/harness/client.ts b/src/harness/client.ts index dc8561a2f3f..e1daecdc82d 100644 --- a/src/harness/client.ts +++ b/src/harness/client.ts @@ -300,6 +300,7 @@ export class SessionClient implements LanguageService { return entry as { name: string; kind: ScriptElementKind; kindModifiers: string; sortText: string; }; // TODO: GH#18217 }), + defaultCommitCharacters: response.body!.defaultCommitCharacters, }; } diff --git a/src/harness/fourslashImpl.ts b/src/harness/fourslashImpl.ts index 83abf06ff6b..1ac4c439683 100644 --- a/src/harness/fourslashImpl.ts +++ b/src/harness/fourslashImpl.ts @@ -1024,7 +1024,7 @@ export class TestState { } if (ts.hasProperty(options, "isGlobalCompletion") && actualCompletions.isGlobalCompletion !== options.isGlobalCompletion) { - this.raiseError(`Expected 'isGlobalCompletion to be ${options.isGlobalCompletion}, got ${actualCompletions.isGlobalCompletion}`); + this.raiseError(`Expected 'isGlobalCompletion' to be ${options.isGlobalCompletion}, got ${actualCompletions.isGlobalCompletion}`); } if (ts.hasProperty(options, "optionalReplacementSpan")) { @@ -1035,6 +1035,14 @@ export class TestState { ); } + if (ts.hasProperty(options, "defaultCommitCharacters")) { + assert.deepEqual( + actualCompletions.defaultCommitCharacters?.sort(), + options.defaultCommitCharacters?.sort(), + "Expected 'defaultCommitCharacters' properties to match", + ); + } + const nameToEntries = new Map(); const nameAndSourceToData = new Map(); for (const entry of actualCompletions.entries) { @@ -1181,6 +1189,13 @@ export class TestState { assert.equal(actual.isSnippet, expected.isSnippet, `At entry ${actual.name}: Expected 'isSnippet' properties to match`); assert.equal(actual.source, expected.source, `At entry ${actual.name}: Expected 'source' values to match`); assert.equal(actual.sortText, expected.sortText || ts.Completions.SortText.LocationPriority, `At entry ${actual.name}: Expected 'sortText' properties to match`); + if (ts.hasProperty(expected, "commitCharacters")) { + assert.deepEqual( + actual.commitCharacters?.sort(), + expected.commitCharacters?.sort(), + `At entry ${actual.name}: Expected 'commitCharacters' values to match`, + ); + } if (expected.sourceDisplay && actual.sourceDisplay) { assert.equal(ts.displayPartsToString(actual.sourceDisplay), expected.sourceDisplay, `At entry ${actual.name}: Expected 'sourceDisplay' properties to match`); } diff --git a/src/harness/fourslashInterfaceImpl.ts b/src/harness/fourslashInterfaceImpl.ts index c68d56fdcf2..2315d214e2b 100644 --- a/src/harness/fourslashInterfaceImpl.ts +++ b/src/harness/fourslashInterfaceImpl.ts @@ -1797,6 +1797,7 @@ export interface ExpectedCompletionEntryObject { readonly labelDetails?: ExpectedCompletionEntryLabelDetails; readonly tags?: readonly ts.JSDocTagInfo[]; readonly sortText?: ts.Completions.SortText; + readonly commitCharacters?: string[]; // If not specified, won't assert about this } export interface ExpectedCompletionEntryLabelDetails { @@ -1820,6 +1821,7 @@ export interface VerifyCompletionsOptions { readonly excludes?: ArrayOrSingle; readonly preferences?: ts.UserPreferences; readonly triggerCharacter?: ts.CompletionsTriggerCharacter; + readonly defaultCommitCharacters?: string[]; // Only tested if set } export interface VerifySignatureHelpOptions { diff --git a/src/services/completions.ts b/src/services/completions.ts index 43148e14182..cd27ef3ba1e 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -682,6 +682,14 @@ function resolvingModuleSpecifiers( } } +/** @internal */ +export function getDefaultCommitCharacters(isNewIdentifierLocation: boolean): string[] { + if (isNewIdentifierLocation) { + return []; + } + return [".", ",", ";"]; +} + /** @internal */ export function getCompletionsAtPosition( host: LanguageServiceHost, @@ -704,7 +712,14 @@ export function getCompletionsAtPosition( if (triggerCharacter === " ") { // `isValidTrigger` ensures we are at `import |` if (preferences.includeCompletionsForImportStatements && preferences.includeCompletionsWithInsertText) { - return { isGlobalCompletion: true, isMemberCompletion: false, isNewIdentifierLocation: true, isIncomplete: true, entries: [] }; + return { + isGlobalCompletion: true, + isMemberCompletion: false, + isNewIdentifierLocation: true, + isIncomplete: true, + entries: [], + defaultCommitCharacters: getDefaultCommitCharacters(/*isNewIdentifierLocation*/ true), + }; } return undefined; } @@ -887,7 +902,13 @@ function continuePreviousIncompleteResponse( } function jsdocCompletionInfo(entries: CompletionEntry[]): CompletionInfo { - return { isGlobalCompletion: false, isMemberCompletion: false, isNewIdentifierLocation: false, entries }; + return { + isGlobalCompletion: false, + isMemberCompletion: false, + isNewIdentifierLocation: false, + entries, + defaultCommitCharacters: getDefaultCommitCharacters(/*isNewIdentifierLocation*/ false), + }; } function getJSDocParameterCompletions( @@ -1212,6 +1233,7 @@ function specificKeywordCompletionInfo(entries: readonly CompletionEntry[], isNe isMemberCompletion: false, isNewIdentifierLocation, entries: entries.slice(), + defaultCommitCharacters: getDefaultCommitCharacters(isNewIdentifierLocation), }; } @@ -1387,6 +1409,7 @@ function completionInfoFromData( isNewIdentifierLocation, optionalReplacementSpan: getOptionalReplacementSpan(location), entries, + defaultCommitCharacters: getDefaultCommitCharacters(isNewIdentifierLocation), }; } @@ -1596,7 +1619,14 @@ function getJsxClosingTagCompletion(location: Node | undefined, sourceFile: Sour kindModifiers: undefined, sortText: SortText.LocationPriority, }; - return { isGlobalCompletion: false, isMemberCompletion: true, isNewIdentifierLocation: false, optionalReplacementSpan: replacementSpan, entries: [entry] }; + return { + isGlobalCompletion: false, + isMemberCompletion: true, + isNewIdentifierLocation: false, + optionalReplacementSpan: replacementSpan, + entries: [entry], + defaultCommitCharacters: getDefaultCommitCharacters(/*isNewIdentifierLocation*/ false), + }; } return; } @@ -1622,6 +1652,7 @@ function getJSCompletionEntries( kindModifiers: "", sortText: SortText.JavascriptIdentifiers, isFromUncheckedFile: true, + commitCharacters: [], }, compareCompletionEntries); } }); @@ -1633,7 +1664,13 @@ function completionNameForLiteral(sourceFile: SourceFile, preferences: UserPrefe } function createCompletionEntryForLiteral(sourceFile: SourceFile, preferences: UserPreferences, literal: string | number | PseudoBigInt): CompletionEntry { - return { name: completionNameForLiteral(sourceFile, preferences, literal), kind: ScriptElementKind.string, kindModifiers: ScriptElementKindModifier.none, sortText: SortText.LocationPriority }; + return { + name: completionNameForLiteral(sourceFile, preferences, literal), + kind: ScriptElementKind.string, + kindModifiers: ScriptElementKindModifier.none, + sortText: SortText.LocationPriority, + commitCharacters: [], + }; } function createCompletionEntry( @@ -1863,9 +1900,11 @@ function createCompletionEntry( // Use a 'sortText' of 0' so that all symbol completion entries come before any other // entries (like JavaScript identifier entries). + const kind = SymbolDisplay.getSymbolKind(typeChecker, symbol, location); + const commitCharacters = (kind === ScriptElementKind.warning || kind === ScriptElementKind.string) ? [] : undefined; return { name, - kind: SymbolDisplay.getSymbolKind(typeChecker, symbol, location), + kind, kindModifiers: SymbolDisplay.getSymbolModifiers(typeChecker, symbol), sortText, source, @@ -1880,6 +1919,7 @@ function createCompletionEntry( isPackageJsonImport: originIsPackageJsonImport(origin) || undefined, isImportStatementCompletion: !!importStatementCompletion || undefined, data, + commitCharacters, ...includeSymbol ? { symbol } : undefined, }; } @@ -2754,7 +2794,13 @@ export function getCompletionEntriesFromSymbols( function getLabelCompletionAtPosition(node: BreakOrContinueStatement): CompletionInfo | undefined { const entries = getLabelStatementCompletions(node); if (entries.length) { - return { isGlobalCompletion: false, isMemberCompletion: false, isNewIdentifierLocation: false, entries }; + return { + isGlobalCompletion: false, + isMemberCompletion: false, + isNewIdentifierLocation: false, + entries, + defaultCommitCharacters: getDefaultCommitCharacters(/*isNewIdentifierLocation*/ false), + }; } } diff --git a/src/services/stringCompletions.ts b/src/services/stringCompletions.ts index b96e06138de..a26959d57f2 100644 --- a/src/services/stringCompletions.ts +++ b/src/services/stringCompletions.ts @@ -4,6 +4,7 @@ import { createCompletionDetails, createCompletionDetailsForSymbol, getCompletionEntriesFromSymbols, + getDefaultCommitCharacters, getPropertiesForObjectExpression, Log, SortText, @@ -260,7 +261,14 @@ function convertStringLiteralCompletions( /*isRightOfOpenTag*/ undefined, includeSymbol, ); // Target will not be used, so arbitrary - return { isGlobalCompletion: false, isMemberCompletion: true, isNewIdentifierLocation: completion.hasIndexSignature, optionalReplacementSpan, entries }; + return { + isGlobalCompletion: false, + isMemberCompletion: true, + isNewIdentifierLocation: completion.hasIndexSignature, + optionalReplacementSpan, + entries, + defaultCommitCharacters: getDefaultCommitCharacters(completion.hasIndexSignature), + }; } case StringLiteralCompletionKind.Types: { const quoteChar = contextToken.kind === SyntaxKind.NoSubstitutionTemplateLiteral @@ -274,8 +282,16 @@ function convertStringLiteralCompletions( kind: ScriptElementKind.string, sortText: SortText.LocationPriority, replacementSpan: getReplacementSpanForContextToken(contextToken, position), + commitCharacters: [], })); - return { isGlobalCompletion: false, isMemberCompletion: false, isNewIdentifierLocation: completion.isNewIdentifier, optionalReplacementSpan, entries }; + return { + isGlobalCompletion: false, + isMemberCompletion: false, + isNewIdentifierLocation: completion.isNewIdentifier, + optionalReplacementSpan, + entries, + defaultCommitCharacters: getDefaultCommitCharacters(completion.isNewIdentifier), + }; } default: return Debug.assertNever(completion); @@ -310,7 +326,13 @@ function convertPathCompletions(pathCompletions: readonly PathCompletion[]): Com const isGlobalCompletion = false; // We don't want the editor to offer any other completions, such as snippets, inside a comment. const isNewIdentifierLocation = true; // The user may type in a path that doesn't yet exist, creating a "new identifier" with respect to the collection of identifiers the server is aware of. const entries = pathCompletions.map(({ name, kind, span, extension }): CompletionEntry => ({ name, kind, kindModifiers: kindModifiersFromExtension(extension), sortText: SortText.LocationPriority, replacementSpan: span })); - return { isGlobalCompletion, isMemberCompletion: false, isNewIdentifierLocation, entries }; + return { + isGlobalCompletion, + isMemberCompletion: false, + isNewIdentifierLocation, + entries, + defaultCommitCharacters: getDefaultCommitCharacters(isNewIdentifierLocation), + }; } function kindModifiersFromExtension(extension: Extension | undefined): ScriptElementKindModifier { switch (extension) { diff --git a/src/services/types.ts b/src/services/types.ts index 082a62d2a5d..10befea4c53 100644 --- a/src/services/types.ts +++ b/src/services/types.ts @@ -1439,6 +1439,10 @@ export interface CompletionInfo { */ isIncomplete?: true; entries: CompletionEntry[]; + /** + * Default commit characters for the completion entries. + */ + defaultCommitCharacters?: string[]; } export interface CompletionEntryDataAutoImport { @@ -1551,6 +1555,10 @@ export interface CompletionEntry { * is an auto-import. */ data?: CompletionEntryData; + /** + * If this completion entry is selected, typing a commit character will cause the entry to be accepted. + */ + commitCharacters?: string[]; } export interface CompletionEntryLabelDetails { diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 86fc133e905..7070d1cdea4 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -10764,6 +10764,10 @@ declare namespace ts { */ isIncomplete?: true; entries: CompletionEntry[]; + /** + * Default commit characters for the completion entries. + */ + defaultCommitCharacters?: string[]; } interface CompletionEntryDataAutoImport { /** @@ -10870,6 +10874,10 @@ declare namespace ts { * is an auto-import. */ data?: CompletionEntryData; + /** + * If this completion entry is selected, typing a commit character will cause the entry to be accepted. + */ + commitCharacters?: string[]; } interface CompletionEntryLabelDetails { /** diff --git a/tests/baselines/reference/completionEntryForUnionMethod.baseline b/tests/baselines/reference/completionEntryForUnionMethod.baseline index 6ee4743746e..fac6df3daa6 100644 --- a/tests/baselines/reference/completionEntryForUnionMethod.baseline +++ b/tests/baselines/reference/completionEntryForUnionMethod.baseline @@ -4689,6 +4689,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionForStringLiteralImport3.baseline b/tests/baselines/reference/completionForStringLiteralImport3.baseline index 88e1d949df4..eb0b4a53bf7 100644 --- a/tests/baselines/reference/completionForStringLiteralImport3.baseline +++ b/tests/baselines/reference/completionForStringLiteralImport3.baseline @@ -16,7 +16,8 @@ "isGlobalCompletion": false, "isMemberCompletion": false, "isNewIdentifierLocation": true, - "entries": [] + "entries": [], + "defaultCommitCharacters": [] } } ] \ No newline at end of file diff --git a/tests/baselines/reference/completionImportAttributes.baseline b/tests/baselines/reference/completionImportAttributes.baseline index 098f3e1cb5f..4634c7da5a3 100644 --- a/tests/baselines/reference/completionImportAttributes.baseline +++ b/tests/baselines/reference/completionImportAttributes.baseline @@ -137,6 +137,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -267,6 +272,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionImportCallAssertion.baseline b/tests/baselines/reference/completionImportCallAssertion.baseline index 88cf55ffe28..e70b0465d37 100644 --- a/tests/baselines/reference/completionImportCallAssertion.baseline +++ b/tests/baselines/reference/completionImportCallAssertion.baseline @@ -137,6 +137,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -267,6 +272,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionListForImportAttributes.baseline b/tests/baselines/reference/completionListForImportAttributes.baseline index 2629823d733..ffa020cd8d7 100644 --- a/tests/baselines/reference/completionListForImportAttributes.baseline +++ b/tests/baselines/reference/completionListForImportAttributes.baseline @@ -146,6 +146,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -173,6 +178,7 @@ "start": 215, "length": 0 }, + "commitCharacters": [], "displayParts": [ { "text": "json", @@ -180,6 +186,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -248,6 +259,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -268,6 +284,7 @@ "kind": "string", "kindModifiers": "", "sortText": "11", + "commitCharacters": [], "displayParts": [ { "text": "\"json\"", @@ -328,6 +345,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionNoParentLocation.baseline b/tests/baselines/reference/completionNoParentLocation.baseline index 1cf24bfaee8..2e9328a2b08 100644 --- a/tests/baselines/reference/completionNoParentLocation.baseline +++ b/tests/baselines/reference/completionNoParentLocation.baseline @@ -3588,6 +3588,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionPropertyFromConstraint.baseline b/tests/baselines/reference/completionPropertyFromConstraint.baseline index a31f3e0646c..b2842d70d49 100644 --- a/tests/baselines/reference/completionPropertyFromConstraint.baseline +++ b/tests/baselines/reference/completionPropertyFromConstraint.baseline @@ -189,6 +189,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionsAfterPropertyNameInClass.baseline b/tests/baselines/reference/completionsAfterPropertyNameInClass.baseline index ae453aa62a8..5dba81b6ee4 100644 --- a/tests/baselines/reference/completionsAfterPropertyNameInClass.baseline +++ b/tests/baselines/reference/completionsAfterPropertyNameInClass.baseline @@ -120,23 +120,27 @@ "kind": "warning", "kindModifiers": "", "sortText": "18", - "isFromUncheckedFile": true + "isFromUncheckedFile": true, + "commitCharacters": [] }, { "name": "C2", "kind": "warning", "kindModifiers": "", "sortText": "18", - "isFromUncheckedFile": true + "isFromUncheckedFile": true, + "commitCharacters": [] }, { "name": "fo", "kind": "warning", "kindModifiers": "", "sortText": "18", - "isFromUncheckedFile": true + "isFromUncheckedFile": true, + "commitCharacters": [] } - ] + ], + "defaultCommitCharacters": [] } }, { @@ -232,16 +236,19 @@ "kind": "warning", "kindModifiers": "", "sortText": "18", - "isFromUncheckedFile": true + "isFromUncheckedFile": true, + "commitCharacters": [] }, { "name": "C2", "kind": "warning", "kindModifiers": "", "sortText": "18", - "isFromUncheckedFile": true + "isFromUncheckedFile": true, + "commitCharacters": [] } - ] + ], + "defaultCommitCharacters": [] } } ] \ No newline at end of file diff --git a/tests/baselines/reference/completionsClassMembers1.baseline b/tests/baselines/reference/completionsClassMembers1.baseline index be7070fc3d2..a72b996d7bb 100644 --- a/tests/baselines/reference/completionsClassMembers1.baseline +++ b/tests/baselines/reference/completionsClassMembers1.baseline @@ -252,7 +252,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } } ] \ No newline at end of file diff --git a/tests/baselines/reference/completionsClassMembers2.baseline b/tests/baselines/reference/completionsClassMembers2.baseline index cea76a493cf..428a9310b3d 100644 --- a/tests/baselines/reference/completionsClassMembers2.baseline +++ b/tests/baselines/reference/completionsClassMembers2.baseline @@ -254,7 +254,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } } ] \ No newline at end of file diff --git a/tests/baselines/reference/completionsClassMembers3.baseline b/tests/baselines/reference/completionsClassMembers3.baseline index 6775c83a61c..d614b6c54aa 100644 --- a/tests/baselines/reference/completionsClassMembers3.baseline +++ b/tests/baselines/reference/completionsClassMembers3.baseline @@ -252,7 +252,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } } ] \ No newline at end of file diff --git a/tests/baselines/reference/completionsClassMembers4.baseline b/tests/baselines/reference/completionsClassMembers4.baseline index c35b5b51b7a..a9dde2878ee 100644 --- a/tests/baselines/reference/completionsClassMembers4.baseline +++ b/tests/baselines/reference/completionsClassMembers4.baseline @@ -315,7 +315,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } } ] \ No newline at end of file diff --git a/tests/baselines/reference/completionsClassMembers5.baseline b/tests/baselines/reference/completionsClassMembers5.baseline index a6d95efa48e..55ac461b12a 100644 --- a/tests/baselines/reference/completionsClassMembers5.baseline +++ b/tests/baselines/reference/completionsClassMembers5.baseline @@ -250,7 +250,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } } ] \ No newline at end of file diff --git a/tests/baselines/reference/completionsCommentsClass.baseline b/tests/baselines/reference/completionsCommentsClass.baseline index eb56cce8dd7..2531a7a8749 100644 --- a/tests/baselines/reference/completionsCommentsClass.baseline +++ b/tests/baselines/reference/completionsCommentsClass.baseline @@ -4179,6 +4179,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionsCommentsClassMembers.baseline b/tests/baselines/reference/completionsCommentsClassMembers.baseline index 42b3e056dd7..07a6c068701 100644 --- a/tests/baselines/reference/completionsCommentsClassMembers.baseline +++ b/tests/baselines/reference/completionsCommentsClassMembers.baseline @@ -4101,6 +4101,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -8202,6 +8207,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -8951,6 +8961,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -9700,6 +9715,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -10449,6 +10469,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -11198,6 +11223,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -15299,7 +15329,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } }, { @@ -16048,6 +16079,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -20149,6 +20185,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -20898,6 +20939,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -21647,6 +21693,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -22396,6 +22447,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -23145,6 +23201,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -27246,7 +27307,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } }, { @@ -31347,6 +31409,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -32503,6 +32570,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -36604,6 +36676,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -40659,6 +40736,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -41815,6 +41897,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -45870,7 +45957,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } }, { @@ -47026,6 +47114,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -51127,6 +51220,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -52283,6 +52381,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -56384,7 +56487,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } }, { @@ -57540,6 +57644,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -61641,7 +61750,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } }, { @@ -65737,6 +65847,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -69833,7 +69948,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } }, { @@ -73929,6 +74045,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -78025,7 +78146,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } }, { @@ -82121,6 +82243,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -86217,7 +86344,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } }, { @@ -86601,6 +86729,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -90798,7 +90931,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } }, { @@ -91954,6 +92088,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -96180,6 +96319,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -96405,6 +96549,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -96505,6 +96654,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -100674,7 +100828,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } } ] \ No newline at end of file diff --git a/tests/baselines/reference/completionsCommentsCommentParsing.baseline b/tests/baselines/reference/completionsCommentsCommentParsing.baseline index e61b9d85abb..fb5e9ce5e2d 100644 --- a/tests/baselines/reference/completionsCommentsCommentParsing.baseline +++ b/tests/baselines/reference/completionsCommentsCommentParsing.baseline @@ -7011,6 +7011,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -13491,6 +13496,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -19151,6 +19161,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -24876,6 +24891,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -30655,6 +30675,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -37135,6 +37160,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -42860,6 +42890,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionsCommentsFunctionDeclaration.baseline b/tests/baselines/reference/completionsCommentsFunctionDeclaration.baseline index 1ba96379035..e3e737d791a 100644 --- a/tests/baselines/reference/completionsCommentsFunctionDeclaration.baseline +++ b/tests/baselines/reference/completionsCommentsFunctionDeclaration.baseline @@ -4771,6 +4771,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -8284,7 +8289,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } }, { @@ -12631,6 +12637,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionsCommentsFunctionExpression.baseline b/tests/baselines/reference/completionsCommentsFunctionExpression.baseline index 94870e99394..4bc3937b3f2 100644 --- a/tests/baselines/reference/completionsCommentsFunctionExpression.baseline +++ b/tests/baselines/reference/completionsCommentsFunctionExpression.baseline @@ -4471,6 +4471,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -9218,6 +9223,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -12921,6 +12931,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -17452,6 +17467,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionsImportWithKeyword.baseline b/tests/baselines/reference/completionsImportWithKeyword.baseline index c045eef4afd..6aa15f42000 100644 --- a/tests/baselines/reference/completionsImportWithKeyword.baseline +++ b/tests/baselines/reference/completionsImportWithKeyword.baseline @@ -4535,6 +4535,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -8058,6 +8063,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -11569,6 +11579,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -15096,6 +15111,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -18607,6 +18627,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -22118,6 +22143,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -25278,6 +25308,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionsImport_asKeyword.baseline b/tests/baselines/reference/completionsImport_asKeyword.baseline index c22810db07b..678fd8aa351 100644 --- a/tests/baselines/reference/completionsImport_asKeyword.baseline +++ b/tests/baselines/reference/completionsImport_asKeyword.baseline @@ -3744,6 +3744,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -7205,6 +7210,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionsImport_satisfiesKeyword.baseline b/tests/baselines/reference/completionsImport_satisfiesKeyword.baseline index 32d3ea63217..083885f2ef9 100644 --- a/tests/baselines/reference/completionsImport_satisfiesKeyword.baseline +++ b/tests/baselines/reference/completionsImport_satisfiesKeyword.baseline @@ -3744,6 +3744,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -7205,6 +7210,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionsJSDocTags.baseline b/tests/baselines/reference/completionsJSDocTags.baseline index c657cd6862a..76e0c9426e6 100644 --- a/tests/baselines/reference/completionsJSDocTags.baseline +++ b/tests/baselines/reference/completionsJSDocTags.baseline @@ -590,6 +590,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionsOverridingMethod15.baseline b/tests/baselines/reference/completionsOverridingMethod15.baseline index 20411eadc76..71bad9e75c0 100644 --- a/tests/baselines/reference/completionsOverridingMethod15.baseline +++ b/tests/baselines/reference/completionsOverridingMethod15.baseline @@ -245,7 +245,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } } ] \ No newline at end of file diff --git a/tests/baselines/reference/completionsOverridingMethod16.baseline b/tests/baselines/reference/completionsOverridingMethod16.baseline index 78e1245ee9b..25ceae4ec35 100644 --- a/tests/baselines/reference/completionsOverridingMethod16.baseline +++ b/tests/baselines/reference/completionsOverridingMethod16.baseline @@ -245,7 +245,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } } ] \ No newline at end of file diff --git a/tests/baselines/reference/completionsSalsaMethodsOnAssignedFunctionExpressions.baseline b/tests/baselines/reference/completionsSalsaMethodsOnAssignedFunctionExpressions.baseline index 421a45d9ee2..4719720550d 100644 --- a/tests/baselines/reference/completionsSalsaMethodsOnAssignedFunctionExpressions.baseline +++ b/tests/baselines/reference/completionsSalsaMethodsOnAssignedFunctionExpressions.baseline @@ -151,36 +151,46 @@ "kind": "warning", "kindModifiers": "", "sortText": "18", - "isFromUncheckedFile": true + "isFromUncheckedFile": true, + "commitCharacters": [] }, { "name": "C", "kind": "warning", "kindModifiers": "", "sortText": "18", - "isFromUncheckedFile": true + "isFromUncheckedFile": true, + "commitCharacters": [] }, { "name": "f", "kind": "warning", "kindModifiers": "", "sortText": "18", - "isFromUncheckedFile": true + "isFromUncheckedFile": true, + "commitCharacters": [] }, { "name": "prototype", "kind": "warning", "kindModifiers": "", "sortText": "18", - "isFromUncheckedFile": true + "isFromUncheckedFile": true, + "commitCharacters": [] }, { "name": "x", "kind": "warning", "kindModifiers": "", "sortText": "18", - "isFromUncheckedFile": true + "isFromUncheckedFile": true, + "commitCharacters": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionsStringMethods.baseline b/tests/baselines/reference/completionsStringMethods.baseline index f8406ab6904..bf00835b437 100644 --- a/tests/baselines/reference/completionsStringMethods.baseline +++ b/tests/baselines/reference/completionsStringMethods.baseline @@ -2402,6 +2402,11 @@ } ] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/completionsUniqueSymbol2.baseline b/tests/baselines/reference/completionsUniqueSymbol2.baseline index 3a2b3b39581..fc4ae791cdb 100644 --- a/tests/baselines/reference/completionsUniqueSymbol2.baseline +++ b/tests/baselines/reference/completionsUniqueSymbol2.baseline @@ -360,6 +360,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/exhaustiveCaseCompletions9.baseline b/tests/baselines/reference/exhaustiveCaseCompletions9.baseline index 156f39f4b97..03ce72260ed 100644 --- a/tests/baselines/reference/exhaustiveCaseCompletions9.baseline +++ b/tests/baselines/reference/exhaustiveCaseCompletions9.baseline @@ -166,6 +166,7 @@ "kind": "string", "kindModifiers": "", "sortText": "11", + "commitCharacters": [], "displayParts": [ { "text": "123", @@ -178,6 +179,7 @@ "kind": "string", "kindModifiers": "", "sortText": "11", + "commitCharacters": [], "displayParts": [ { "text": "456", @@ -3558,6 +3560,11 @@ "kindModifiers": "", "displayParts": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/importStatementCompletions3.baseline b/tests/baselines/reference/importStatementCompletions3.baseline index 7ec48dfcf97..d189bf3604a 100644 --- a/tests/baselines/reference/importStatementCompletions3.baseline +++ b/tests/baselines/reference/importStatementCompletions3.baseline @@ -102,7 +102,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } } ] \ No newline at end of file diff --git a/tests/baselines/reference/jsFileImportNoTypes.baseline b/tests/baselines/reference/jsFileImportNoTypes.baseline index e63c60c0f50..e83e26a297a 100644 --- a/tests/baselines/reference/jsFileImportNoTypes.baseline +++ b/tests/baselines/reference/jsFileImportNoTypes.baseline @@ -259,6 +259,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/jsFileJsdocTypedefTagTypeExpressionCompletion4.baseline b/tests/baselines/reference/jsFileJsdocTypedefTagTypeExpressionCompletion4.baseline index 46d12c0df98..5d2fa458998 100644 --- a/tests/baselines/reference/jsFileJsdocTypedefTagTypeExpressionCompletion4.baseline +++ b/tests/baselines/reference/jsFileJsdocTypedefTagTypeExpressionCompletion4.baseline @@ -111,22 +111,30 @@ "kind": "warning", "kindModifiers": "", "sortText": "18", - "isFromUncheckedFile": true + "isFromUncheckedFile": true, + "commitCharacters": [] }, { "name": "foo", "kind": "warning", "kindModifiers": "", "sortText": "18", - "isFromUncheckedFile": true + "isFromUncheckedFile": true, + "commitCharacters": [] }, { "name": "Foo", "kind": "warning", "kindModifiers": "", "sortText": "18", - "isFromUncheckedFile": true + "isFromUncheckedFile": true, + "commitCharacters": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/jsdocImportTagCompletion2.baseline b/tests/baselines/reference/jsdocImportTagCompletion2.baseline index e05a6ff4579..2d33c60d0d5 100644 --- a/tests/baselines/reference/jsdocImportTagCompletion2.baseline +++ b/tests/baselines/reference/jsdocImportTagCompletion2.baseline @@ -42,6 +42,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/jsdocImportTagCompletion3.baseline b/tests/baselines/reference/jsdocImportTagCompletion3.baseline index 6d25b1ae8f4..191f22086ff 100644 --- a/tests/baselines/reference/jsdocImportTagCompletion3.baseline +++ b/tests/baselines/reference/jsdocImportTagCompletion3.baseline @@ -45,7 +45,8 @@ } ] } - ] + ], + "defaultCommitCharacters": [] } } ] \ No newline at end of file diff --git a/tests/baselines/reference/jsdocParameterTagSnippetCompletion1.baseline b/tests/baselines/reference/jsdocParameterTagSnippetCompletion1.baseline index eaa52ac7e7b..644bd98bd24 100644 --- a/tests/baselines/reference/jsdocParameterTagSnippetCompletion1.baseline +++ b/tests/baselines/reference/jsdocParameterTagSnippetCompletion1.baseline @@ -2763,6 +2763,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -3895,6 +3900,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -5014,6 +5024,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -6133,6 +6148,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -7252,6 +7272,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -8384,6 +8409,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -9503,6 +9533,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -10622,6 +10657,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -11741,6 +11781,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -12860,6 +12905,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -13979,6 +14029,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -15098,6 +15153,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -16217,6 +16277,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -17349,6 +17414,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -18468,6 +18538,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -19587,6 +19662,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -20706,6 +20786,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/jsdocParameterTagSnippetCompletion2.baseline b/tests/baselines/reference/jsdocParameterTagSnippetCompletion2.baseline index 61f8d6a823f..67e028bde03 100644 --- a/tests/baselines/reference/jsdocParameterTagSnippetCompletion2.baseline +++ b/tests/baselines/reference/jsdocParameterTagSnippetCompletion2.baseline @@ -1592,6 +1592,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -2713,6 +2718,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -3834,6 +3844,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -4955,6 +4970,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -6076,6 +6096,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/jsdocParameterTagSnippetCompletion3.baseline b/tests/baselines/reference/jsdocParameterTagSnippetCompletion3.baseline index e5b6942d334..1496e3085da 100644 --- a/tests/baselines/reference/jsdocParameterTagSnippetCompletion3.baseline +++ b/tests/baselines/reference/jsdocParameterTagSnippetCompletion3.baseline @@ -1682,6 +1682,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -2801,6 +2806,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -3920,6 +3930,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -5039,6 +5054,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -6158,6 +6178,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } }, @@ -7277,6 +7302,11 @@ ], "documentation": [] } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/nodeNextPathCompletions.baseline b/tests/baselines/reference/nodeNextPathCompletions.baseline index 493195286c2..83d0fd78391 100644 --- a/tests/baselines/reference/nodeNextPathCompletions.baseline +++ b/tests/baselines/reference/nodeNextPathCompletions.baseline @@ -31,7 +31,8 @@ ], "tags": [] } - ] + ], + "defaultCommitCharacters": [] } } ] \ No newline at end of file diff --git a/tests/baselines/reference/nonJsDeclarationFilePathCompletions.baseline b/tests/baselines/reference/nonJsDeclarationFilePathCompletions.baseline index b7debbb67a4..d1e99355da0 100644 --- a/tests/baselines/reference/nonJsDeclarationFilePathCompletions.baseline +++ b/tests/baselines/reference/nonJsDeclarationFilePathCompletions.baseline @@ -50,7 +50,8 @@ ], "tags": [] } - ] + ], + "defaultCommitCharacters": [] } }, { @@ -77,7 +78,8 @@ ], "tags": [] } - ] + ], + "defaultCommitCharacters": [] } } ] \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/autoImportProvider/Shared-source-files-between-AutoImportProvider-and-main-program.js b/tests/baselines/reference/tsserver/autoImportProvider/Shared-source-files-between-AutoImportProvider-and-main-program.js index b1058dbd186..b41d0748465 100644 --- a/tests/baselines/reference/tsserver/autoImportProvider/Shared-source-files-between-AutoImportProvider-and-main-program.js +++ b/tests/baselines/reference/tsserver/autoImportProvider/Shared-source-files-between-AutoImportProvider-and-main-program.js @@ -799,6 +799,11 @@ Info seq [hh:mm:ss:mss] response: "isPackageJsonImport": true } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true diff --git a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import-without-includeCompletionsForModuleExports.js b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import-without-includeCompletionsForModuleExports.js index e6328593144..dd12df81b75 100644 --- a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import-without-includeCompletionsForModuleExports.js +++ b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import-without-includeCompletionsForModuleExports.js @@ -843,6 +843,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/user/username/projects/shared/src/index.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true @@ -1321,6 +1326,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/user/username/projects/shared/src/index.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -1810,6 +1820,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/user/username/projects/shared/src/index.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -2312,6 +2327,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/user/username/projects/shared/src/index.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import.js b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import.js index ae6735ca00a..65d64593f35 100644 --- a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import.js +++ b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import.js @@ -887,6 +887,11 @@ Info seq [hh:mm:ss:mss] response: "isPackageJsonImport": true } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true @@ -1420,6 +1425,11 @@ Info seq [hh:mm:ss:mss] response: "isPackageJsonImport": true } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -2002,6 +2012,11 @@ Info seq [hh:mm:ss:mss] response: "isPackageJsonImport": true } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -2510,6 +2525,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/user/username/projects/shared/src/index.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-without-includeCompletionsForModuleExports.js b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-without-includeCompletionsForModuleExports.js index d6d3956c4bb..8cd61cb3226 100644 --- a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-without-includeCompletionsForModuleExports.js +++ b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-without-includeCompletionsForModuleExports.js @@ -820,6 +820,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true @@ -1284,6 +1289,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -1759,6 +1769,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -2299,6 +2314,11 @@ Info seq [hh:mm:ss:mss] response: "isPackageJsonImport": true } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping.js b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping.js index aa0e4d3d7d0..11248aea1c8 100644 --- a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping.js +++ b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping.js @@ -889,6 +889,11 @@ Info seq [hh:mm:ss:mss] response: "isPackageJsonImport": true } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true @@ -1426,6 +1431,11 @@ Info seq [hh:mm:ss:mss] response: "isPackageJsonImport": true } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -2009,6 +2019,11 @@ Info seq [hh:mm:ss:mss] response: "isPackageJsonImport": true } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -2504,6 +2519,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/completions/in-project-where-there-are-no-imports-but-has-project-references-setup.js b/tests/baselines/reference/tsserver/completions/in-project-where-there-are-no-imports-but-has-project-references-setup.js index abe0a2a4273..e4e6491fe29 100644 --- a/tests/baselines/reference/tsserver/completions/in-project-where-there-are-no-imports-but-has-project-references-setup.js +++ b/tests/baselines/reference/tsserver/completions/in-project-where-there-are-no-imports-but-has-project-references-setup.js @@ -790,6 +790,11 @@ Info seq [hh:mm:ss:mss] response: "isPackageJsonImport": true } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true diff --git a/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js b/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js index 731b817ce06..f227f813029 100644 --- a/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js +++ b/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js @@ -766,6 +766,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "18" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true diff --git a/tests/baselines/reference/tsserver/completions/works.js b/tests/baselines/reference/tsserver/completions/works.js index f09fd9e2139..685ba908cb4 100644 --- a/tests/baselines/reference/tsserver/completions/works.js +++ b/tests/baselines/reference/tsserver/completions/works.js @@ -354,6 +354,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true diff --git a/tests/baselines/reference/tsserver/completionsIncomplete/ambient-module-specifier-resolutions-do-not-count-against-the-resolution-limit.js b/tests/baselines/reference/tsserver/completionsIncomplete/ambient-module-specifier-resolutions-do-not-count-against-the-resolution-limit.js index 75fe6fdec0a..73c17ffb39d 100644 --- a/tests/baselines/reference/tsserver/completionsIncomplete/ambient-module-specifier-resolutions-do-not-count-against-the-resolution-limit.js +++ b/tests/baselines/reference/tsserver/completionsIncomplete/ambient-module-specifier-resolutions-do-not-count-against-the-resolution-limit.js @@ -16929,6 +16929,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/lib/a_99.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(1).js b/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(1).js index 9b54706a728..c0228bc10b9 100644 --- a/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(1).js +++ b/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(1).js @@ -54129,6 +54129,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/lib/a_49.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(2).js b/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(2).js index fd30307afc6..a90e7d24f4e 100644 --- a/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(2).js +++ b/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(2).js @@ -6230,6 +6230,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/lib/a_149.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -11301,6 +11306,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/lib/a_149.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/completionsIncomplete/works-for-transient-symbols-between-requests.js b/tests/baselines/reference/tsserver/completionsIncomplete/works-for-transient-symbols-between-requests.js index 08583bb155e..d963afd5c9a 100644 --- a/tests/baselines/reference/tsserver/completionsIncomplete/works-for-transient-symbols-between-requests.js +++ b/tests/baselines/reference/tsserver/completionsIncomplete/works-for-transient-symbols-between-requests.js @@ -4691,6 +4691,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/lib/foo/constants.d.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -7743,6 +7748,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/lib/foo/constants.d.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/completionsIncomplete/works-with-PackageJsonAutoImportProvider.js b/tests/baselines/reference/tsserver/completionsIncomplete/works-with-PackageJsonAutoImportProvider.js index 09318961b62..966a6e09f56 100644 --- a/tests/baselines/reference/tsserver/completionsIncomplete/works-with-PackageJsonAutoImportProvider.js +++ b/tests/baselines/reference/tsserver/completionsIncomplete/works-with-PackageJsonAutoImportProvider.js @@ -6199,6 +6199,11 @@ Info seq [hh:mm:ss:mss] response: "isPackageJsonImport": true } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -10522,6 +10527,11 @@ Info seq [hh:mm:ss:mss] response: "isPackageJsonImport": true } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/completionsIncomplete/works.js b/tests/baselines/reference/tsserver/completionsIncomplete/works.js index 5c855fd6cea..689860fd9f2 100644 --- a/tests/baselines/reference/tsserver/completionsIncomplete/works.js +++ b/tests/baselines/reference/tsserver/completionsIncomplete/works.js @@ -9430,6 +9430,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/lib/a_249.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -15838,6 +15843,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/lib/a_249.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -22595,6 +22605,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/lib/a_249.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/exportMapCache/caches-auto-imports-in-the-same-file.js b/tests/baselines/reference/tsserver/exportMapCache/caches-auto-imports-in-the-same-file.js index eee727284d3..2ddfc1bd386 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/caches-auto-imports-in-the-same-file.js +++ b/tests/baselines/reference/tsserver/exportMapCache/caches-auto-imports-in-the-same-file.js @@ -454,6 +454,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true diff --git a/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-package.json-is-changed-inconsequentially.js b/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-package.json-is-changed-inconsequentially.js index a24665f6777..b4666aa41b0 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-package.json-is-changed-inconsequentially.js +++ b/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-package.json-is-changed-inconsequentially.js @@ -454,6 +454,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true diff --git a/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially-referencedInProject.js b/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially-referencedInProject.js index 8b15d23ee59..b27cba8db36 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially-referencedInProject.js +++ b/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially-referencedInProject.js @@ -517,6 +517,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/packages/lib/index.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true @@ -656,6 +661,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true diff --git a/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially.js b/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially.js index 5c217b85cff..fc363d52079 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially.js +++ b/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially.js @@ -526,6 +526,11 @@ Info seq [hh:mm:ss:mss] response: "isPackageJsonImport": true } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true @@ -661,7 +666,12 @@ Info seq [hh:mm:ss:mss] response: "offset": 4 } }, - "entries": [] + "entries": [], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] }, "responseRequired": true } diff --git a/tests/baselines/reference/tsserver/exportMapCache/does-not-store-transient-symbols-through-program-updates.js b/tests/baselines/reference/tsserver/exportMapCache/does-not-store-transient-symbols-through-program-updates.js index ef2154bde57..c517b823263 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/does-not-store-transient-symbols-through-program-updates.js +++ b/tests/baselines/reference/tsserver/exportMapCache/does-not-store-transient-symbols-through-program-updates.js @@ -454,6 +454,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true diff --git a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-a-file-is-opened-with-different-contents.js b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-a-file-is-opened-with-different-contents.js index d4a3605a712..ea9e22168b7 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-a-file-is-opened-with-different-contents.js +++ b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-a-file-is-opened-with-different-contents.js @@ -380,7 +380,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } - ] + ], + "defaultCommitCharacters": [] }, "responseRequired": true } @@ -655,7 +656,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } - ] + ], + "defaultCommitCharacters": [] }, "responseRequired": true, "performanceData": { diff --git a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-files-are-deleted.js b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-files-are-deleted.js index f0d5a0f88b5..6968fff60b0 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-files-are-deleted.js +++ b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-files-are-deleted.js @@ -454,6 +454,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true diff --git a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-new-files-are-added.js b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-new-files-are-added.js index b59e6ce3d76..06c5f6d2738 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-new-files-are-added.js +++ b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-new-files-are-added.js @@ -454,6 +454,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true diff --git a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-package.json-change-results-in-AutoImportProvider-change.js b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-package.json-change-results-in-AutoImportProvider-change.js index 46ad47ee419..91801ea76c5 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-package.json-change-results-in-AutoImportProvider-change.js +++ b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-package.json-change-results-in-AutoImportProvider-change.js @@ -454,6 +454,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true diff --git a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures-referencedInProject.js b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures-referencedInProject.js index 44e4e5884b5..1ef2f568377 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures-referencedInProject.js +++ b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures-referencedInProject.js @@ -517,6 +517,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/packages/lib/index.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true @@ -663,6 +668,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/packages/lib/index.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true diff --git a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures.js b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures.js index 7a46156928c..cc2665fc69c 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures.js +++ b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures.js @@ -526,6 +526,11 @@ Info seq [hh:mm:ss:mss] response: "isPackageJsonImport": true } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true @@ -677,6 +682,11 @@ Info seq [hh:mm:ss:mss] response: "isPackageJsonImport": true } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns1.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns1.js index 2f06d72faa3..4429b6f3c85 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns1.js @@ -987,6 +987,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns2.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns2.js index 17327369b60..fe7fe2c3e2e 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns2.js @@ -987,6 +987,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_networkPaths.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_networkPaths.js index 9781ef54d67..d694ef92464 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_networkPaths.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_networkPaths.js @@ -987,6 +987,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks.js index 61e5dd9b13a..538aa1504f1 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks.js @@ -1021,6 +1021,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks2.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks2.js index 3d5c66a1b62..113b79e8a67 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks2.js @@ -1087,6 +1087,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_windowsPaths.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_windowsPaths.js index 1c9c1b908a6..02833ce2822 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_windowsPaths.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_windowsPaths.js @@ -1040,6 +1040,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider3.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider3.js index bf464e454b5..776852b96e8 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider3.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider3.js @@ -890,6 +890,11 @@ Info seq [hh:mm:ss:mss] response: "isPackageJsonImport": true } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js index 88ef1c6ce9c..f32f04a7be8 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js @@ -1809,6 +1809,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider7.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider7.js index 77cfae89bad..b10b6be2858 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider7.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider7.js @@ -1255,6 +1255,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider8.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider8.js index 683350fa249..4f892b9479a 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider8.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider8.js @@ -1255,6 +1255,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap1.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap1.js index f23284e6178..7931d8d370f 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap1.js @@ -1107,6 +1107,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js index 722a5646259..fbfc604304f 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js @@ -1133,6 +1133,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js index 9a9396957cc..56f9b316706 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js @@ -1133,6 +1133,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap4.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap4.js index 5b0bf59db2b..2219024b017 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap4.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap4.js @@ -1076,6 +1076,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap5.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap5.js index 99b69cfec72..9affb676d51 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap5.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap5.js @@ -1144,6 +1144,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap6.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap6.js index c9fafaca711..2df185f84be 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap6.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap6.js @@ -1152,6 +1152,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap7.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap7.js index 9c060415fea..4bbcf60d1d0 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap7.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap7.js @@ -1143,6 +1143,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap8.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap8.js index 6ef529ed7f0..6b9d3c6d4db 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap8.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap8.js @@ -1123,6 +1123,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -2065,6 +2070,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap9.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap9.js index 40c27a95ab9..c618f4f1da2 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap9.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap9.js @@ -1096,6 +1096,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_globalTypingsCache.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_globalTypingsCache.js index f098de76aae..c1b8e3de03b 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_globalTypingsCache.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_globalTypingsCache.js @@ -1019,6 +1019,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_namespaceSameNameAsIntrinsic.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_namespaceSameNameAsIntrinsic.js index 752394e472e..32946e58338 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_namespaceSameNameAsIntrinsic.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_namespaceSameNameAsIntrinsic.js @@ -1272,6 +1272,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports1.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports1.js index b42f2bcd904..c509173f6bd 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports1.js @@ -1229,6 +1229,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports2.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports2.js index 86e6a770858..6ac6c21a97a 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports2.js @@ -1069,6 +1069,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports3.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports3.js index 9b1f026aefb..fe5b62f01fe 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports3.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports3.js @@ -700,6 +700,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js index 27101d39a87..9e64b4bae7d 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js @@ -1092,6 +1092,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportSymlinkedJsPackages.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportSymlinkedJsPackages.js index d6812fcb686..619afb166eb 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportSymlinkedJsPackages.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportSymlinkedJsPackages.js @@ -911,6 +911,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles01.js b/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles01.js index f0ad91f50bf..fe8f88a53fd 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles01.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles01.js @@ -733,6 +733,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -1077,6 +1082,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles02.js b/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles02.js index aa17a6c8205..52801aa9cc3 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles02.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles02.js @@ -739,6 +739,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -1083,6 +1088,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/completions01.js b/tests/baselines/reference/tsserver/fourslashServer/completions01.js index 48c6916b108..c6e9ab65ac0 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completions01.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completions01.js @@ -417,6 +417,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -1002,6 +1007,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/completions02.js b/tests/baselines/reference/tsserver/fourslashServer/completions02.js index 3805d7fc111..9c7986d6f2e 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completions02.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completions02.js @@ -226,6 +226,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "export", "sortText": "11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -645,6 +650,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "export", "sortText": "11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/completions03.js b/tests/baselines/reference/tsserver/fourslashServer/completions03.js index e8076c13207..b1d8f0e2e29 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completions03.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completions03.js @@ -183,6 +183,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_addToNamedWithDifferentCacheValue.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_addToNamedWithDifferentCacheValue.js index 9e411d5292f..5a6b2ef4214 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_addToNamedWithDifferentCacheValue.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_addToNamedWithDifferentCacheValue.js @@ -1181,6 +1181,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -5000,6 +5005,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_computedSymbolName.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_computedSymbolName.js index b9307ba94e2..67cd8d3a734 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_computedSymbolName.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_computedSymbolName.js @@ -1067,6 +1067,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -1953,6 +1958,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_defaultAndNamedConflict_server.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_defaultAndNamedConflict_server.js index ddf7aef96d3..54d9ee44e23 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_defaultAndNamedConflict_server.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_defaultAndNamedConflict_server.js @@ -759,6 +759,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/someModule.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js index 6a8dc8740d6..e999902042b 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js @@ -1119,6 +1119,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -2038,6 +2043,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_mergedReExport.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_mergedReExport.js index 302d98714d2..a23f10f72a9 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_mergedReExport.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_mergedReExport.js @@ -1138,6 +1138,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -2130,6 +2135,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_sortingModuleSpecifiers.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_sortingModuleSpecifiers.js index aed003617f9..d83511e6d84 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_sortingModuleSpecifiers.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_sortingModuleSpecifiers.js @@ -1125,6 +1125,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsOverridingMethodCrash2.js b/tests/baselines/reference/tsserver/fourslashServer/completionsOverridingMethodCrash2.js index afa02b739e1..3e36e5d8830 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsOverridingMethodCrash2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsOverridingMethodCrash2.js @@ -467,7 +467,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } - ] + ], + "defaultCommitCharacters": [] } } Info seq [hh:mm:ss:mss] request: @@ -811,7 +812,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } - ] + ], + "defaultCommitCharacters": [] } } After Request diff --git a/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js b/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js index ae624c48986..22019960254 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js @@ -403,7 +403,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } - ] + ], + "defaultCommitCharacters": [] } } After Request diff --git a/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpmTransitive.js b/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpmTransitive.js index 8dd64311c00..0856fa94c22 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpmTransitive.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpmTransitive.js @@ -395,6 +395,7 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } - ] + ], + "defaultCommitCharacters": [] } } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_ambient.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_ambient.js index 7965fd66038..5c17be775fd 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_ambient.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_ambient.js @@ -1020,6 +1020,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -1811,6 +1816,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -5416,6 +5426,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -7563,6 +7578,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -8313,6 +8333,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js index cf8876eb164..4f458bd8f42 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js @@ -938,6 +938,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -4108,6 +4113,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -4789,6 +4799,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_exportUndefined.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_exportUndefined.js index c3b9b30389d..8599b1d05e0 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_exportUndefined.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_exportUndefined.js @@ -1040,6 +1040,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -1763,6 +1768,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js index 30175bdb3d1..c6edd47b813 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js @@ -937,6 +937,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js index 1a6f0668dcb..b82a11962fa 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js @@ -1053,6 +1053,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -1800,6 +1805,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -5022,6 +5032,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -5779,6 +5794,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/jsdocParamTagSpecialKeywords.js b/tests/baselines/reference/tsserver/fourslashServer/jsdocParamTagSpecialKeywords.js index 345f992e070..31468f70bbf 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/jsdocParamTagSpecialKeywords.js +++ b/tests/baselines/reference/tsserver/fourslashServer/jsdocParamTagSpecialKeywords.js @@ -310,6 +310,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag.js b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag.js index 8ee8b77f88a..346df1df892 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag.js +++ b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag.js @@ -471,6 +471,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -629,6 +634,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "18" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -913,6 +923,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -1107,6 +1122,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "18" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -1265,6 +1285,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "18" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -1549,6 +1574,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -1743,6 +1773,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "18" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -1901,6 +1936,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "18" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -2185,6 +2225,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -2379,6 +2424,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "18" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -2537,6 +2587,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "18" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -2821,6 +2876,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -3015,6 +3075,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "18" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag1.js b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag1.js index 15ad8ca806e..0b30de84790 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag1.js @@ -333,6 +333,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag2.js b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag2.js index 798a873a9b1..1107c77919b 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag2.js @@ -357,6 +357,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -455,6 +460,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "18" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTagNamespace.js b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTagNamespace.js index f2510f88d84..789fb3dec6c 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTagNamespace.js +++ b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTagNamespace.js @@ -375,6 +375,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -623,6 +628,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } @@ -871,6 +881,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/nodeNextPathCompletions.js b/tests/baselines/reference/tsserver/fourslashServer/nodeNextPathCompletions.js index f304b95f9f2..181d71e3065 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/nodeNextPathCompletions.js +++ b/tests/baselines/reference/tsserver/fourslashServer/nodeNextPathCompletions.js @@ -381,7 +381,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "11" } - ] + ], + "defaultCommitCharacters": [] } } Info seq [hh:mm:ss:mss] request: @@ -1378,7 +1379,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "11" } - ] + ], + "defaultCommitCharacters": [] } } After Request @@ -1657,7 +1659,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "11" } - ] + ], + "defaultCommitCharacters": [] } } After Request diff --git a/tests/baselines/reference/tsserver/fourslashServer/nonJsDeclarationFilePathCompletions.js b/tests/baselines/reference/tsserver/fourslashServer/nonJsDeclarationFilePathCompletions.js index 155530b22b7..4090d6d82b1 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/nonJsDeclarationFilePathCompletions.js +++ b/tests/baselines/reference/tsserver/fourslashServer/nonJsDeclarationFilePathCompletions.js @@ -226,7 +226,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "11" } - ] + ], + "defaultCommitCharacters": [] } } Info seq [hh:mm:ss:mss] request: @@ -334,7 +335,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "11" } - ] + ], + "defaultCommitCharacters": [] } } Info seq [hh:mm:ss:mss] request: diff --git a/tests/baselines/reference/tsserver/fourslashServer/openFile.js b/tests/baselines/reference/tsserver/fourslashServer/openFile.js index 32dbe892435..583d703de8a 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/openFile.js +++ b/tests/baselines/reference/tsserver/fourslashServer/openFile.js @@ -378,6 +378,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "declare", "sortText": "11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/openFileWithSyntaxKind.js b/tests/baselines/reference/tsserver/fourslashServer/openFileWithSyntaxKind.js index 8bc4c5a2f75..a1a51302fb6 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/openFileWithSyntaxKind.js +++ b/tests/baselines/reference/tsserver/fourslashServer/openFileWithSyntaxKind.js @@ -339,6 +339,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "18" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_revertUpdatedFile.js b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_revertUpdatedFile.js index 5d6210fe677..4f9d015a7df 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_revertUpdatedFile.js +++ b/tests/baselines/reference/tsserver/fourslashServer/pasteEdits_revertUpdatedFile.js @@ -1242,6 +1242,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "deprecated,declare", "sortText": "z15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } diff --git a/tests/baselines/reference/tsserver/fourslashServer/typeReferenceOnServer.js b/tests/baselines/reference/tsserver/fourslashServer/typeReferenceOnServer.js index da044a4d3d7..7962dbdcf83 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/typeReferenceOnServer.js +++ b/tests/baselines/reference/tsserver/fourslashServer/typeReferenceOnServer.js @@ -205,6 +205,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "declare", "sortText": "11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] } } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/metadataInResponse/can-pass-through-metadata-when-the-command-returns-object.js b/tests/baselines/reference/tsserver/metadataInResponse/can-pass-through-metadata-when-the-command-returns-object.js index b614fe3fb61..a99bb2f5b59 100644 --- a/tests/baselines/reference/tsserver/metadataInResponse/can-pass-through-metadata-when-the-command-returns-object.js +++ b/tests/baselines/reference/tsserver/metadataInResponse/can-pass-through-metadata-when-the-command-returns-object.js @@ -272,6 +272,11 @@ Info seq [hh:mm:ss:mss] response: "sortText": "11" } ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ], "metadata": "Extra Info" }, "responseRequired": true diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-importability-within-a-file.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-importability-within-a-file.js index d75a1884184..cf1bb23e794 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-importability-within-a-file.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-importability-within-a-file.js @@ -975,6 +975,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/src/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-module-specifiers-within-a-file.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-module-specifiers-within-a-file.js index 7a1420b4ad2..db3beade246 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-module-specifiers-within-a-file.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-module-specifiers-within-a-file.js @@ -975,6 +975,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/src/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -1098,7 +1103,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } - ] + ], + "defaultCommitCharacters": [] }, "responseRequired": true } diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/does-not-invalidate-the-cache-when-new-files-are-added.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/does-not-invalidate-the-cache-when-new-files-are-added.js index bae784fe203..c626e7d1495 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/does-not-invalidate-the-cache-when-new-files-are-added.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/does-not-invalidate-the-cache-when-new-files-are-added.js @@ -975,6 +975,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/src/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-module-specifiers-when-changes-happen-in-contained-node_modules-directories.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-module-specifiers-when-changes-happen-in-contained-node_modules-directories.js index d0a021c4276..4109002b577 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-module-specifiers-when-changes-happen-in-contained-node_modules-directories.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-module-specifiers-when-changes-happen-in-contained-node_modules-directories.js @@ -975,6 +975,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/src/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -1098,7 +1103,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } - ] + ], + "defaultCommitCharacters": [] }, "responseRequired": true } diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-local-packageJson-changes.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-local-packageJson-changes.js index 855521e95b5..96951feb399 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-local-packageJson-changes.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-local-packageJson-changes.js @@ -975,6 +975,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/src/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-module-resolution-settings-change.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-module-resolution-settings-change.js index 69c2e09e5ce..b4789e1c51f 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-module-resolution-settings-change.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-module-resolution-settings-change.js @@ -975,6 +975,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/src/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-symlinks-are-added-or-removed.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-symlinks-are-added-or-removed.js index 63155a82eb3..ecec2a32cf1 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-symlinks-are-added-or-removed.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-symlinks-are-added-or-removed.js @@ -975,6 +975,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/src/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-user-preferences-change.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-user-preferences-change.js index c5c80931878..83eaab9b596 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-user-preferences-change.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-user-preferences-change.js @@ -975,6 +975,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/src/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -1495,6 +1500,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/src/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, @@ -2012,6 +2022,11 @@ Info seq [hh:mm:ss:mss] response: "fileName": "/src/a.ts" } } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/projects/clear-mixed-content-file-after-closing.js b/tests/baselines/reference/tsserver/projects/clear-mixed-content-file-after-closing.js index c8dd927c782..a09289b4a5a 100644 --- a/tests/baselines/reference/tsserver/projects/clear-mixed-content-file-after-closing.js +++ b/tests/baselines/reference/tsserver/projects/clear-mixed-content-file-after-closing.js @@ -685,6 +685,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true @@ -1178,6 +1183,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/projects/reload-regular-file-after-closing.js b/tests/baselines/reference/tsserver/projects/reload-regular-file-after-closing.js index 24157e8a9ba..72f8e64d3f2 100644 --- a/tests/baselines/reference/tsserver/projects/reload-regular-file-after-closing.js +++ b/tests/baselines/reference/tsserver/projects/reload-regular-file-after-closing.js @@ -297,6 +297,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "declare", "sortText": "11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true @@ -402,6 +407,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "declare", "sortText": "11" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/projects/tsconfig-script-block-support.js b/tests/baselines/reference/tsserver/projects/tsconfig-script-block-support.js index 504e349994b..7f2b48eb400 100644 --- a/tests/baselines/reference/tsserver/projects/tsconfig-script-block-support.js +++ b/tests/baselines/reference/tsserver/projects/tsconfig-script-block-support.js @@ -879,6 +879,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true @@ -1365,6 +1370,11 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": "", "sortText": "15" } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" ] }, "responseRequired": true, diff --git a/tests/baselines/reference/tsserver/watchEnvironment/uses-dynamic-polling-when-file-is-added-to-subfolder.js b/tests/baselines/reference/tsserver/watchEnvironment/uses-dynamic-polling-when-file-is-added-to-subfolder.js index 80bd51097ac..7ba98c5fe93 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/uses-dynamic-polling-when-file-is-added-to-subfolder.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/uses-dynamic-polling-when-file-is-added-to-subfolder.js @@ -227,7 +227,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": ".ts", "sortText": "11" } - ] + ], + "defaultCommitCharacters": [] }, "responseRequired": true } @@ -316,7 +317,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": ".ts", "sortText": "11" } - ] + ], + "defaultCommitCharacters": [] }, "responseRequired": true, "performanceData": { diff --git a/tests/baselines/reference/tsserver/watchEnvironment/uses-non-recursive-watchDirectory-when-file-is-added-to-subfolder.js b/tests/baselines/reference/tsserver/watchEnvironment/uses-non-recursive-watchDirectory-when-file-is-added-to-subfolder.js index 02c3897614f..035507e7060 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/uses-non-recursive-watchDirectory-when-file-is-added-to-subfolder.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/uses-non-recursive-watchDirectory-when-file-is-added-to-subfolder.js @@ -232,7 +232,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": ".ts", "sortText": "11" } - ] + ], + "defaultCommitCharacters": [] }, "responseRequired": true } @@ -395,7 +396,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": ".ts", "sortText": "11" } - ] + ], + "defaultCommitCharacters": [] }, "responseRequired": true } diff --git a/tests/baselines/reference/tsserver/watchEnvironment/uses-watchFile-when-file-is-added-to-subfolder.js b/tests/baselines/reference/tsserver/watchEnvironment/uses-watchFile-when-file-is-added-to-subfolder.js index ca671a23d86..e67501a7672 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/uses-watchFile-when-file-is-added-to-subfolder.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/uses-watchFile-when-file-is-added-to-subfolder.js @@ -232,7 +232,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": ".ts", "sortText": "11" } - ] + ], + "defaultCommitCharacters": [] }, "responseRequired": true } @@ -369,7 +370,8 @@ Info seq [hh:mm:ss:mss] response: "kindModifiers": ".ts", "sortText": "11" } - ] + ], + "defaultCommitCharacters": [] }, "responseRequired": true } diff --git a/tests/cases/fourslash/completionEntryForPropertyConstrainedToString.ts b/tests/cases/fourslash/completionEntryForPropertyConstrainedToString.ts index f2d9b727067..4c03574e351 100644 --- a/tests/cases/fourslash/completionEntryForPropertyConstrainedToString.ts +++ b/tests/cases/fourslash/completionEntryForPropertyConstrainedToString.ts @@ -4,4 +4,4 @@ //// //// test({ type: /*ts*/ }) -verify.completions({ marker: ["ts"], includes: ['"a"', '"b"'], isNewIdentifierLocation: false }); +verify.completions({ marker: ["ts"], includes: ['"a"', '"b"'], isNewIdentifierLocation: false, defaultCommitCharacters: [".", ",", ";"] }); diff --git a/tests/cases/fourslash/completionForStringLiteral.ts b/tests/cases/fourslash/completionForStringLiteral.ts index 8581635f3ab..b429cbbfb21 100644 --- a/tests/cases/fourslash/completionForStringLiteral.ts +++ b/tests/cases/fourslash/completionForStringLiteral.ts @@ -8,13 +8,13 @@ verify.completions( { marker: "1", exact: [ - { name: "Option 1", replacementSpan: test.ranges()[0] }, - { name: "Option 2", replacementSpan: test.ranges()[0] }, - { name: "Option 3", replacementSpan: test.ranges()[0] } + { name: "Option 1", replacementSpan: test.ranges()[0], commitCharacters: [] }, + { name: "Option 2", replacementSpan: test.ranges()[0], commitCharacters: [] }, + { name: "Option 3", replacementSpan: test.ranges()[0], commitCharacters: [] } ] }, { marker: "2", exact: [ - { name: "Option 1", replacementSpan: test.ranges()[1] }, - { name: "Option 2", replacementSpan: test.ranges()[1] }, - { name: "Option 3", replacementSpan: test.ranges()[1] } + { name: "Option 1", replacementSpan: test.ranges()[1], commitCharacters: [] }, + { name: "Option 2", replacementSpan: test.ranges()[1], commitCharacters: [] }, + { name: "Option 3", replacementSpan: test.ranges()[1], commitCharacters: [] } ] } ); diff --git a/tests/cases/fourslash/completionListNewIdentifierFunctionDeclaration.ts b/tests/cases/fourslash/completionListNewIdentifierFunctionDeclaration.ts index f6303f8441d..d5a8d713a9c 100644 --- a/tests/cases/fourslash/completionListNewIdentifierFunctionDeclaration.ts +++ b/tests/cases/fourslash/completionListNewIdentifierFunctionDeclaration.ts @@ -8,4 +8,5 @@ verify.completions({ marker: "1", exact: completion.typeKeywords, isNewIdentifierLocation: true, + defaultCommitCharacters: [], }); diff --git a/tests/cases/fourslash/fourslash.ts b/tests/cases/fourslash/fourslash.ts index e59d81c44a3..c13f27a807a 100644 --- a/tests/cases/fourslash/fourslash.ts +++ b/tests/cases/fourslash/fourslash.ts @@ -719,6 +719,7 @@ declare namespace FourSlashInterface { readonly excludes?: ArrayOrSingle; readonly preferences?: UserPreferences; readonly triggerCharacter?: string; + readonly defaultCommitCharacters?: string[]; } type ExpectedCompletionEntry = string | ExpectedCompletionEntryObject; interface ExpectedCompletionEntryObject { @@ -735,6 +736,7 @@ declare namespace FourSlashInterface { readonly sortText?: completion.SortText; readonly isPackageJsonImport?: boolean; readonly isSnippet?: boolean; + readonly commitCharacters?: string[]; // details readonly text?: string; From 4992b2fee13eb7ea81d77c5c4988797f2feccfe3 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 23 Jul 2024 15:13:30 -0700 Subject: [PATCH 56/89] Bump github/codeql-action from 3.25.12 to 3.25.13 in the github-actions group (#59387) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql.yml | 6 +++--- .github/workflows/scorecard.yml | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index afdfb68c24f..5c75fdb9d5b 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -46,7 +46,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 + uses: github/codeql-action/init@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13 with: config-file: ./.github/codeql/codeql-configuration.yml # Override language selection by uncommenting this and choosing your languages @@ -56,7 +56,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below). - name: Autobuild - uses: github/codeql-action/autobuild@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 + uses: github/codeql-action/autobuild@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13 # ℹ️ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun @@ -70,4 +70,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 + uses: github/codeql-action/analyze@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13 diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index d6fd5f83642..1507aa453f2 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -55,6 +55,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 + uses: github/codeql-action/upload-sarif@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13 with: sarif_file: results.sarif From 5bd4e004e62ae551993c33db77d466b4267df8e9 Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Tue, 23 Jul 2024 15:57:54 -0700 Subject: [PATCH 57/89] Skip markLinkedReferences import elision walk entirely in some common cases (#59398) --- src/compiler/checker.ts | 13 ++++++++----- src/compiler/emitter.ts | 1 + 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index c6b880e89d0..bd2f13e5793 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -49579,11 +49579,14 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { function checkSingleIdentifier(node: Node) { const nodeLinks = getNodeLinks(node); - nodeLinks.calculatedFlags |= NodeCheckFlags.ConstructorReference | NodeCheckFlags.CapturedBlockScopedBinding | NodeCheckFlags.BlockScopedBindingInLoop; - if (isIdentifier(node) && isExpressionNodeOrShorthandPropertyAssignmentName(node) && !(isPropertyAccessExpression(node.parent) && node.parent.name === node)) { - const s = getResolvedSymbol(node); - if (s && s !== unknownSymbol) { - checkIdentifierCalculateNodeCheckFlags(node, s); + nodeLinks.calculatedFlags |= NodeCheckFlags.ConstructorReference; + if (isIdentifier(node)) { + nodeLinks.calculatedFlags |= NodeCheckFlags.BlockScopedBindingInLoop | NodeCheckFlags.CapturedBlockScopedBinding; // Can't set on all arbitrary nodes (these nodes have this flag set by `checkSingleBlockScopeBinding` only) + if (isExpressionNodeOrShorthandPropertyAssignmentName(node) && !(isPropertyAccessExpression(node.parent) && node.parent.name === node)) { + const s = getResolvedSymbol(node); + if (s && s !== unknownSymbol) { + checkIdentifierCalculateNodeCheckFlags(node, s); + } } } } diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index bf2b14ba060..1a524647738 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -961,6 +961,7 @@ export function emitFiles( } function markLinkedReferences(file: SourceFile) { + if (ts.isSourceFileJS(file)) return; // JS files don't use reference calculations as they don't do import ellision, no need to calculate it ts.forEachChildRecursively(file, n => { if (isImportEqualsDeclaration(n) && !(ts.getSyntacticModifierFlags(n) & ts.ModifierFlags.Export)) return "skip"; // These are deferred and marked in a chain when referenced if (ts.isImportDeclaration(n)) return "skip"; // likewise, these are ultimately what get marked by calls on other nodes - we want to skip them From ab7b6245585851db8050608748e3e3967279a847 Mon Sep 17 00:00:00 2001 From: Zzzen Date: Wed, 24 Jul 2024 08:22:38 +0800 Subject: [PATCH 58/89] Deprecate module keyword for namespace declarations (#58007) Co-authored-by: Daniel Rosenwasser --- src/compiler/checker.ts | 9 ++++++ src/compiler/diagnosticMessages.json | 5 ++++ src/compiler/utilities.ts | 10 +++++++ ...moduleDeclarationDeprecated_suggestion1.ts | 30 +++++++++++++++++++ ...moduleDeclarationDeprecated_suggestion2.ts | 6 ++++ 5 files changed, 60 insertions(+) create mode 100644 tests/cases/fourslash/moduleDeclarationDeprecated_suggestion1.ts create mode 100644 tests/cases/fourslash/moduleDeclarationDeprecated_suggestion2.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index bd2f13e5793..7f05c9b40df 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -341,6 +341,7 @@ import { getNamespaceDeclarationNode, getNewTargetContainer, getNonAugmentationDeclaration, + getNonModifierTokenPosOfNode, getNormalizedAbsolutePath, getObjectFlags, getOriginalNode, @@ -46886,6 +46887,14 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { if (isIdentifier(node.name)) { checkCollisionsForDeclarationName(node, node.name); + if (!(node.flags & (NodeFlags.Namespace | NodeFlags.GlobalAugmentation))) { + const sourceFile = getSourceFileOfNode(node); + const pos = getNonModifierTokenPosOfNode(node); + const span = getSpanOfTokenAtPosition(sourceFile, pos); + suggestionDiagnostics.add( + createFileDiagnostic(sourceFile, span.start, span.length, Diagnostics.A_namespace_declaration_should_not_be_declared_using_the_module_keyword_Please_use_the_namespace_keyword_instead), + ); + } } checkExportsOnMergedDeclarations(node); diff --git a/src/compiler/diagnosticMessages.json b/src/compiler/diagnosticMessages.json index 9e4ece727ac..850d5ca1022 100644 --- a/src/compiler/diagnosticMessages.json +++ b/src/compiler/diagnosticMessages.json @@ -1813,6 +1813,11 @@ "category": "Error", "code": 1539 }, + "A 'namespace' declaration should not be declared using the 'module' keyword. Please use the 'namespace' keyword instead.": { + "category": "Suggestion", + "code": 1540, + "reportsDeprecated": true + }, "The types of '{0}' are incompatible between these types.": { "category": "Error", diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 1087901253b..e1df7bd5320 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -1259,6 +1259,16 @@ export function getNonDecoratorTokenPosOfNode(node: Node, sourceFile?: SourceFil return skipTrivia((sourceFile || getSourceFileOfNode(node)).text, lastDecorator.end); } +/** @internal */ +export function getNonModifierTokenPosOfNode(node: Node, sourceFile?: SourceFileLike): number { + const lastModifier = !nodeIsMissing(node) && canHaveModifiers(node) && node.modifiers ? last(node.modifiers) : undefined; + if (!lastModifier) { + return getTokenPosOfNode(node, sourceFile); + } + + return skipTrivia((sourceFile || getSourceFileOfNode(node)).text, lastModifier.end); +} + /** @internal */ export function getSourceTextOfNodeFromSourceFile(sourceFile: SourceFile, node: Node, includeTrivia = false): string { return getTextOfNodeFromSourceText(sourceFile.text, node, includeTrivia); diff --git a/tests/cases/fourslash/moduleDeclarationDeprecated_suggestion1.ts b/tests/cases/fourslash/moduleDeclarationDeprecated_suggestion1.ts new file mode 100644 index 00000000000..5554300a5a0 --- /dev/null +++ b/tests/cases/fourslash/moduleDeclarationDeprecated_suggestion1.ts @@ -0,0 +1,30 @@ +/// +// @Filename: a.ts +////[|module|] mod1 { export let x: number } +////declare [|module|] mod2 { export let x: number } +////export [|module|] mod3 { export let x: number } +////export declare [|module|] mod4 { export let x: number } +////namespace mod5 { export let x: number } +////declare namespace mod6 { export let x: number } +////declare module "module-augmentation" {} +////declare global {} +////mod1.x = 1; +////mod2.x = 1; +////mod5.x = 1; +////mod6.x = 1; + +// @Filename: b.ts +////module "global-ambient-module" {} + +goTo.file("a.ts") +const diagnostics = test.ranges().map(range => ({ + code: 1540, + message: "A 'namespace' declaration should not be declared using the 'module' keyword. Please use the 'namespace' keyword instead.", + reportsDeprecated: true, + range, +})); +verify.getSuggestionDiagnostics(diagnostics) + +goTo.file("b.ts") +verify.getSuggestionDiagnostics([]) + diff --git a/tests/cases/fourslash/moduleDeclarationDeprecated_suggestion2.ts b/tests/cases/fourslash/moduleDeclarationDeprecated_suggestion2.ts new file mode 100644 index 00000000000..f592302417d --- /dev/null +++ b/tests/cases/fourslash/moduleDeclarationDeprecated_suggestion2.ts @@ -0,0 +1,6 @@ +/// +// @Filename: a.ts +////declare module + +const ranges = test.ranges(); +verify.getSuggestionDiagnostics([]) From 3f6f3164d6b8226953490bb43fd1ae5a7aa99fa4 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Tue, 23 Jul 2024 18:17:07 -0700 Subject: [PATCH 59/89] Remove stableSort, rename sort to toSorted (#55728) --- src/compiler/core.ts | 19 ++++--------------- src/compiler/debug.ts | 4 ++-- src/compiler/emitter.ts | 4 ++-- src/compiler/executeCommandLine.ts | 4 ++-- src/compiler/moduleNameResolver.ts | 4 ++-- src/compiler/program.ts | 4 ++-- src/compiler/utilities.ts | 6 +++--- src/harness/fourslashImpl.ts | 2 +- src/harness/fourslashInterfaceImpl.ts | 2 +- src/harness/harnessIO.ts | 2 +- src/server/project.ts | 6 +++--- src/services/codefixes/importFixes.ts | 9 ++++----- src/services/completions.ts | 6 +++--- src/services/organizeImports.ts | 15 +++++++-------- src/services/textChanges.ts | 4 ++-- src/services/utilities.ts | 4 ++-- 16 files changed, 41 insertions(+), 54 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index e40d8826ca6..e2238766ee5 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -806,7 +806,7 @@ export function sortAndDeduplicate(array: readonly string[]): SortedReadonlyArra export function sortAndDeduplicate(array: readonly T[], comparer: Comparer, equalityComparer?: EqualityComparer): SortedReadonlyArray; /** @internal */ export function sortAndDeduplicate(array: readonly T[], comparer?: Comparer, equalityComparer?: EqualityComparer): SortedReadonlyArray { - return deduplicateSorted(sort(array, comparer), equalityComparer ?? comparer ?? compareStringsCaseSensitive as any as Comparer); + return deduplicateSorted(toSorted(array, comparer), equalityComparer ?? comparer ?? compareStringsCaseSensitive as any as Comparer); } /** @internal */ @@ -1035,12 +1035,12 @@ function stableSortIndices(array: readonly T[], indices: number[], comparer: } /** - * Returns a new sorted array. + * Returns a new sorted array. This sort is stable, meaning elements equal to each other maintain their relative position in the array. * * @internal */ -export function sort(array: readonly T[], comparer?: Comparer): SortedReadonlyArray { - return (array.length === 0 ? array : array.slice().sort(comparer)) as SortedReadonlyArray; +export function toSorted(array: readonly T[], comparer?: Comparer): SortedReadonlyArray { + return (array.length === 0 ? emptyArray : array.slice().sort(comparer)) as readonly T[] as SortedReadonlyArray; } /** @internal */ @@ -1050,17 +1050,6 @@ export function* arrayReverseIterator(array: readonly T[]) { } } -/** - * Stable sort of an array. Elements equal to each other maintain their relative position in the array. - * - * @internal - */ -export function stableSort(array: readonly T[], comparer: Comparer): SortedReadonlyArray { - const indices = indicesOf(array); - stableSortIndices(array, indices, comparer); - return indices.map(i => array[i]) as SortedArray as SortedReadonlyArray; -} - /** @internal */ export function rangeEquals(array1: readonly T[], array2: readonly T[], pos: number, end: number) { while (pos < end) { diff --git a/src/compiler/debug.ts b/src/compiler/debug.ts index 70c7bf17998..298c628907e 100644 --- a/src/compiler/debug.ts +++ b/src/compiler/debug.ts @@ -79,11 +79,11 @@ import { SignatureFlags, SnippetKind, SortedReadonlyArray, - stableSort, Symbol, SymbolFlags, symbolName, SyntaxKind, + toSorted, TransformFlags, Type, TypeFacts, @@ -436,7 +436,7 @@ export namespace Debug { } } - const sorted = stableSort<[number, string]>(result, (x, y) => compareValues(x[0], y[0])); + const sorted = toSorted<[number, string]>(result, (x, y) => compareValues(x[0], y[0])); enumMemberCache.set(enumObject, sorted); return sorted; } diff --git a/src/compiler/emitter.ts b/src/compiler/emitter.ts index 1a524647738..6f68329ba0a 100644 --- a/src/compiler/emitter.ts +++ b/src/compiler/emitter.ts @@ -374,7 +374,6 @@ import { SourceMapSource, SpreadAssignment, SpreadElement, - stableSort, Statement, StringLiteral, supportedJSExtensionsFlat, @@ -394,6 +393,7 @@ import { ThrowStatement, TokenFlags, tokenToString, + toSorted, tracing, TransformationResult, transformNodes, @@ -2072,7 +2072,7 @@ export function createPrinter(printerOptions: PrinterOptions = {}, handlers: Pri function getSortedEmitHelpers(node: Node) { const helpers = getEmitHelpers(node); - return helpers && stableSort(helpers, compareEmitHelpers); + return helpers && toSorted(helpers, compareEmitHelpers); } // diff --git a/src/compiler/executeCommandLine.ts b/src/compiler/executeCommandLine.ts index f9b1400b4da..0f8fdd25ccc 100644 --- a/src/compiler/executeCommandLine.ts +++ b/src/compiler/executeCommandLine.ts @@ -71,7 +71,6 @@ import { ReportEmitErrorSummary, SolutionBuilder, SolutionBuilderHostBase, - sort, SourceFile, startsWith, startTracing, @@ -80,6 +79,7 @@ import { sys, System, toPath, + toSorted, tracing, validateLocaleAndSetLanguage, version, @@ -170,7 +170,7 @@ function shouldBePretty(sys: System, options: CompilerOptions | BuildOptions) { function getOptionsForHelp(commandLine: ParsedCommandLine) { // Sort our options by their names, (e.g. "--noImplicitAny" comes before "--watch") return !!commandLine.options.all ? - sort(optionDeclarations, (a, b) => compareStringsCaseInsensitive(a.name, b.name)) : + toSorted(optionDeclarations, (a, b) => compareStringsCaseInsensitive(a.name, b.name)) : filter(optionDeclarations.slice(), v => !!v.showInSimplifiedHelpView); } diff --git a/src/compiler/moduleNameResolver.ts b/src/compiler/moduleNameResolver.ts index 62756b7309a..850a8a7f381 100644 --- a/src/compiler/moduleNameResolver.ts +++ b/src/compiler/moduleNameResolver.ts @@ -94,12 +94,12 @@ import { ResolvedTypeReferenceDirective, ResolvedTypeReferenceDirectiveWithFailedLookupLocations, some, - sort, startsWith, supportedDeclarationExtensions, supportedJSExtensionsFlat, supportedTSImplementationExtensions, toPath, + toSorted, tryExtractTSExtension, tryGetExtensionFromPath, tryParsePatterns, @@ -2695,7 +2695,7 @@ function loadModuleFromImportsOrExports(extensions: Extensions, state: ModuleRes const target = (lookupTable as { [idx: string]: unknown; })[moduleName]; return loadModuleFromTargetImportOrExport(target, /*subpath*/ "", /*pattern*/ false, moduleName); } - const expandingKeys = sort(filter(getOwnKeys(lookupTable as MapLike), k => hasOneAsterisk(k) || endsWith(k, "/")), comparePatternKeys); + const expandingKeys = toSorted(filter(getOwnKeys(lookupTable as MapLike), k => hasOneAsterisk(k) || endsWith(k, "/")), comparePatternKeys); for (const potentialTarget of expandingKeys) { if (state.features & NodeResolutionFeatures.ExportsPatternTrailers && matchesPatternWithTrailer(potentialTarget, moduleName)) { const target = (lookupTable as { [idx: string]: unknown; })[potentialTarget]; diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 0fc914a51f2..6e8e8c4f492 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -302,7 +302,6 @@ import { sourceFileAffectingCompilerOptions, sourceFileMayBeEmitted, SourceOfProjectReferenceRedirect, - stableSort, startsWith, Statement, StringLiteral, @@ -316,6 +315,7 @@ import { toFileNameLowerCase, tokenToString, toPath as ts_toPath, + toSorted, trace, tracing, tryCast, @@ -1887,7 +1887,7 @@ export function createProgram(rootNamesOrOptions: readonly string[] | CreateProg } } - files = stableSort(processingDefaultLibFiles, compareDefaultLibFiles).concat(processingOtherFiles); + files = toSorted(processingDefaultLibFiles, compareDefaultLibFiles).concat(processingOtherFiles); processingDefaultLibFiles = undefined; processingOtherFiles = undefined; filesWithReferencesProcessed = undefined; diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index e1df7bd5320..a1ef5bb08d8 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -510,7 +510,6 @@ import { skipTrivia, SnippetKind, some, - sort, SortedArray, SourceFile, SourceFileLike, @@ -545,6 +544,7 @@ import { TokenFlags, tokenToString, toPath, + toSorted, tracing, TransformFlags, TransientSymbol, @@ -9596,7 +9596,7 @@ export function matchFiles(path: string, extensions: readonly string[] | undefin visited.set(canonicalPath, true); const { files, directories } = getFileSystemEntries(path); - for (const current of sort(files, compareStringsCaseSensitive)) { + for (const current of toSorted(files, compareStringsCaseSensitive)) { const name = combinePaths(path, current); const absoluteName = combinePaths(absolutePath, current); if (extensions && !fileExtensionIsOneOf(name, extensions)) continue; @@ -9619,7 +9619,7 @@ export function matchFiles(path: string, extensions: readonly string[] | undefin } } - for (const current of sort(directories, compareStringsCaseSensitive)) { + for (const current of toSorted(directories, compareStringsCaseSensitive)) { const name = combinePaths(path, current); const absoluteName = combinePaths(absolutePath, current); if ( diff --git a/src/harness/fourslashImpl.ts b/src/harness/fourslashImpl.ts index 1ac4c439683..4d3d6cea32e 100644 --- a/src/harness/fourslashImpl.ts +++ b/src/harness/fourslashImpl.ts @@ -1621,7 +1621,7 @@ export class TestState { } } let pos = 0; - const sortedDetails = ts.stableSort(details, (a, b) => ts.compareValues(a.location, b.location)); + const sortedDetails = ts.toSorted(details, (a, b) => ts.compareValues(a.location, b.location)); if (!canDetermineContextIdInline) { // Assign contextIds sortedDetails.forEach(({ span, type }) => { diff --git a/src/harness/fourslashInterfaceImpl.ts b/src/harness/fourslashInterfaceImpl.ts index 2315d214e2b..eaa96991589 100644 --- a/src/harness/fourslashInterfaceImpl.ts +++ b/src/harness/fourslashInterfaceImpl.ts @@ -1121,7 +1121,7 @@ export namespace Completion { ].map(keywordEntry); export function sorted(entries: readonly ExpectedCompletionEntry[]): readonly ExpectedCompletionEntry[] { - return ts.stableSort(entries, compareExpectedCompletionEntries); + return ts.toSorted(entries, compareExpectedCompletionEntries); } // If you want to use a function like `globalsPlus`, that function needs to sort diff --git a/src/harness/harnessIO.ts b/src/harness/harnessIO.ts index 0082536d8aa..d73092a297a 100644 --- a/src/harness/harnessIO.ts +++ b/src/harness/harnessIO.ts @@ -547,7 +547,7 @@ export namespace Compiler { export const diagnosticSummaryMarker = "__diagnosticSummary"; export const globalErrorsMarker = "__globalErrors"; export function* iterateErrorBaseline(inputFiles: readonly TestFile[], diagnostics: readonly ts.Diagnostic[], options?: { pretty?: boolean; caseSensitive?: boolean; currentDirectory?: string; }): IterableIterator<[string, string, number]> { - diagnostics = ts.sort(diagnostics, ts.compareDiagnostics); + diagnostics = ts.toSorted(diagnostics, ts.compareDiagnostics); let outputLines = ""; // Count up all errors that were found in files other than lib.d.ts so we don't miss any let totalErrorsReportedInNonLibraryNonTsconfigFiles = 0; diff --git a/src/server/project.ts b/src/server/project.ts index 3bb22536214..8cf623a844f 100644 --- a/src/server/project.ts +++ b/src/server/project.ts @@ -112,7 +112,6 @@ import { returnTrue, ScriptKind, some, - sort, sortAndDeduplicate, SortedReadonlyArray, SourceFile, @@ -125,6 +124,7 @@ import { ThrottledCancellationToken, timestamp, toPath, + toSorted, tracing, TypeAcquisition, updateErrorForNoInputFiles, @@ -1085,7 +1085,7 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo } getExternalFiles(updateLevel?: ProgramUpdateLevel): SortedReadonlyArray { - return sort(flatMap(this.plugins, plugin => { + return toSorted(flatMap(this.plugins, plugin => { if (typeof plugin.module.getExternalFiles !== "function") return; try { return plugin.module.getExternalFiles(this, updateLevel || ProgramUpdateLevel.Update); @@ -1508,7 +1508,7 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo typeAcquisition, unresolvedImports, }; - const typingFiles = !typeAcquisition || !typeAcquisition.enable ? emptyArray : sort(newTypings); + const typingFiles = !typeAcquisition || !typeAcquisition.enable ? emptyArray : toSorted(newTypings); if (enumerateInsertsAndDeletes(typingFiles, this.typingFiles, getStringComparer(!this.useCaseSensitiveFileNames()), /*inserted*/ noop, removed => this.detachScriptInfoFromProject(removed))) { // If typing files changed, then only schedule project update this.typingFiles = typingFiles; diff --git a/src/services/codefixes/importFixes.ts b/src/services/codefixes/importFixes.ts index f622a0d55f3..aa5efcee158 100644 --- a/src/services/codefixes/importFixes.ts +++ b/src/services/codefixes/importFixes.ts @@ -137,9 +137,7 @@ import { single, skipAlias, some, - sort, SourceFile, - stableSort, startsWith, StringLiteral, stripQuotes, @@ -150,6 +148,7 @@ import { SyntaxKind, textChanges, toPath, + toSorted, tryCast, tryGetModuleSpecifierFromDeclaration, TypeChecker, @@ -1290,7 +1289,7 @@ function getFixInfos(context: CodeFixContextBase, errorCode: number, pos: number function sortFixInfo(fixes: readonly (FixInfo & { fix: ImportFixWithModuleSpecifier; })[], sourceFile: SourceFile, program: Program, packageJsonImportFilter: PackageJsonImportFilter, host: LanguageServiceHost, preferences: UserPreferences): readonly (FixInfo & { fix: ImportFixWithModuleSpecifier; })[] { const _toPath = (fileName: string) => toPath(fileName, host.getCurrentDirectory(), hostGetCanonicalFileName(host)); - return sort(fixes, (a, b) => + return toSorted(fixes, (a, b) => compareBooleans(!!a.isJsxNamespaceFix, !!b.isJsxNamespaceFix) || compareValues(a.fix.kind, b.fix.kind) || compareModuleSpecifiers(a.fix, b.fix, sourceFile, program, preferences, packageJsonImportFilter.allowsImportingSpecifier, _toPath)); @@ -1822,7 +1821,7 @@ function doAddExistingFix( if (namedImports.length) { const { specifierComparer, isSorted } = OrganizeImports.getNamedImportSpecifierComparerWithDetection(clause.parent, preferences, sourceFile); - const newSpecifiers = stableSort( + const newSpecifiers = toSorted( namedImports.map(namedImport => factory.createImportSpecifier( (!clause.isTypeOnly || promoteFromTypeOnly) && shouldUseTypeOnly(namedImport, preferences), @@ -1842,7 +1841,7 @@ function doAddExistingFix( clause.namedBindings!, factory.updateNamedImports( clause.namedBindings as NamedImports, - stableSort([...existingSpecifiers!.filter(s => !removeExistingImportSpecifiers.has(s)), ...newSpecifiers], specifierComparer), + toSorted([...existingSpecifiers!.filter(s => !removeExistingImportSpecifiers.has(s)), ...newSpecifiers], specifierComparer), ), ); } diff --git a/src/services/completions.ts b/src/services/completions.ts index cd27ef3ba1e..1300005c8b5 100644 --- a/src/services/completions.ts +++ b/src/services/completions.ts @@ -352,7 +352,6 @@ import { SortedArray, SourceFile, SpreadAssignment, - stableSort, startsWith, stringToToken, stripQuotes, @@ -374,6 +373,7 @@ import { Token, TokenSyntaxKind, tokenToString, + toSorted, tryCast, tryGetImportFromModuleSpecifier, tryGetTextOfPropertyName, @@ -2459,7 +2459,7 @@ function createSnippetPrinter( }); const allChanges = escapes - ? stableSort(concatenate(changes, escapes), (a, b) => compareTextSpans(a.span, b.span)) + ? toSorted(concatenate(changes, escapes), (a, b) => compareTextSpans(a.span, b.span)) : changes; return textChanges.applyChanges(syntheticFile.text, allChanges); } @@ -2506,7 +2506,7 @@ function createSnippetPrinter( ); const allChanges = escapes - ? stableSort(concatenate(changes, escapes), (a, b) => compareTextSpans(a.span, b.span)) + ? toSorted(concatenate(changes, escapes), (a, b) => compareTextSpans(a.span, b.span)) : changes; return textChanges.applyChanges(syntheticFile.text, allChanges); } diff --git a/src/services/organizeImports.ts b/src/services/organizeImports.ts index 8841ee3f2cb..e7cc236947c 100644 --- a/src/services/organizeImports.ts +++ b/src/services/organizeImports.ts @@ -56,11 +56,10 @@ import { Scanner, setEmitFlags, some, - sort, SourceFile, - stableSort, SyntaxKind, textChanges, + toSorted, TransformFlags, tryCast, UserPreferences, @@ -159,7 +158,7 @@ export function organizeImports( ? group(oldImportDecls, importDecl => getExternalModuleName(importDecl.moduleSpecifier)!) : [oldImportDecls]; const sortedImportGroups = shouldSort - ? stableSort(oldImportGroups, (group1, group2) => compareModuleSpecifiersWorker(group1[0].moduleSpecifier, group2[0].moduleSpecifier, comparer.moduleSpecifierComparer ?? defaultComparer)) + ? toSorted(oldImportGroups, (group1, group2) => compareModuleSpecifiersWorker(group1[0].moduleSpecifier, group2[0].moduleSpecifier, comparer.moduleSpecifierComparer ?? defaultComparer)) : oldImportGroups; const newImportDecls = flatMap(sortedImportGroups, importGroup => getExternalModuleName(importGroup[0].moduleSpecifier) || importGroup[0].moduleSpecifier === undefined @@ -199,7 +198,7 @@ export function organizeImports( const processImportsOfSameModuleSpecifier = (importGroup: readonly ImportDeclaration[]) => { if (shouldRemove) importGroup = removeUnusedImports(importGroup, sourceFile, program); if (shouldCombine) importGroup = coalesceImportsWorker(importGroup, detectedModuleCaseComparer, specifierComparer, sourceFile); - if (shouldSort) importGroup = stableSort(importGroup, (s1, s2) => compareImportsOrRequireStatements(s1, s2, detectedModuleCaseComparer)); + if (shouldSort) importGroup = toSorted(importGroup, (s1, s2) => compareImportsOrRequireStatements(s1, s2, detectedModuleCaseComparer)); return importGroup; }; @@ -428,7 +427,7 @@ function coalesceImportsWorker(importGroup: readonly ImportDeclaration[], compar const importGroupsByAttributes = groupBy(importGroup, decl => { if (decl.attributes) { let attrs = decl.attributes.token + " "; - for (const x of sort(decl.attributes.elements, (x, y) => compareStringsCaseSensitive(x.name.text, y.name.text))) { + for (const x of toSorted(decl.attributes.elements, (x, y) => compareStringsCaseSensitive(x.name.text, y.name.text))) { attrs += x.name.text + ":"; attrs += isStringLiteralLike(x.value) ? `"${x.value.text}"` : x.value.getText() + " "; } @@ -461,7 +460,7 @@ function coalesceImportsWorker(importGroup: readonly ImportDeclaration[], compar continue; } - const sortedNamespaceImports = stableSort(namespaceImports, (i1, i2) => comparer(i1.importClause.namedBindings.name.text, i2.importClause.namedBindings.name.text)); + const sortedNamespaceImports = toSorted(namespaceImports, (i1, i2) => comparer(i1.importClause.namedBindings.name.text, i2.importClause.namedBindings.name.text)); for (const namespaceImport of sortedNamespaceImports) { // Drop the name, if any @@ -493,7 +492,7 @@ function coalesceImportsWorker(importGroup: readonly ImportDeclaration[], compar newImportSpecifiers.push(...getNewImportSpecifiers(namedImports)); const sortedImportSpecifiers = factory.createNodeArray( - stableSort(newImportSpecifiers, specifierComparer), + toSorted(newImportSpecifiers, specifierComparer), firstNamedImport?.importClause.namedBindings.elements.hasTrailingComma, ); @@ -579,7 +578,7 @@ function coalesceExportsWorker(exportGroup: readonly ExportDeclaration[], specif const newExportSpecifiers: ExportSpecifier[] = []; newExportSpecifiers.push(...flatMap(exportGroup, i => i.exportClause && isNamedExports(i.exportClause) ? i.exportClause.elements : emptyArray)); - const sortedExportSpecifiers = stableSort(newExportSpecifiers, specifierComparer); + const sortedExportSpecifiers = toSorted(newExportSpecifiers, specifierComparer); const exportDecl = exportGroup[0]; coalescedExports.push( diff --git a/src/services/textChanges.ts b/src/services/textChanges.ts index 1fa19379afc..b02caba811b 100644 --- a/src/services/textChanges.ts +++ b/src/services/textChanges.ts @@ -154,7 +154,6 @@ import { skipTrivia, SourceFile, SourceFileLike, - stableSort, Statement, stringContainsAt, Symbol, @@ -164,6 +163,7 @@ import { textSpanEnd, Token, tokenToString, + toSorted, TransformationContext, TypeLiteralNode, TypeNode, @@ -1264,7 +1264,7 @@ namespace changesToText { const sourceFile = changesInFile[0].sourceFile; // order changes by start position // If the start position is the same, put the shorter range first, since an empty range (x, x) may precede (x, y) but not vice-versa. - const normalized = stableSort(changesInFile, (a, b) => (a.range.pos - b.range.pos) || (a.range.end - b.range.end)); + const normalized = toSorted(changesInFile, (a, b) => (a.range.pos - b.range.pos) || (a.range.end - b.range.end)); // verify that change intervals do not overlap, except possibly at end points. for (let i = 0; i < normalized.length - 1; i++) { Debug.assert(normalized[i].range.end <= normalized[i + 1].range.pos, "Changes overlap", () => `${JSON.stringify(normalized[i].range)} and ${JSON.stringify(normalized[i + 1].range)}`); diff --git a/src/services/utilities.ts b/src/services/utilities.ts index 9c954d43189..55ab684196e 100644 --- a/src/services/utilities.ts +++ b/src/services/utilities.ts @@ -342,7 +342,6 @@ import { SourceFileLike, SourceMapper, SpreadElement, - stableSort, startsWith, StringLiteral, StringLiteralLike, @@ -371,6 +370,7 @@ import { Token, tokenToString, toPath, + toSorted, tryCast, tryParseJson, Type, @@ -2625,7 +2625,7 @@ export function insertImports(changes: textChanges.ChangeTracker, sourceFile: So const importKindPredicate: (node: Node) => node is AnyImportOrRequireStatement = decl.kind === SyntaxKind.VariableStatement ? isRequireVariableStatement : isAnyImportSyntax; const existingImportStatements = filter(sourceFile.statements, importKindPredicate); const { comparer, isSorted } = OrganizeImports.getOrganizeImportsStringComparerWithDetection(existingImportStatements, preferences); - const sortedNewImports = isArray(imports) ? stableSort(imports, (a, b) => OrganizeImports.compareImportsOrRequireStatements(a, b, comparer)) : [imports]; + const sortedNewImports = isArray(imports) ? toSorted(imports, (a, b) => OrganizeImports.compareImportsOrRequireStatements(a, b, comparer)) : [imports]; if (!existingImportStatements?.length) { if (isFullSourceFile(sourceFile)) { changes.insertNodesAtTopOfFile(sourceFile, sortedNewImports, blankLineBetween); From ec7ff812c1b8e4c8f34901da900f9c933b6dfe2a Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Wed, 24 Jul 2024 11:28:09 -0700 Subject: [PATCH 60/89] Unpin Node 22 now that 22.5.1 is out (#59359) --- .github/workflows/ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 068979c4898..3d2350a1a1a 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: - windows-latest - macos-14 node-version: - - '22.4.x' + - '22' - '20' - '18' - '16' From 0c33c13b83ae2a9dc02a87361a939ec4058bfb0c Mon Sep 17 00:00:00 2001 From: Gabriela Araujo Britto Date: Wed, 24 Jul 2024 12:59:15 -0700 Subject: [PATCH 61/89] Fix completion entry conversion to protocol format (#59410) --- src/server/session.ts | 2 + ...completionsServerCommitCharacters.baseline | 66 ++ ...ed-from-two-different-drives-of-windows.js | 3 +- .../completionEntryDetailAcrossFiles01.js | 6 +- .../completionEntryDetailAcrossFiles02.js | 6 +- .../completionsServerCommitCharacters.js | 249 +++++++ .../jsdocParamTagSpecialKeywords.js | 6 +- .../fourslashServer/jsdocTypedefTag.js | 678 ++++++++++++------ .../fourslashServer/jsdocTypedefTag1.js | 15 +- .../fourslashServer/jsdocTypedefTag2.js | 48 +- .../jsdocTypedefTagNamespace.js | 72 +- .../fourslashServer/openFileWithSyntaxKind.js | 3 +- .../completionsServerCommitCharacters.ts | 6 + 13 files changed, 881 insertions(+), 279 deletions(-) create mode 100644 tests/baselines/reference/completionsServerCommitCharacters.baseline create mode 100644 tests/baselines/reference/tsserver/fourslashServer/completionsServerCommitCharacters.js create mode 100644 tests/cases/fourslash/server/completionsServerCommitCharacters.ts diff --git a/src/server/session.ts b/src/server/session.ts index 5951733c839..30dda2a8d8c 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -2469,6 +2469,7 @@ export class Session implements EventSender { isPackageJsonImport, isImportStatementCompletion, data, + commitCharacters, } = entry; const convertedSpan = replacementSpan ? toProtocolTextSpan(replacementSpan, scriptInfo) : undefined; // Use `hasAction || undefined` to avoid serializing `false`. @@ -2489,6 +2490,7 @@ export class Session implements EventSender { isPackageJsonImport, isImportStatementCompletion, data, + commitCharacters, }; } }); diff --git a/tests/baselines/reference/completionsServerCommitCharacters.baseline b/tests/baselines/reference/completionsServerCommitCharacters.baseline new file mode 100644 index 00000000000..d91362a48bd --- /dev/null +++ b/tests/baselines/reference/completionsServerCommitCharacters.baseline @@ -0,0 +1,66 @@ +// === Completions === +=== /src/index.ts === +// const a: "aa" | "bb" = ""; +// ^ +// | ---------------------------------------------------------------------- +// | aa +// | bb +// | ---------------------------------------------------------------------- + +[ + { + "marker": { + "fileName": "/src/index.ts", + "position": 24, + "name": "" + }, + "item": { + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": false, + "entries": [ + { + "name": "aa", + "kind": "string", + "kindModifiers": "", + "sortText": "11", + "replacementSpan": { + "start": 24, + "length": 0 + }, + "commitCharacters": [], + "displayParts": [ + { + "text": "aa", + "kind": "text" + } + ], + "tags": [] + }, + { + "name": "bb", + "kind": "string", + "kindModifiers": "", + "sortText": "11", + "replacementSpan": { + "start": 24, + "length": 0 + }, + "commitCharacters": [], + "displayParts": [ + { + "text": "bb", + "kind": "text" + } + ], + "tags": [] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + } +] \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js b/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js index f227f813029..5c7a2484345 100644 --- a/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js +++ b/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js @@ -764,7 +764,8 @@ Info seq [hh:mm:ss:mss] response: "name": "BrowserRouter", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] } ], "defaultCommitCharacters": [ diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles01.js b/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles01.js index fe8f88a53fd..1e74948c6c6 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles01.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles01.js @@ -713,13 +713,15 @@ Info seq [hh:mm:ss:mss] response: "name": "exports", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "p1", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "escape", diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles02.js b/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles02.js index 52801aa9cc3..996466b97a3 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles02.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles02.js @@ -719,13 +719,15 @@ Info seq [hh:mm:ss:mss] response: "name": "exports", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "p1", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "escape", diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsServerCommitCharacters.js b/tests/baselines/reference/tsserver/fourslashServer/completionsServerCommitCharacters.js new file mode 100644 index 00000000000..b505a619ddb --- /dev/null +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsServerCommitCharacters.js @@ -0,0 +1,249 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +//// [/lib.d.ts] +lib.d.ts-Text + +//// [/lib.decorators.d.ts] +lib.decorators.d.ts-Text + +//// [/lib.decorators.legacy.d.ts] +lib.decorators.legacy.d.ts-Text + +//// [/src/index.ts] +const a: "aa" | "bb" = ""; + + +Info seq [hh:mm:ss:mss] request: + { + "seq": 0, + "type": "request", + "arguments": { + "file": "/src/index.ts" + }, + "command": "open" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /src/index.ts ProjectRootPath: undefined:: Result: undefined +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (4) + /lib.d.ts Text-1 lib.d.ts-Text + /lib.decorators.d.ts Text-1 lib.decorators.d.ts-Text + /lib.decorators.legacy.d.ts Text-1 lib.decorators.legacy.d.ts-Text + /src/index.ts SVC-1-0 "const a: \"aa\" | \"bb\" = \"\";" + + + ../lib.d.ts + Default library for target 'es5' + ../lib.decorators.d.ts + Library referenced via 'decorators' from file '../lib.d.ts' + ../lib.decorators.legacy.d.ts + Library referenced via 'decorators.legacy' from file '../lib.d.ts' + index.ts + Root file specified for compilation + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) +Info seq [hh:mm:ss:mss] Files (4) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /src/index.ts ProjectRootPath: undefined +Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 0, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After Request +watchedFiles:: +/lib.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.d.ts: *new* + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: *new* + {"pollingInterval":500} + +Projects:: +/dev/null/inferredProject1* (Inferred) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* +/lib.decorators.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* +/lib.decorators.legacy.d.ts *new* + version: Text-1 + containingProjects: 1 + /dev/null/inferredProject1* +/src/index.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /dev/null/inferredProject1* *default* + +Info seq [hh:mm:ss:mss] request: + { + "seq": 1, + "type": "request", + "arguments": { + "file": "/src/index.ts", + "line": 1, + "offset": 25 + }, + "command": "completionInfo" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "completionInfo", + "request_seq": 1, + "success": true, + "body": { + "isGlobalCompletion": false, + "isMemberCompletion": false, + "isNewIdentifierLocation": false, + "optionalReplacementSpan": { + "start": { + "line": 1, + "offset": 25 + }, + "end": { + "line": 1, + "offset": 25 + } + }, + "entries": [ + { + "name": "aa", + "kind": "string", + "kindModifiers": "", + "sortText": "11", + "replacementSpan": { + "start": { + "line": 1, + "offset": 25 + }, + "end": { + "line": 1, + "offset": 25 + } + }, + "commitCharacters": [] + }, + { + "name": "bb", + "kind": "string", + "kindModifiers": "", + "sortText": "11", + "replacementSpan": { + "start": { + "line": 1, + "offset": 25 + }, + "end": { + "line": 1, + "offset": 25 + } + }, + "commitCharacters": [] + } + ], + "defaultCommitCharacters": [ + ".", + ",", + ";" + ] + } + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 2, + "type": "request", + "arguments": { + "file": "/src/index.ts", + "line": 1, + "offset": 25, + "entryNames": [ + { + "name": "aa" + } + ] + }, + "command": "completionEntryDetails-full" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "completionEntryDetails-full", + "request_seq": 2, + "success": true, + "body": [ + { + "name": "aa", + "kindModifiers": "", + "kind": "string", + "displayParts": [ + { + "text": "aa", + "kind": "text" + } + ], + "tags": [] + } + ] + } +Info seq [hh:mm:ss:mss] request: + { + "seq": 3, + "type": "request", + "arguments": { + "file": "/src/index.ts", + "line": 1, + "offset": 25, + "entryNames": [ + { + "name": "bb" + } + ] + }, + "command": "completionEntryDetails-full" + } +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "completionEntryDetails-full", + "request_seq": 3, + "success": true, + "body": [ + { + "name": "bb", + "kindModifiers": "", + "kind": "string", + "displayParts": [ + { + "text": "bb", + "kind": "text" + } + ], + "tags": [] + } + ] + } \ No newline at end of file diff --git a/tests/baselines/reference/tsserver/fourslashServer/jsdocParamTagSpecialKeywords.js b/tests/baselines/reference/tsserver/fourslashServer/jsdocParamTagSpecialKeywords.js index 31468f70bbf..7366fda1517 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/jsdocParamTagSpecialKeywords.js +++ b/tests/baselines/reference/tsserver/fourslashServer/jsdocParamTagSpecialKeywords.js @@ -296,13 +296,15 @@ Info seq [hh:mm:ss:mss] response: "name": "test", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "type", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "substr", diff --git a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag.js b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag.js index 346df1df892..96aab573473 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag.js +++ b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag.js @@ -361,109 +361,127 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Animal", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "c", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Cat", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "d", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Dog", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "numberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "p", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Person", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "substr", @@ -542,97 +560,113 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Animal", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "c", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Cat", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "d", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Dog", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "numberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "p", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Person", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] } ], "defaultCommitCharacters": [ @@ -813,109 +847,127 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Animal", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "c", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Cat", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "d", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Dog", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "numberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "p", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Person", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "substr", @@ -1018,109 +1070,127 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Animal", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "c", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Cat", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "d", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Dog", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "numberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "p", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Person", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] } ], "defaultCommitCharacters": [ @@ -1193,97 +1263,113 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Animal", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "c", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Cat", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "d", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Dog", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "numberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "p", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Person", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] } ], "defaultCommitCharacters": [ @@ -1464,109 +1550,127 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Animal", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "c", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Cat", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "d", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Dog", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "numberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "p", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Person", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "substr", @@ -1669,109 +1773,127 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Animal", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "c", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Cat", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "d", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Dog", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "numberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "p", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Person", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] } ], "defaultCommitCharacters": [ @@ -1844,97 +1966,113 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Animal", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "c", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Cat", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "d", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Dog", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "numberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "p", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Person", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] } ], "defaultCommitCharacters": [ @@ -2115,109 +2253,127 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Animal", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "c", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Cat", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "d", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Dog", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "numberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "p", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Person", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "substr", @@ -2320,109 +2476,127 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Animal", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "c", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Cat", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "d", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Dog", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "numberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "p", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Person", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] } ], "defaultCommitCharacters": [ @@ -2495,97 +2669,113 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Animal", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "c", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Cat", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "d", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Dog", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "numberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "p", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Person", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] } ], "defaultCommitCharacters": [ @@ -2766,109 +2956,127 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Animal", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "c", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Cat", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "d", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Dog", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "numberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "p", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Person", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "substr", @@ -2971,109 +3179,127 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Animal", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "animalName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "c", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Cat", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "catName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "d", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Dog", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "dogName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "numberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "p", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Person", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personAge", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "personName", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] } ], "defaultCommitCharacters": [ diff --git a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag1.js b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag1.js index 0b30de84790..7ccd21ed17c 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag1.js @@ -301,31 +301,36 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "foo", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "my", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "MyType", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "yes", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "substr", diff --git a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag2.js b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag2.js index 1107c77919b..79e577786bd 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag2.js @@ -307,49 +307,57 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "A", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "b", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "B", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "foo", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "my2", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "MyType", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "yes", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "substr", @@ -416,49 +424,57 @@ Info seq [hh:mm:ss:mss] response: "name": "a", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "A", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "b", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "B", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "foo", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "my2", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "MyType", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "yes", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] } ], "defaultCommitCharacters": [ diff --git a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTagNamespace.js b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTagNamespace.js index 789fb3dec6c..41d143fd3ff 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTagNamespace.js +++ b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTagNamespace.js @@ -325,49 +325,57 @@ Info seq [hh:mm:ss:mss] response: "name": "age", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "O", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "People", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Q", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "T", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "x", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "x1", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "substr", @@ -578,49 +586,57 @@ Info seq [hh:mm:ss:mss] response: "name": "age", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "O", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "People", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Q", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "T", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "x", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "x1", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "substr", @@ -831,49 +847,57 @@ Info seq [hh:mm:ss:mss] response: "name": "age", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "NumberLike", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "O", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "People", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "Q", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "T", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "x", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "x1", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] }, { "name": "substr", diff --git a/tests/baselines/reference/tsserver/fourslashServer/openFileWithSyntaxKind.js b/tests/baselines/reference/tsserver/fourslashServer/openFileWithSyntaxKind.js index a1a51302fb6..f1c9b593675 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/openFileWithSyntaxKind.js +++ b/tests/baselines/reference/tsserver/fourslashServer/openFileWithSyntaxKind.js @@ -337,7 +337,8 @@ Info seq [hh:mm:ss:mss] response: "name": "t", "kind": "warning", "kindModifiers": "", - "sortText": "18" + "sortText": "18", + "commitCharacters": [] } ], "defaultCommitCharacters": [ diff --git a/tests/cases/fourslash/server/completionsServerCommitCharacters.ts b/tests/cases/fourslash/server/completionsServerCommitCharacters.ts new file mode 100644 index 00000000000..ed93a51836c --- /dev/null +++ b/tests/cases/fourslash/server/completionsServerCommitCharacters.ts @@ -0,0 +1,6 @@ +/// + +// @Filename: /src/index.ts +//// const a: "aa" | "bb" = "/**/"; + +verify.baselineCompletions(); \ No newline at end of file From f8336d1479c9909d9850931a619f2ed7e884f0fc Mon Sep 17 00:00:00 2001 From: Gabriela Araujo Britto Date: Wed, 24 Jul 2024 17:29:12 -0700 Subject: [PATCH 62/89] Use spread when converting completion entry to protocol format (#59412) --- src/server/session.ts | 40 +- ...completionsServerCommitCharacters.baseline | 4 +- ...een-AutoImportProvider-and-main-program.js | 4 +- ...hout-includeCompletionsForModuleExports.js | 8 +- ...-with-path-mapping-with-existing-import.js | 18 +- ...hout-includeCompletionsForModuleExports.js | 6 +- ...oject-reference-setup-with-path-mapping.js | 16 +- ...mports-but-has-project-references-setup.js | 2 +- ...ed-from-two-different-drives-of-windows.js | 3 +- .../reference/tsserver/completions/works.js | 2 +- ...-not-count-against-the-resolution-limit.js | 1200 ++-- ...ailable-from-module-specifier-cache-(1).js | 5000 ++++++++--------- ...ailable-from-module-specifier-cache-(2).js | 600 +- ...-for-transient-symbols-between-requests.js | 410 +- ...orks-with-PackageJsonAutoImportProvider.js | 602 +- .../tsserver/completionsIncomplete/works.js | 1500 ++--- .../caches-auto-imports-in-the-same-file.js | 2 +- ...ckage.json-is-changed-inconsequentially.js | 2 +- ...s-inconsequentially-referencedInProject.js | 2 +- ...enced-project-changes-inconsequentially.js | 2 +- ...ansient-symbols-through-program-updates.js | 2 +- ...-file-is-opened-with-different-contents.js | 12 +- ...idates-the-cache-when-files-are-deleted.js | 2 +- ...ates-the-cache-when-new-files-are-added.js | 2 +- ...ge-results-in-AutoImportProvider-change.js | 2 +- ...-changes-signatures-referencedInProject.js | 4 +- ...n-referenced-project-changes-signatures.js | 4 +- .../fourslashServer/autoImportProvider3.js | 4 +- .../fourslashServer/autoImportProvider6.js | 2 +- .../fourslashServer/autoImportProvider7.js | 4 +- .../fourslashServer/autoImportProvider8.js | 4 +- .../autoImportProvider_exportMap1.js | 4 +- .../autoImportProvider_exportMap2.js | 2 +- .../autoImportProvider_exportMap3.js | 2 +- .../autoImportProvider_exportMap4.js | 2 +- .../autoImportProvider_exportMap5.js | 4 +- .../autoImportProvider_exportMap6.js | 4 +- .../autoImportProvider_exportMap7.js | 4 +- .../autoImportProvider_exportMap8.js | 4 +- .../autoImportProvider_exportMap9.js | 2 +- .../autoImportProvider_globalTypingsCache.js | 2 +- ...rtProvider_namespaceSameNameAsIntrinsic.js | 4 +- .../autoImportProvider_wildcardExports1.js | 10 +- .../autoImportProvider_wildcardExports2.js | 2 +- .../autoImportProvider_wildcardExports3.js | 2 +- .../autoImportReExportFromAmbientModule.js | 4 +- .../autoImportSymlinkedJsPackages.js | 2 +- .../completionEntryDetailAcrossFiles01.js | 2 + .../completionEntryDetailAcrossFiles02.js | 2 + ...mport_addToNamedWithDifferentCacheValue.js | 6 +- ...nsImport_defaultAndNamedConflict_server.js | 4 +- ...letionsImport_jsModuleExportsAssignment.js | 16 +- .../completionsImport_mergedReExport.js | 4 +- ...mpletionsImport_sortingModuleSpecifiers.js | 6 +- .../completionsOverridingMethodCrash2.js | 12 +- .../completionsServerCommitCharacters.js | 4 +- .../importStatementCompletions_pnpm1.js | 4 +- .../importSuggestionsCache_ambient.js | 8 +- .../importSuggestionsCache_coreNodeModules.js | 2 +- .../importSuggestionsCache_exportUndefined.js | 4 +- ...portSuggestionsCache_invalidPackageJson.js | 2 +- ...portSuggestionsCache_moduleAugmentation.js | 16 +- .../jsdocParamTagSpecialKeywords.js | 2 + .../fourslashServer/jsdocTypedefTag.js | 226 + .../fourslashServer/jsdocTypedefTag1.js | 5 + .../fourslashServer/jsdocTypedefTag2.js | 16 + .../jsdocTypedefTagNamespace.js | 24 + .../fourslashServer/openFileWithSyntaxKind.js | 1 + .../caches-importability-within-a-file.js | 2 +- .../caches-module-specifiers-within-a-file.js | 10 +- ...date-the-cache-when-new-files-are-added.js | 2 +- ...n-in-contained-node_modules-directories.js | 10 +- ...he-cache-when-local-packageJson-changes.js | 2 +- ...-when-module-resolution-settings-change.js | 2 +- ...ache-when-symlinks-are-added-or-removed.js | 2 +- ...-the-cache-when-user-preferences-change.js | 6 +- 76 files changed, 5084 insertions(+), 4837 deletions(-) diff --git a/src/server/session.ts b/src/server/session.ts index 30dda2a8d8c..40640d052be 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -2452,45 +2452,13 @@ export class Session implements EventSender { const prefix = args.prefix || ""; const entries = mapDefined(completions.entries, entry => { if (completions.isMemberCompletion || startsWith(entry.name.toLowerCase(), prefix.toLowerCase())) { - const { - name, - kind, - kindModifiers, - sortText, - insertText, - filterText, - replacementSpan, - hasAction, - source, - sourceDisplay, - labelDetails, - isSnippet, - isRecommended, - isPackageJsonImport, - isImportStatementCompletion, - data, - commitCharacters, - } = entry; - const convertedSpan = replacementSpan ? toProtocolTextSpan(replacementSpan, scriptInfo) : undefined; + const convertedSpan = entry.replacementSpan ? toProtocolTextSpan(entry.replacementSpan, scriptInfo) : undefined; // Use `hasAction || undefined` to avoid serializing `false`. return { - name, - kind, - kindModifiers, - sortText, - insertText, - filterText, + ...entry, replacementSpan: convertedSpan, - isSnippet, - hasAction: hasAction || undefined, - source, - sourceDisplay, - labelDetails, - isRecommended, - isPackageJsonImport, - isImportStatementCompletion, - data, - commitCharacters, + hasAction: entry.hasAction || undefined, + symbol: undefined, }; } }); diff --git a/tests/baselines/reference/completionsServerCommitCharacters.baseline b/tests/baselines/reference/completionsServerCommitCharacters.baseline index d91362a48bd..d55de049f78 100644 --- a/tests/baselines/reference/completionsServerCommitCharacters.baseline +++ b/tests/baselines/reference/completionsServerCommitCharacters.baseline @@ -21,8 +21,8 @@ "entries": [ { "name": "aa", - "kind": "string", "kindModifiers": "", + "kind": "string", "sortText": "11", "replacementSpan": { "start": 24, @@ -39,8 +39,8 @@ }, { "name": "bb", - "kind": "string", "kindModifiers": "", + "kind": "string", "sortText": "11", "replacementSpan": { "start": 24, diff --git a/tests/baselines/reference/tsserver/autoImportProvider/Shared-source-files-between-AutoImportProvider-and-main-program.js b/tests/baselines/reference/tsserver/autoImportProvider/Shared-source-files-between-AutoImportProvider-and-main-program.js index b41d0748465..7025e9108ab 100644 --- a/tests/baselines/reference/tsserver/autoImportProvider/Shared-source-files-between-AutoImportProvider-and-main-program.js +++ b/tests/baselines/reference/tsserver/autoImportProvider/Shared-source-files-between-AutoImportProvider-and-main-program.js @@ -776,8 +776,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "/node_modules/@types/node/index", + "hasAction": true, "data": { "exportName": "Stats", "exportMapKey": "5 * Stats ", @@ -789,8 +789,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "/node_modules/memfs/lib/index", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "Volume", diff --git a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import-without-includeCompletionsForModuleExports.js b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import-without-includeCompletionsForModuleExports.js index dd12df81b75..68747af249e 100644 --- a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import-without-includeCompletionsForModuleExports.js +++ b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import-without-includeCompletionsForModuleExports.js @@ -835,8 +835,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/index", + "hasAction": true, "data": { "exportName": "MyClass", "exportMapKey": "7 * MyClass ", @@ -1318,8 +1318,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/index", + "hasAction": true, "data": { "exportName": "MyClass", "exportMapKey": "7 * MyClass ", @@ -1812,8 +1812,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/index", + "hasAction": true, "data": { "exportName": "MyClass", "exportMapKey": "7 * MyClass ", @@ -2319,8 +2319,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/index", + "hasAction": true, "data": { "exportName": "MyClass", "exportMapKey": "7 * MyClass ", diff --git a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import.js b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import.js index 65d64593f35..b90bd789731 100644 --- a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import.js +++ b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-with-existing-import.js @@ -864,8 +864,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/index", + "hasAction": true, "data": { "exportName": "MyClass", "exportMapKey": "7 * MyClass ", @@ -877,8 +877,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/helper", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "MyHelper", @@ -1387,8 +1387,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/index", + "hasAction": true, "data": { "exportName": "MyClass", "exportMapKey": "7 * MyClass ", @@ -1400,8 +1400,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/helper", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "MyHelper", @@ -1415,8 +1415,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/other", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "OtherClass", @@ -1974,8 +1974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/index", + "hasAction": true, "data": { "exportName": "MyClass", "exportMapKey": "7 * MyClass ", @@ -1987,8 +1987,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/helper", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "MyHelper", @@ -2002,8 +2002,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/other", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "OtherClass", @@ -2517,8 +2517,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/index", + "hasAction": true, "data": { "exportName": "MyClass", "exportMapKey": "7 * MyClass ", diff --git a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-without-includeCompletionsForModuleExports.js b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-without-includeCompletionsForModuleExports.js index 8cd61cb3226..586d17df40d 100644 --- a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-without-includeCompletionsForModuleExports.js +++ b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping-without-includeCompletionsForModuleExports.js @@ -2274,8 +2274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/index", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "MyClass", @@ -2289,8 +2289,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/helper", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "MyHelper", @@ -2304,8 +2304,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/other", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "OtherClass", diff --git a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping.js b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping.js index 11248aea1c8..15e36a7b021 100644 --- a/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping.js +++ b/tests/baselines/reference/tsserver/completions/in-project-reference-setup-with-path-mapping.js @@ -864,8 +864,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/index", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "MyClass", @@ -879,8 +879,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/helper", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "MyHelper", @@ -1391,8 +1391,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/index", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "MyClass", @@ -1406,8 +1406,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/helper", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "MyHelper", @@ -1421,8 +1421,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/other", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "OtherClass", @@ -1979,8 +1979,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/index", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "MyClass", @@ -1994,8 +1994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/helper", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "MyHelper", @@ -2009,8 +2009,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/other", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "OtherClass", diff --git a/tests/baselines/reference/tsserver/completions/in-project-where-there-are-no-imports-but-has-project-references-setup.js b/tests/baselines/reference/tsserver/completions/in-project-where-there-are-no-imports-but-has-project-references-setup.js index e4e6491fe29..4f5c5706438 100644 --- a/tests/baselines/reference/tsserver/completions/in-project-where-there-are-no-imports-but-has-project-references-setup.js +++ b/tests/baselines/reference/tsserver/completions/in-project-where-there-are-no-imports-but-has-project-references-setup.js @@ -780,8 +780,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/user/username/projects/shared/src/index", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "MyClass", diff --git a/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js b/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js index 5c7a2484345..24b4747568d 100644 --- a/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js +++ b/tests/baselines/reference/tsserver/completions/works-when-files-are-included-from-two-different-drives-of-windows.js @@ -752,8 +752,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "e:/myproject/node_modules/@types/react/index", + "hasAction": true, "data": { "exportName": "Component", "exportMapKey": "9 * Component ", @@ -765,6 +765,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] } ], diff --git a/tests/baselines/reference/tsserver/completions/works.js b/tests/baselines/reference/tsserver/completions/works.js index 685ba908cb4..c4167b6151f 100644 --- a/tests/baselines/reference/tsserver/completions/works.js +++ b/tests/baselines/reference/tsserver/completions/works.js @@ -346,8 +346,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", diff --git a/tests/baselines/reference/tsserver/completionsIncomplete/ambient-module-specifier-resolutions-do-not-count-against-the-resolution-limit.js b/tests/baselines/reference/tsserver/completionsIncomplete/ambient-module-specifier-resolutions-do-not-count-against-the-resolution-limit.js index 73c17ffb39d..008e5df1117 100644 --- a/tests/baselines/reference/tsserver/completionsIncomplete/ambient-module-specifier-resolutions-do-not-count-against-the-resolution-limit.js +++ b/tests/baselines/reference/tsserver/completionsIncomplete/ambient-module-specifier-resolutions-do-not-count-against-the-resolution-limit.js @@ -4934,8 +4934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_0", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_0", @@ -4954,8 +4954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4974,8 +4974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4994,8 +4994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -5014,8 +5014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -5034,8 +5034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -5054,8 +5054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_1", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_1", @@ -5074,8 +5074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5094,8 +5094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5114,8 +5114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5134,8 +5134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5154,8 +5154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5174,8 +5174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_2", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_2", @@ -5194,8 +5194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -5214,8 +5214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -5234,8 +5234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -5254,8 +5254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -5274,8 +5274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -5294,8 +5294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_3", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_3", @@ -5314,8 +5314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -5334,8 +5334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -5354,8 +5354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -5374,8 +5374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -5394,8 +5394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -5414,8 +5414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_4", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_4", @@ -5434,8 +5434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -5454,8 +5454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -5474,8 +5474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -5494,8 +5494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -5514,8 +5514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -5534,8 +5534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_5", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_5", @@ -5554,8 +5554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -5574,8 +5574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -5594,8 +5594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -5614,8 +5614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -5634,8 +5634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -5654,8 +5654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_6", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_6", @@ -5674,8 +5674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -5694,8 +5694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -5714,8 +5714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -5734,8 +5734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -5754,8 +5754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -5774,8 +5774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_7", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_7", @@ -5794,8 +5794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -5814,8 +5814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -5834,8 +5834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -5854,8 +5854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -5874,8 +5874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -5894,8 +5894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_8", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_8", @@ -5914,8 +5914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -5934,8 +5934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -5954,8 +5954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -5974,8 +5974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -5994,8 +5994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -6014,8 +6014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_9", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_9", @@ -6034,8 +6034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -6054,8 +6054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -6074,8 +6074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -6094,8 +6094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -6114,8 +6114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -6134,8 +6134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_10", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_10", @@ -6154,8 +6154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -6174,8 +6174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -6194,8 +6194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -6214,8 +6214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -6234,8 +6234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -6254,8 +6254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_11", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_11", @@ -6274,8 +6274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -6294,8 +6294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -6314,8 +6314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -6334,8 +6334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -6354,8 +6354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -6374,8 +6374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_12", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_12", @@ -6394,8 +6394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -6414,8 +6414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -6434,8 +6434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -6454,8 +6454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -6474,8 +6474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -6494,8 +6494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_13", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_13", @@ -6514,8 +6514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -6534,8 +6534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -6554,8 +6554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -6574,8 +6574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -6594,8 +6594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -6614,8 +6614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_14", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_14", @@ -6634,8 +6634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -6654,8 +6654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -6674,8 +6674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -6694,8 +6694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -6714,8 +6714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -6734,8 +6734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_15", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_15", @@ -6754,8 +6754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -6774,8 +6774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -6794,8 +6794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -6814,8 +6814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -6834,8 +6834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -6854,8 +6854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_16", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_16", @@ -6874,8 +6874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -6894,8 +6894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -6914,8 +6914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -6934,8 +6934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -6954,8 +6954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -6974,8 +6974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_17", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_17", @@ -6994,8 +6994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -7014,8 +7014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -7034,8 +7034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -7054,8 +7054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -7074,8 +7074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -7094,8 +7094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_18", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_18", @@ -7114,8 +7114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -7134,8 +7134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -7154,8 +7154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -7174,8 +7174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -7194,8 +7194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -7214,8 +7214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_19", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_19", @@ -7234,8 +7234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -7254,8 +7254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -7274,8 +7274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -7294,8 +7294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -7314,8 +7314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -7334,8 +7334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_20", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_20", @@ -7354,8 +7354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -7374,8 +7374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -7394,8 +7394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -7414,8 +7414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -7434,8 +7434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -7454,8 +7454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_21", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_21", @@ -7474,8 +7474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -7494,8 +7494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -7514,8 +7514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -7534,8 +7534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -7554,8 +7554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -7574,8 +7574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_22", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_22", @@ -7594,8 +7594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -7614,8 +7614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -7634,8 +7634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -7654,8 +7654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -7674,8 +7674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -7694,8 +7694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_23", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_23", @@ -7714,8 +7714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -7734,8 +7734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -7754,8 +7754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -7774,8 +7774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -7794,8 +7794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -7814,8 +7814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_24", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_24", @@ -7834,8 +7834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -7854,8 +7854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -7874,8 +7874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -7894,8 +7894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -7914,8 +7914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -7934,8 +7934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_25", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_25", @@ -7954,8 +7954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -7974,8 +7974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -7994,8 +7994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -8014,8 +8014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -8034,8 +8034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -8054,8 +8054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_26", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_26", @@ -8074,8 +8074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -8094,8 +8094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -8114,8 +8114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -8134,8 +8134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -8154,8 +8154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -8174,8 +8174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_27", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_27", @@ -8194,8 +8194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -8214,8 +8214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -8234,8 +8234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -8254,8 +8254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -8274,8 +8274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -8294,8 +8294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_28", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_28", @@ -8314,8 +8314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -8334,8 +8334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -8354,8 +8354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -8374,8 +8374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -8394,8 +8394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -8414,8 +8414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_29", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_29", @@ -8434,8 +8434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -8454,8 +8454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -8474,8 +8474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -8494,8 +8494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -8514,8 +8514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -8534,8 +8534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_30", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_30", @@ -8554,8 +8554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -8574,8 +8574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -8594,8 +8594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -8614,8 +8614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -8634,8 +8634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -8654,8 +8654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_31", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_31", @@ -8674,8 +8674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -8694,8 +8694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -8714,8 +8714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -8734,8 +8734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -8754,8 +8754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -8774,8 +8774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_32", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_32", @@ -8794,8 +8794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -8814,8 +8814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -8834,8 +8834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -8854,8 +8854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -8874,8 +8874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -8894,8 +8894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_33", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_33", @@ -8914,8 +8914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -8934,8 +8934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -8954,8 +8954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -8974,8 +8974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -8994,8 +8994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -9014,8 +9014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_34", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_34", @@ -9034,8 +9034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -9054,8 +9054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -9074,8 +9074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -9094,8 +9094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -9114,8 +9114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -9134,8 +9134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_35", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_35", @@ -9154,8 +9154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -9174,8 +9174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -9194,8 +9194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -9214,8 +9214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -9234,8 +9234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -9254,8 +9254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_36", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_36", @@ -9274,8 +9274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -9294,8 +9294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -9314,8 +9314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -9334,8 +9334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -9354,8 +9354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -9374,8 +9374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_37", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_37", @@ -9394,8 +9394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -9414,8 +9414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -9434,8 +9434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -9454,8 +9454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -9474,8 +9474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -9494,8 +9494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_38", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_38", @@ -9514,8 +9514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -9534,8 +9534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -9554,8 +9554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -9574,8 +9574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -9594,8 +9594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -9614,8 +9614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_39", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_39", @@ -9634,8 +9634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -9654,8 +9654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -9674,8 +9674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -9694,8 +9694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -9714,8 +9714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -9734,8 +9734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_40", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_40", @@ -9754,8 +9754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -9774,8 +9774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -9794,8 +9794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -9814,8 +9814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -9834,8 +9834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -9854,8 +9854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_41", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_41", @@ -9874,8 +9874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -9894,8 +9894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -9914,8 +9914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -9934,8 +9934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -9954,8 +9954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -9974,8 +9974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_42", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_42", @@ -9994,8 +9994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -10014,8 +10014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -10034,8 +10034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -10054,8 +10054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -10074,8 +10074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -10094,8 +10094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_43", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_43", @@ -10114,8 +10114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -10134,8 +10134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -10154,8 +10154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -10174,8 +10174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -10194,8 +10194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -10214,8 +10214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_44", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_44", @@ -10234,8 +10234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -10254,8 +10254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -10274,8 +10274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -10294,8 +10294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -10314,8 +10314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -10334,8 +10334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_45", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_45", @@ -10354,8 +10354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -10374,8 +10374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -10394,8 +10394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -10414,8 +10414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -10434,8 +10434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -10454,8 +10454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_46", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_46", @@ -10474,8 +10474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -10494,8 +10494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -10514,8 +10514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -10534,8 +10534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -10554,8 +10554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -10574,8 +10574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_47", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_47", @@ -10594,8 +10594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -10614,8 +10614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -10634,8 +10634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -10654,8 +10654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -10674,8 +10674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -10694,8 +10694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_48", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_48", @@ -10714,8 +10714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -10734,8 +10734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -10754,8 +10754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -10774,8 +10774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -10794,8 +10794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -10814,8 +10814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_49", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_49", @@ -10834,8 +10834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -10854,8 +10854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -10874,8 +10874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -10894,8 +10894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -10914,8 +10914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -10934,8 +10934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_50", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_50", @@ -10954,8 +10954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_50", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_50", @@ -10974,8 +10974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_50", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_50", @@ -10994,8 +10994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_50", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_50", @@ -11014,8 +11014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_50", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_50", @@ -11034,8 +11034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_50", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_50", @@ -11054,8 +11054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_51", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_51", @@ -11074,8 +11074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_51", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_51", @@ -11094,8 +11094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_51", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_51", @@ -11114,8 +11114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_51", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_51", @@ -11134,8 +11134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_51", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_51", @@ -11154,8 +11154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_51", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_51", @@ -11174,8 +11174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_52", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_52", @@ -11194,8 +11194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_52", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_52", @@ -11214,8 +11214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_52", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_52", @@ -11234,8 +11234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_52", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_52", @@ -11254,8 +11254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_52", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_52", @@ -11274,8 +11274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_52", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_52", @@ -11294,8 +11294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_53", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_53", @@ -11314,8 +11314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_53", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_53", @@ -11334,8 +11334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_53", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_53", @@ -11354,8 +11354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_53", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_53", @@ -11374,8 +11374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_53", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_53", @@ -11394,8 +11394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_53", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_53", @@ -11414,8 +11414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_54", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_54", @@ -11434,8 +11434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_54", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_54", @@ -11454,8 +11454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_54", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_54", @@ -11474,8 +11474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_54", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_54", @@ -11494,8 +11494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_54", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_54", @@ -11514,8 +11514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_54", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_54", @@ -11534,8 +11534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_55", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_55", @@ -11554,8 +11554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_55", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_55", @@ -11574,8 +11574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_55", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_55", @@ -11594,8 +11594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_55", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_55", @@ -11614,8 +11614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_55", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_55", @@ -11634,8 +11634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_55", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_55", @@ -11654,8 +11654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_56", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_56", @@ -11674,8 +11674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_56", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_56", @@ -11694,8 +11694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_56", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_56", @@ -11714,8 +11714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_56", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_56", @@ -11734,8 +11734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_56", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_56", @@ -11754,8 +11754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_56", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_56", @@ -11774,8 +11774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_57", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_57", @@ -11794,8 +11794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_57", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_57", @@ -11814,8 +11814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_57", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_57", @@ -11834,8 +11834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_57", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_57", @@ -11854,8 +11854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_57", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_57", @@ -11874,8 +11874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_57", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_57", @@ -11894,8 +11894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_58", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_58", @@ -11914,8 +11914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_58", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_58", @@ -11934,8 +11934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_58", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_58", @@ -11954,8 +11954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_58", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_58", @@ -11974,8 +11974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_58", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_58", @@ -11994,8 +11994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_58", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_58", @@ -12014,8 +12014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_59", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_59", @@ -12034,8 +12034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_59", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_59", @@ -12054,8 +12054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_59", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_59", @@ -12074,8 +12074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_59", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_59", @@ -12094,8 +12094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_59", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_59", @@ -12114,8 +12114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_59", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_59", @@ -12134,8 +12134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_60", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_60", @@ -12154,8 +12154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_60", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_60", @@ -12174,8 +12174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_60", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_60", @@ -12194,8 +12194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_60", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_60", @@ -12214,8 +12214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_60", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_60", @@ -12234,8 +12234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_60", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_60", @@ -12254,8 +12254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_61", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_61", @@ -12274,8 +12274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_61", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_61", @@ -12294,8 +12294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_61", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_61", @@ -12314,8 +12314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_61", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_61", @@ -12334,8 +12334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_61", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_61", @@ -12354,8 +12354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_61", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_61", @@ -12374,8 +12374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_62", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_62", @@ -12394,8 +12394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_62", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_62", @@ -12414,8 +12414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_62", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_62", @@ -12434,8 +12434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_62", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_62", @@ -12454,8 +12454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_62", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_62", @@ -12474,8 +12474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_62", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_62", @@ -12494,8 +12494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_63", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_63", @@ -12514,8 +12514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_63", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_63", @@ -12534,8 +12534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_63", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_63", @@ -12554,8 +12554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_63", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_63", @@ -12574,8 +12574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_63", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_63", @@ -12594,8 +12594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_63", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_63", @@ -12614,8 +12614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_64", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_64", @@ -12634,8 +12634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_64", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_64", @@ -12654,8 +12654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_64", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_64", @@ -12674,8 +12674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_64", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_64", @@ -12694,8 +12694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_64", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_64", @@ -12714,8 +12714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_64", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_64", @@ -12734,8 +12734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_65", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_65", @@ -12754,8 +12754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_65", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_65", @@ -12774,8 +12774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_65", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_65", @@ -12794,8 +12794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_65", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_65", @@ -12814,8 +12814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_65", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_65", @@ -12834,8 +12834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_65", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_65", @@ -12854,8 +12854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_66", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_66", @@ -12874,8 +12874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_66", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_66", @@ -12894,8 +12894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_66", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_66", @@ -12914,8 +12914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_66", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_66", @@ -12934,8 +12934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_66", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_66", @@ -12954,8 +12954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_66", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_66", @@ -12974,8 +12974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_67", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_67", @@ -12994,8 +12994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_67", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_67", @@ -13014,8 +13014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_67", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_67", @@ -13034,8 +13034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_67", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_67", @@ -13054,8 +13054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_67", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_67", @@ -13074,8 +13074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_67", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_67", @@ -13094,8 +13094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_68", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_68", @@ -13114,8 +13114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_68", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_68", @@ -13134,8 +13134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_68", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_68", @@ -13154,8 +13154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_68", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_68", @@ -13174,8 +13174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_68", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_68", @@ -13194,8 +13194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_68", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_68", @@ -13214,8 +13214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_69", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_69", @@ -13234,8 +13234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_69", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_69", @@ -13254,8 +13254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_69", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_69", @@ -13274,8 +13274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_69", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_69", @@ -13294,8 +13294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_69", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_69", @@ -13314,8 +13314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_69", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_69", @@ -13334,8 +13334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_70", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_70", @@ -13354,8 +13354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_70", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_70", @@ -13374,8 +13374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_70", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_70", @@ -13394,8 +13394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_70", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_70", @@ -13414,8 +13414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_70", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_70", @@ -13434,8 +13434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_70", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_70", @@ -13454,8 +13454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_71", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_71", @@ -13474,8 +13474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_71", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_71", @@ -13494,8 +13494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_71", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_71", @@ -13514,8 +13514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_71", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_71", @@ -13534,8 +13534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_71", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_71", @@ -13554,8 +13554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_71", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_71", @@ -13574,8 +13574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_72", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_72", @@ -13594,8 +13594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_72", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_72", @@ -13614,8 +13614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_72", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_72", @@ -13634,8 +13634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_72", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_72", @@ -13654,8 +13654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_72", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_72", @@ -13674,8 +13674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_72", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_72", @@ -13694,8 +13694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_73", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_73", @@ -13714,8 +13714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_73", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_73", @@ -13734,8 +13734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_73", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_73", @@ -13754,8 +13754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_73", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_73", @@ -13774,8 +13774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_73", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_73", @@ -13794,8 +13794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_73", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_73", @@ -13814,8 +13814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_74", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_74", @@ -13834,8 +13834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_74", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_74", @@ -13854,8 +13854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_74", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_74", @@ -13874,8 +13874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_74", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_74", @@ -13894,8 +13894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_74", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_74", @@ -13914,8 +13914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_74", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_74", @@ -13934,8 +13934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_75", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_75", @@ -13954,8 +13954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_75", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_75", @@ -13974,8 +13974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_75", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_75", @@ -13994,8 +13994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_75", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_75", @@ -14014,8 +14014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_75", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_75", @@ -14034,8 +14034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_75", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_75", @@ -14054,8 +14054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_76", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_76", @@ -14074,8 +14074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_76", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_76", @@ -14094,8 +14094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_76", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_76", @@ -14114,8 +14114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_76", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_76", @@ -14134,8 +14134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_76", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_76", @@ -14154,8 +14154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_76", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_76", @@ -14174,8 +14174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_77", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_77", @@ -14194,8 +14194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_77", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_77", @@ -14214,8 +14214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_77", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_77", @@ -14234,8 +14234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_77", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_77", @@ -14254,8 +14254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_77", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_77", @@ -14274,8 +14274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_77", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_77", @@ -14294,8 +14294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_78", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_78", @@ -14314,8 +14314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_78", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_78", @@ -14334,8 +14334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_78", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_78", @@ -14354,8 +14354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_78", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_78", @@ -14374,8 +14374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_78", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_78", @@ -14394,8 +14394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_78", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_78", @@ -14414,8 +14414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_79", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_79", @@ -14434,8 +14434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_79", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_79", @@ -14454,8 +14454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_79", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_79", @@ -14474,8 +14474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_79", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_79", @@ -14494,8 +14494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_79", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_79", @@ -14514,8 +14514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_79", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_79", @@ -14534,8 +14534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_80", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_80", @@ -14554,8 +14554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_80", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_80", @@ -14574,8 +14574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_80", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_80", @@ -14594,8 +14594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_80", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_80", @@ -14614,8 +14614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_80", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_80", @@ -14634,8 +14634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_80", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_80", @@ -14654,8 +14654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_81", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_81", @@ -14674,8 +14674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_81", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_81", @@ -14694,8 +14694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_81", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_81", @@ -14714,8 +14714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_81", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_81", @@ -14734,8 +14734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_81", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_81", @@ -14754,8 +14754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_81", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_81", @@ -14774,8 +14774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_82", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_82", @@ -14794,8 +14794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_82", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_82", @@ -14814,8 +14814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_82", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_82", @@ -14834,8 +14834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_82", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_82", @@ -14854,8 +14854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_82", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_82", @@ -14874,8 +14874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_82", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_82", @@ -14894,8 +14894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_83", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_83", @@ -14914,8 +14914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_83", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_83", @@ -14934,8 +14934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_83", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_83", @@ -14954,8 +14954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_83", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_83", @@ -14974,8 +14974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_83", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_83", @@ -14994,8 +14994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_83", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_83", @@ -15014,8 +15014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_84", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_84", @@ -15034,8 +15034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_84", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_84", @@ -15054,8 +15054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_84", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_84", @@ -15074,8 +15074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_84", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_84", @@ -15094,8 +15094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_84", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_84", @@ -15114,8 +15114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_84", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_84", @@ -15134,8 +15134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_85", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_85", @@ -15154,8 +15154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_85", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_85", @@ -15174,8 +15174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_85", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_85", @@ -15194,8 +15194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_85", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_85", @@ -15214,8 +15214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_85", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_85", @@ -15234,8 +15234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_85", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_85", @@ -15254,8 +15254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_86", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_86", @@ -15274,8 +15274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_86", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_86", @@ -15294,8 +15294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_86", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_86", @@ -15314,8 +15314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_86", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_86", @@ -15334,8 +15334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_86", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_86", @@ -15354,8 +15354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_86", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_86", @@ -15374,8 +15374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_87", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_87", @@ -15394,8 +15394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_87", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_87", @@ -15414,8 +15414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_87", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_87", @@ -15434,8 +15434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_87", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_87", @@ -15454,8 +15454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_87", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_87", @@ -15474,8 +15474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_87", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_87", @@ -15494,8 +15494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_88", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_88", @@ -15514,8 +15514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_88", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_88", @@ -15534,8 +15534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_88", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_88", @@ -15554,8 +15554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_88", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_88", @@ -15574,8 +15574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_88", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_88", @@ -15594,8 +15594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_88", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_88", @@ -15614,8 +15614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_89", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_89", @@ -15634,8 +15634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_89", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_89", @@ -15654,8 +15654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_89", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_89", @@ -15674,8 +15674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_89", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_89", @@ -15694,8 +15694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_89", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_89", @@ -15714,8 +15714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_89", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_89", @@ -15734,8 +15734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_90", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_90", @@ -15754,8 +15754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_90", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_90", @@ -15774,8 +15774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_90", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_90", @@ -15794,8 +15794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_90", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_90", @@ -15814,8 +15814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_90", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_90", @@ -15834,8 +15834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_90", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_90", @@ -15854,8 +15854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_91", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_91", @@ -15874,8 +15874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_91", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_91", @@ -15894,8 +15894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_91", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_91", @@ -15914,8 +15914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_91", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_91", @@ -15934,8 +15934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_91", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_91", @@ -15954,8 +15954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_91", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_91", @@ -15974,8 +15974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_92", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_92", @@ -15994,8 +15994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_92", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_92", @@ -16014,8 +16014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_92", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_92", @@ -16034,8 +16034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_92", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_92", @@ -16054,8 +16054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_92", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_92", @@ -16074,8 +16074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_92", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_92", @@ -16094,8 +16094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_93", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_93", @@ -16114,8 +16114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_93", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_93", @@ -16134,8 +16134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_93", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_93", @@ -16154,8 +16154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_93", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_93", @@ -16174,8 +16174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_93", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_93", @@ -16194,8 +16194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_93", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_93", @@ -16214,8 +16214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_94", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_94", @@ -16234,8 +16234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_94", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_94", @@ -16254,8 +16254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_94", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_94", @@ -16274,8 +16274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_94", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_94", @@ -16294,8 +16294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_94", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_94", @@ -16314,8 +16314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_94", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_94", @@ -16334,8 +16334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_95", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_95", @@ -16354,8 +16354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_95", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_95", @@ -16374,8 +16374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_95", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_95", @@ -16394,8 +16394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_95", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_95", @@ -16414,8 +16414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_95", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_95", @@ -16434,8 +16434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_95", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_95", @@ -16454,8 +16454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_96", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_96", @@ -16474,8 +16474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_96", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_96", @@ -16494,8 +16494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_96", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_96", @@ -16514,8 +16514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_96", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_96", @@ -16534,8 +16534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_96", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_96", @@ -16554,8 +16554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_96", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_96", @@ -16574,8 +16574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_97", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_97", @@ -16594,8 +16594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_97", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_97", @@ -16614,8 +16614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_97", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_97", @@ -16634,8 +16634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_97", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_97", @@ -16654,8 +16654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_97", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_97", @@ -16674,8 +16674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_97", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_97", @@ -16694,8 +16694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_98", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_98", @@ -16714,8 +16714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_98", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_98", @@ -16734,8 +16734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_98", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_98", @@ -16754,8 +16754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_98", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_98", @@ -16774,8 +16774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_98", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_98", @@ -16794,8 +16794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_98", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_98", @@ -16814,8 +16814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient_99", + "hasAction": true, "sourceDisplay": [ { "text": "ambient_99", @@ -16834,8 +16834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_99", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_99", @@ -16854,8 +16854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_99", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_99", @@ -16874,8 +16874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_99", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_99", @@ -16894,8 +16894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_99", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_99", @@ -16914,8 +16914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_99", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_99", diff --git a/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(1).js b/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(1).js index c0228bc10b9..0f4f96fa40f 100644 --- a/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(1).js +++ b/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(1).js @@ -4134,8 +4134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4154,8 +4154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4174,8 +4174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4194,8 +4194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4214,8 +4214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4234,8 +4234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4254,8 +4254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4274,8 +4274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4294,8 +4294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4314,8 +4314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4334,8 +4334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4354,8 +4354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4374,8 +4374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4394,8 +4394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4414,8 +4414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4434,8 +4434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4454,8 +4454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4474,8 +4474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4494,8 +4494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4514,8 +4514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4534,8 +4534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4554,8 +4554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4574,8 +4574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4594,8 +4594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4614,8 +4614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4634,8 +4634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4654,8 +4654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4674,8 +4674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4694,8 +4694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4714,8 +4714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4734,8 +4734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4754,8 +4754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4774,8 +4774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4794,8 +4794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4814,8 +4814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4834,8 +4834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4854,8 +4854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4874,8 +4874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4894,8 +4894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4914,8 +4914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4934,8 +4934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4954,8 +4954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4974,8 +4974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -4994,8 +4994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -5014,8 +5014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -5034,8 +5034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -5054,8 +5054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -5074,8 +5074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -5094,8 +5094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -5114,8 +5114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -5134,8 +5134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5154,8 +5154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5174,8 +5174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5194,8 +5194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5214,8 +5214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5234,8 +5234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5254,8 +5254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5274,8 +5274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5294,8 +5294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5314,8 +5314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5334,8 +5334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5354,8 +5354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5374,8 +5374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5394,8 +5394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5414,8 +5414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5434,8 +5434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5454,8 +5454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5474,8 +5474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5494,8 +5494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5514,8 +5514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5534,8 +5534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5554,8 +5554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5574,8 +5574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5594,8 +5594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5614,8 +5614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5634,8 +5634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5654,8 +5654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5674,8 +5674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5694,8 +5694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5714,8 +5714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5734,8 +5734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5754,8 +5754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5774,8 +5774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5794,8 +5794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5814,8 +5814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5834,8 +5834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5854,8 +5854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5874,8 +5874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5894,8 +5894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5914,8 +5914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5934,8 +5934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5954,8 +5954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5974,8 +5974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5994,8 +5994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -6014,8 +6014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -6034,8 +6034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -6054,8 +6054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -6074,8 +6074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -6094,8 +6094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -6114,8 +6114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -6134,8 +6134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6154,8 +6154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6174,8 +6174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6194,8 +6194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6214,8 +6214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6234,8 +6234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6254,8 +6254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6274,8 +6274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6294,8 +6294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6314,8 +6314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6334,8 +6334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6354,8 +6354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6374,8 +6374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6394,8 +6394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6414,8 +6414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6434,8 +6434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6454,8 +6454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6474,8 +6474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6494,8 +6494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6514,8 +6514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6534,8 +6534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6554,8 +6554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6574,8 +6574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6594,8 +6594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6614,8 +6614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6634,8 +6634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6654,8 +6654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6674,8 +6674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6694,8 +6694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6714,8 +6714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6734,8 +6734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6754,8 +6754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6774,8 +6774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6794,8 +6794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6814,8 +6814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6834,8 +6834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6854,8 +6854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6874,8 +6874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6894,8 +6894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6914,8 +6914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6934,8 +6934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6954,8 +6954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6974,8 +6974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -6994,8 +6994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -7014,8 +7014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -7034,8 +7034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -7054,8 +7054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -7074,8 +7074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -7094,8 +7094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -7114,8 +7114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -7134,8 +7134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7154,8 +7154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7174,8 +7174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7194,8 +7194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7214,8 +7214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7234,8 +7234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7254,8 +7254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7274,8 +7274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7294,8 +7294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7314,8 +7314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7334,8 +7334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7354,8 +7354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7374,8 +7374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7394,8 +7394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7414,8 +7414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7434,8 +7434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7454,8 +7454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7474,8 +7474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7494,8 +7494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7514,8 +7514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7534,8 +7534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7554,8 +7554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7574,8 +7574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7594,8 +7594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7614,8 +7614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7634,8 +7634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7654,8 +7654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7674,8 +7674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7694,8 +7694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7714,8 +7714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7734,8 +7734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7754,8 +7754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7774,8 +7774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7794,8 +7794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7814,8 +7814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7834,8 +7834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7854,8 +7854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7874,8 +7874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7894,8 +7894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7914,8 +7914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7934,8 +7934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7954,8 +7954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7974,8 +7974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7994,8 +7994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -8014,8 +8014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -8034,8 +8034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -8054,8 +8054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -8074,8 +8074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -8094,8 +8094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -8114,8 +8114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -8134,8 +8134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8154,8 +8154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8174,8 +8174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8194,8 +8194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8214,8 +8214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8234,8 +8234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8254,8 +8254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8274,8 +8274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8294,8 +8294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8314,8 +8314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8334,8 +8334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8354,8 +8354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8374,8 +8374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8394,8 +8394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8414,8 +8414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8434,8 +8434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8454,8 +8454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8474,8 +8474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8494,8 +8494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8514,8 +8514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8534,8 +8534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8554,8 +8554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8574,8 +8574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8594,8 +8594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8614,8 +8614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8634,8 +8634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8654,8 +8654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8674,8 +8674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8694,8 +8694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8714,8 +8714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8734,8 +8734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8754,8 +8754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8774,8 +8774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8794,8 +8794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8814,8 +8814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8834,8 +8834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8854,8 +8854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8874,8 +8874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8894,8 +8894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8914,8 +8914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8934,8 +8934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8954,8 +8954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8974,8 +8974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8994,8 +8994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -9014,8 +9014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -9034,8 +9034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -9054,8 +9054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -9074,8 +9074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -9094,8 +9094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -9114,8 +9114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -9134,8 +9134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9154,8 +9154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9174,8 +9174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9194,8 +9194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9214,8 +9214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9234,8 +9234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9254,8 +9254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9274,8 +9274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9294,8 +9294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9314,8 +9314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9334,8 +9334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9354,8 +9354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9374,8 +9374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9394,8 +9394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9414,8 +9414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9434,8 +9434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9454,8 +9454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9474,8 +9474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9494,8 +9494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9514,8 +9514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9534,8 +9534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9554,8 +9554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9574,8 +9574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9594,8 +9594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9614,8 +9614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9634,8 +9634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9654,8 +9654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9674,8 +9674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9694,8 +9694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9714,8 +9714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9734,8 +9734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9754,8 +9754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9774,8 +9774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9794,8 +9794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9814,8 +9814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9834,8 +9834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9854,8 +9854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9874,8 +9874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9894,8 +9894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9914,8 +9914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9934,8 +9934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9954,8 +9954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9974,8 +9974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -9994,8 +9994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -10014,8 +10014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -10034,8 +10034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -10054,8 +10054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -10074,8 +10074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -10094,8 +10094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -10114,8 +10114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -10134,8 +10134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10154,8 +10154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10174,8 +10174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10194,8 +10194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10214,8 +10214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10234,8 +10234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10254,8 +10254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10274,8 +10274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10294,8 +10294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10314,8 +10314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10334,8 +10334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10354,8 +10354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10374,8 +10374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10394,8 +10394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10414,8 +10414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10434,8 +10434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10454,8 +10454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10474,8 +10474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10494,8 +10494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10514,8 +10514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10534,8 +10534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10554,8 +10554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10574,8 +10574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10594,8 +10594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10614,8 +10614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10634,8 +10634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10654,8 +10654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10674,8 +10674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10694,8 +10694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10714,8 +10714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10734,8 +10734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10754,8 +10754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10774,8 +10774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10794,8 +10794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10814,8 +10814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10834,8 +10834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10854,8 +10854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10874,8 +10874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10894,8 +10894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10914,8 +10914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10934,8 +10934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10954,8 +10954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10974,8 +10974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -10994,8 +10994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -11014,8 +11014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -11034,8 +11034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -11054,8 +11054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -11074,8 +11074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -11094,8 +11094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -11114,8 +11114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -11134,8 +11134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11154,8 +11154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11174,8 +11174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11194,8 +11194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11214,8 +11214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11234,8 +11234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11254,8 +11254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11274,8 +11274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11294,8 +11294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11314,8 +11314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11334,8 +11334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11354,8 +11354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11374,8 +11374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11394,8 +11394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11414,8 +11414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11434,8 +11434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11454,8 +11454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11474,8 +11474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11494,8 +11494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11514,8 +11514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11534,8 +11534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11554,8 +11554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11574,8 +11574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11594,8 +11594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11614,8 +11614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11634,8 +11634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11654,8 +11654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11674,8 +11674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11694,8 +11694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11714,8 +11714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11734,8 +11734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11754,8 +11754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11774,8 +11774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11794,8 +11794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11814,8 +11814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11834,8 +11834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11854,8 +11854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11874,8 +11874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11894,8 +11894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11914,8 +11914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11934,8 +11934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11954,8 +11954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11974,8 +11974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11994,8 +11994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -12014,8 +12014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -12034,8 +12034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -12054,8 +12054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -12074,8 +12074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -12094,8 +12094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -12114,8 +12114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -12134,8 +12134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12154,8 +12154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12174,8 +12174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12194,8 +12194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12214,8 +12214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12234,8 +12234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12254,8 +12254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12274,8 +12274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12294,8 +12294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12314,8 +12314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12334,8 +12334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12354,8 +12354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12374,8 +12374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12394,8 +12394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12414,8 +12414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12434,8 +12434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12454,8 +12454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12474,8 +12474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12494,8 +12494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12514,8 +12514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12534,8 +12534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12554,8 +12554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12574,8 +12574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12594,8 +12594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12614,8 +12614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12634,8 +12634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12654,8 +12654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12674,8 +12674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12694,8 +12694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12714,8 +12714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12734,8 +12734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12754,8 +12754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12774,8 +12774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12794,8 +12794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12814,8 +12814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12834,8 +12834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12854,8 +12854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12874,8 +12874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12894,8 +12894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12914,8 +12914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12934,8 +12934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12954,8 +12954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12974,8 +12974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -12994,8 +12994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -13014,8 +13014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -13034,8 +13034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -13054,8 +13054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -13074,8 +13074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -13094,8 +13094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -13114,8 +13114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -13134,8 +13134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13154,8 +13154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13174,8 +13174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13194,8 +13194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13214,8 +13214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13234,8 +13234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13254,8 +13254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13274,8 +13274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13294,8 +13294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13314,8 +13314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13334,8 +13334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13354,8 +13354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13374,8 +13374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13394,8 +13394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13414,8 +13414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13434,8 +13434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13454,8 +13454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13474,8 +13474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13494,8 +13494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13514,8 +13514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13534,8 +13534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13554,8 +13554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13574,8 +13574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13594,8 +13594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13614,8 +13614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13634,8 +13634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13654,8 +13654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13674,8 +13674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13694,8 +13694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13714,8 +13714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13734,8 +13734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13754,8 +13754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13774,8 +13774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13794,8 +13794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13814,8 +13814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13834,8 +13834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13854,8 +13854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13874,8 +13874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13894,8 +13894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13914,8 +13914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13934,8 +13934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13954,8 +13954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13974,8 +13974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -13994,8 +13994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -14014,8 +14014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -14034,8 +14034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -14054,8 +14054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -14074,8 +14074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -14094,8 +14094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -14114,8 +14114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -14134,8 +14134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14154,8 +14154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14174,8 +14174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14194,8 +14194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14214,8 +14214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14234,8 +14234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14254,8 +14254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14274,8 +14274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14294,8 +14294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14314,8 +14314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14334,8 +14334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14354,8 +14354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14374,8 +14374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14394,8 +14394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14414,8 +14414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14434,8 +14434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14454,8 +14454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14474,8 +14474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14494,8 +14494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14514,8 +14514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14534,8 +14534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14554,8 +14554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14574,8 +14574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14594,8 +14594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14614,8 +14614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14634,8 +14634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14654,8 +14654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14674,8 +14674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14694,8 +14694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14714,8 +14714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14734,8 +14734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14754,8 +14754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14774,8 +14774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14794,8 +14794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14814,8 +14814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14834,8 +14834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14854,8 +14854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14874,8 +14874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14894,8 +14894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14914,8 +14914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14934,8 +14934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14954,8 +14954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14974,8 +14974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -14994,8 +14994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -15014,8 +15014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -15034,8 +15034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -15054,8 +15054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -15074,8 +15074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -15094,8 +15094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -15114,8 +15114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -15134,8 +15134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15154,8 +15154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15174,8 +15174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15194,8 +15194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15214,8 +15214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15234,8 +15234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15254,8 +15254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15274,8 +15274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15294,8 +15294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15314,8 +15314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15334,8 +15334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15354,8 +15354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15374,8 +15374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15394,8 +15394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15414,8 +15414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15434,8 +15434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15454,8 +15454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15474,8 +15474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15494,8 +15494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15514,8 +15514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15534,8 +15534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15554,8 +15554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15574,8 +15574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15594,8 +15594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15614,8 +15614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15634,8 +15634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15654,8 +15654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15674,8 +15674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15694,8 +15694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15714,8 +15714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15734,8 +15734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15754,8 +15754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15774,8 +15774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15794,8 +15794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15814,8 +15814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15834,8 +15834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15854,8 +15854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15874,8 +15874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15894,8 +15894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15914,8 +15914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15934,8 +15934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15954,8 +15954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15974,8 +15974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -15994,8 +15994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -16014,8 +16014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -16034,8 +16034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -16054,8 +16054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -16074,8 +16074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -16094,8 +16094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -16114,8 +16114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -16134,8 +16134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16154,8 +16154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16174,8 +16174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16194,8 +16194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16214,8 +16214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16234,8 +16234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16254,8 +16254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16274,8 +16274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16294,8 +16294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16314,8 +16314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16334,8 +16334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16354,8 +16354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16374,8 +16374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16394,8 +16394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16414,8 +16414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16434,8 +16434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16454,8 +16454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16474,8 +16474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16494,8 +16494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16514,8 +16514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16534,8 +16534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16554,8 +16554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16574,8 +16574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16594,8 +16594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16614,8 +16614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16634,8 +16634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16654,8 +16654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16674,8 +16674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16694,8 +16694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16714,8 +16714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16734,8 +16734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16754,8 +16754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16774,8 +16774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16794,8 +16794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16814,8 +16814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16834,8 +16834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16854,8 +16854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16874,8 +16874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16894,8 +16894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16914,8 +16914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16934,8 +16934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16954,8 +16954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16974,8 +16974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -16994,8 +16994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -17014,8 +17014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -17034,8 +17034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -17054,8 +17054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -17074,8 +17074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -17094,8 +17094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -17114,8 +17114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -17134,8 +17134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17154,8 +17154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17174,8 +17174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17194,8 +17194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17214,8 +17214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17234,8 +17234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17254,8 +17254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17274,8 +17274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17294,8 +17294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17314,8 +17314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17334,8 +17334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17354,8 +17354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17374,8 +17374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17394,8 +17394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17414,8 +17414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17434,8 +17434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17454,8 +17454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17474,8 +17474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17494,8 +17494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17514,8 +17514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17534,8 +17534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17554,8 +17554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17574,8 +17574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17594,8 +17594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17614,8 +17614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17634,8 +17634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17654,8 +17654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17674,8 +17674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17694,8 +17694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17714,8 +17714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17734,8 +17734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17754,8 +17754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17774,8 +17774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17794,8 +17794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17814,8 +17814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17834,8 +17834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17854,8 +17854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17874,8 +17874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17894,8 +17894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17914,8 +17914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17934,8 +17934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17954,8 +17954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17974,8 +17974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17994,8 +17994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -18014,8 +18014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -18034,8 +18034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -18054,8 +18054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -18074,8 +18074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -18094,8 +18094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -18114,8 +18114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -18134,8 +18134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18154,8 +18154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18174,8 +18174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18194,8 +18194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18214,8 +18214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18234,8 +18234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18254,8 +18254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18274,8 +18274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18294,8 +18294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18314,8 +18314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18334,8 +18334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18354,8 +18354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18374,8 +18374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18394,8 +18394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18414,8 +18414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18434,8 +18434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18454,8 +18454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18474,8 +18474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18494,8 +18494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18514,8 +18514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18534,8 +18534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18554,8 +18554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18574,8 +18574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18594,8 +18594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18614,8 +18614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18634,8 +18634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18654,8 +18654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18674,8 +18674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18694,8 +18694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18714,8 +18714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18734,8 +18734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18754,8 +18754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18774,8 +18774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18794,8 +18794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18814,8 +18814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18834,8 +18834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18854,8 +18854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18874,8 +18874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18894,8 +18894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18914,8 +18914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18934,8 +18934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18954,8 +18954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18974,8 +18974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -18994,8 +18994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -19014,8 +19014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -19034,8 +19034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -19054,8 +19054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -19074,8 +19074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -19094,8 +19094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -19114,8 +19114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -19134,8 +19134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19154,8 +19154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19174,8 +19174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19194,8 +19194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19214,8 +19214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19234,8 +19234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19254,8 +19254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19274,8 +19274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19294,8 +19294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19314,8 +19314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19334,8 +19334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19354,8 +19354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19374,8 +19374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19394,8 +19394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19414,8 +19414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19434,8 +19434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19454,8 +19454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19474,8 +19474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19494,8 +19494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19514,8 +19514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19534,8 +19534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19554,8 +19554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19574,8 +19574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19594,8 +19594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19614,8 +19614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19634,8 +19634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19654,8 +19654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19674,8 +19674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19694,8 +19694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19714,8 +19714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19734,8 +19734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19754,8 +19754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19774,8 +19774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19794,8 +19794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19814,8 +19814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19834,8 +19834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19854,8 +19854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19874,8 +19874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19894,8 +19894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19914,8 +19914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19934,8 +19934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19954,8 +19954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19974,8 +19974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -19994,8 +19994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -20014,8 +20014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -20034,8 +20034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -20054,8 +20054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -20074,8 +20074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -20094,8 +20094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -20114,8 +20114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -20134,8 +20134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20154,8 +20154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20174,8 +20174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20194,8 +20194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20214,8 +20214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20234,8 +20234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20254,8 +20254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20274,8 +20274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20294,8 +20294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20314,8 +20314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20334,8 +20334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20354,8 +20354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20374,8 +20374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20394,8 +20394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20414,8 +20414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20434,8 +20434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20454,8 +20454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20474,8 +20474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20494,8 +20494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20514,8 +20514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20534,8 +20534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20554,8 +20554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20574,8 +20574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20594,8 +20594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20614,8 +20614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20634,8 +20634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20654,8 +20654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20674,8 +20674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20694,8 +20694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20714,8 +20714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20734,8 +20734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20754,8 +20754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20774,8 +20774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20794,8 +20794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20814,8 +20814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20834,8 +20834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20854,8 +20854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20874,8 +20874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20894,8 +20894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20914,8 +20914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20934,8 +20934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20954,8 +20954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20974,8 +20974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -20994,8 +20994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -21014,8 +21014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -21034,8 +21034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -21054,8 +21054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -21074,8 +21074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -21094,8 +21094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -21114,8 +21114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -21134,8 +21134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21154,8 +21154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21174,8 +21174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21194,8 +21194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21214,8 +21214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21234,8 +21234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21254,8 +21254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21274,8 +21274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21294,8 +21294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21314,8 +21314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21334,8 +21334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21354,8 +21354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21374,8 +21374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21394,8 +21394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21414,8 +21414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21434,8 +21434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21454,8 +21454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21474,8 +21474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21494,8 +21494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21514,8 +21514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21534,8 +21534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21554,8 +21554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21574,8 +21574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21594,8 +21594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21614,8 +21614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21634,8 +21634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21654,8 +21654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21674,8 +21674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21694,8 +21694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21714,8 +21714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21734,8 +21734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21754,8 +21754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21774,8 +21774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21794,8 +21794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21814,8 +21814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21834,8 +21834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21854,8 +21854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21874,8 +21874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21894,8 +21894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21914,8 +21914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21934,8 +21934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21954,8 +21954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21974,8 +21974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -21994,8 +21994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -22014,8 +22014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -22034,8 +22034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -22054,8 +22054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -22074,8 +22074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -22094,8 +22094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -22114,8 +22114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -22134,8 +22134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22154,8 +22154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22174,8 +22174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22194,8 +22194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22214,8 +22214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22234,8 +22234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22254,8 +22254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22274,8 +22274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22294,8 +22294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22314,8 +22314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22334,8 +22334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22354,8 +22354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22374,8 +22374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22394,8 +22394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22414,8 +22414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22434,8 +22434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22454,8 +22454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22474,8 +22474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22494,8 +22494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22514,8 +22514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22534,8 +22534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22554,8 +22554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22574,8 +22574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22594,8 +22594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22614,8 +22614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22634,8 +22634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22654,8 +22654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22674,8 +22674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22694,8 +22694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22714,8 +22714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22734,8 +22734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22754,8 +22754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22774,8 +22774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22794,8 +22794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22814,8 +22814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22834,8 +22834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22854,8 +22854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22874,8 +22874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22894,8 +22894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22914,8 +22914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22934,8 +22934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22954,8 +22954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22974,8 +22974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -22994,8 +22994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -23014,8 +23014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -23034,8 +23034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -23054,8 +23054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -23074,8 +23074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -23094,8 +23094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -23114,8 +23114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -23134,8 +23134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23154,8 +23154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23174,8 +23174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23194,8 +23194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23214,8 +23214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23234,8 +23234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23254,8 +23254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23274,8 +23274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23294,8 +23294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23314,8 +23314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23334,8 +23334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23354,8 +23354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23374,8 +23374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23394,8 +23394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23414,8 +23414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23434,8 +23434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23454,8 +23454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23474,8 +23474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23494,8 +23494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23514,8 +23514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23534,8 +23534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23554,8 +23554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23574,8 +23574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23594,8 +23594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23614,8 +23614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23634,8 +23634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23654,8 +23654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23674,8 +23674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23694,8 +23694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23714,8 +23714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23734,8 +23734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23754,8 +23754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23774,8 +23774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23794,8 +23794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23814,8 +23814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23834,8 +23834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23854,8 +23854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23874,8 +23874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23894,8 +23894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23914,8 +23914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23934,8 +23934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23954,8 +23954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23974,8 +23974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -23994,8 +23994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -24014,8 +24014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -24034,8 +24034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -24054,8 +24054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -24074,8 +24074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -24094,8 +24094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -24114,8 +24114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -24134,8 +24134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24154,8 +24154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24174,8 +24174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24194,8 +24194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24214,8 +24214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24234,8 +24234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24254,8 +24254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24274,8 +24274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24294,8 +24294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24314,8 +24314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24334,8 +24334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24354,8 +24354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24374,8 +24374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24394,8 +24394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24414,8 +24414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24434,8 +24434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24454,8 +24454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24474,8 +24474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24494,8 +24494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24514,8 +24514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24534,8 +24534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24554,8 +24554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24574,8 +24574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24594,8 +24594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24614,8 +24614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24634,8 +24634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24654,8 +24654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24674,8 +24674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24694,8 +24694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24714,8 +24714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24734,8 +24734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24754,8 +24754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24774,8 +24774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24794,8 +24794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24814,8 +24814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24834,8 +24834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24854,8 +24854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24874,8 +24874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24894,8 +24894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24914,8 +24914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24934,8 +24934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24954,8 +24954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24974,8 +24974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -24994,8 +24994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -25014,8 +25014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -25034,8 +25034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -25054,8 +25054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -25074,8 +25074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -25094,8 +25094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -25114,8 +25114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -25134,8 +25134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25154,8 +25154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25174,8 +25174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25194,8 +25194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25214,8 +25214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25234,8 +25234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25254,8 +25254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25274,8 +25274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25294,8 +25294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25314,8 +25314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25334,8 +25334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25354,8 +25354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25374,8 +25374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25394,8 +25394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25414,8 +25414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25434,8 +25434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25454,8 +25454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25474,8 +25474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25494,8 +25494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25514,8 +25514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25534,8 +25534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25554,8 +25554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25574,8 +25574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25594,8 +25594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25614,8 +25614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25634,8 +25634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25654,8 +25654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25674,8 +25674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25694,8 +25694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25714,8 +25714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25734,8 +25734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25754,8 +25754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25774,8 +25774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25794,8 +25794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25814,8 +25814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25834,8 +25834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25854,8 +25854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25874,8 +25874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25894,8 +25894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25914,8 +25914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25934,8 +25934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25954,8 +25954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25974,8 +25974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -25994,8 +25994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -26014,8 +26014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -26034,8 +26034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -26054,8 +26054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -26074,8 +26074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -26094,8 +26094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -26114,8 +26114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -26134,8 +26134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26154,8 +26154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26174,8 +26174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26194,8 +26194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26214,8 +26214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26234,8 +26234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26254,8 +26254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26274,8 +26274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26294,8 +26294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26314,8 +26314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26334,8 +26334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26354,8 +26354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26374,8 +26374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26394,8 +26394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26414,8 +26414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26434,8 +26434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26454,8 +26454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26474,8 +26474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26494,8 +26494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26514,8 +26514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26534,8 +26534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26554,8 +26554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26574,8 +26574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26594,8 +26594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26614,8 +26614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26634,8 +26634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26654,8 +26654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26674,8 +26674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26694,8 +26694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26714,8 +26714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26734,8 +26734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26754,8 +26754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26774,8 +26774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26794,8 +26794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26814,8 +26814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26834,8 +26834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26854,8 +26854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26874,8 +26874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26894,8 +26894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26914,8 +26914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26934,8 +26934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26954,8 +26954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26974,8 +26974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -26994,8 +26994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -27014,8 +27014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -27034,8 +27034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -27054,8 +27054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -27074,8 +27074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -27094,8 +27094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -27114,8 +27114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -27134,8 +27134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27154,8 +27154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27174,8 +27174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27194,8 +27194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27214,8 +27214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27234,8 +27234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27254,8 +27254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27274,8 +27274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27294,8 +27294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27314,8 +27314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27334,8 +27334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27354,8 +27354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27374,8 +27374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27394,8 +27394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27414,8 +27414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27434,8 +27434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27454,8 +27454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27474,8 +27474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27494,8 +27494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27514,8 +27514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27534,8 +27534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27554,8 +27554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27574,8 +27574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27594,8 +27594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27614,8 +27614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27634,8 +27634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27654,8 +27654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27674,8 +27674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27694,8 +27694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27714,8 +27714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27734,8 +27734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27754,8 +27754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27774,8 +27774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27794,8 +27794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27814,8 +27814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27834,8 +27834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27854,8 +27854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27874,8 +27874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27894,8 +27894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27914,8 +27914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27934,8 +27934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27954,8 +27954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27974,8 +27974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -27994,8 +27994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -28014,8 +28014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -28034,8 +28034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -28054,8 +28054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -28074,8 +28074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -28094,8 +28094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -28114,8 +28114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -28134,8 +28134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28154,8 +28154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28174,8 +28174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28194,8 +28194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28214,8 +28214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28234,8 +28234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28254,8 +28254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28274,8 +28274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28294,8 +28294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28314,8 +28314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28334,8 +28334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28354,8 +28354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28374,8 +28374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28394,8 +28394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28414,8 +28414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28434,8 +28434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28454,8 +28454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28474,8 +28474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28494,8 +28494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28514,8 +28514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28534,8 +28534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28554,8 +28554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28574,8 +28574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28594,8 +28594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28614,8 +28614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28634,8 +28634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28654,8 +28654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28674,8 +28674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28694,8 +28694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28714,8 +28714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28734,8 +28734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28754,8 +28754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28774,8 +28774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28794,8 +28794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28814,8 +28814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28834,8 +28834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28854,8 +28854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28874,8 +28874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28894,8 +28894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28914,8 +28914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28934,8 +28934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28954,8 +28954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28974,8 +28974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -28994,8 +28994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -29014,8 +29014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -29034,8 +29034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -29054,8 +29054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -29074,8 +29074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -29094,8 +29094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -29114,8 +29114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -29134,8 +29134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29154,8 +29154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29174,8 +29174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29194,8 +29194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29214,8 +29214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29234,8 +29234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29254,8 +29254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29274,8 +29274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29294,8 +29294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29314,8 +29314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29334,8 +29334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29354,8 +29354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29374,8 +29374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29394,8 +29394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29414,8 +29414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29434,8 +29434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29454,8 +29454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29474,8 +29474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29494,8 +29494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29514,8 +29514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29534,8 +29534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29554,8 +29554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29574,8 +29574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29594,8 +29594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29614,8 +29614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29634,8 +29634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29654,8 +29654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29674,8 +29674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29694,8 +29694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29714,8 +29714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29734,8 +29734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29754,8 +29754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29774,8 +29774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29794,8 +29794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29814,8 +29814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29834,8 +29834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29854,8 +29854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29874,8 +29874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29894,8 +29894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29914,8 +29914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29934,8 +29934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29954,8 +29954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29974,8 +29974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -29994,8 +29994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -30014,8 +30014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -30034,8 +30034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -30054,8 +30054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -30074,8 +30074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -30094,8 +30094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -30114,8 +30114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -30134,8 +30134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30154,8 +30154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30174,8 +30174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30194,8 +30194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30214,8 +30214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30234,8 +30234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30254,8 +30254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30274,8 +30274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30294,8 +30294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30314,8 +30314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30334,8 +30334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30354,8 +30354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30374,8 +30374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30394,8 +30394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30414,8 +30414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30434,8 +30434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30454,8 +30454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30474,8 +30474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30494,8 +30494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30514,8 +30514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30534,8 +30534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30554,8 +30554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30574,8 +30574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30594,8 +30594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30614,8 +30614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30634,8 +30634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30654,8 +30654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30674,8 +30674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30694,8 +30694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30714,8 +30714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30734,8 +30734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30754,8 +30754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30774,8 +30774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30794,8 +30794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30814,8 +30814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30834,8 +30834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30854,8 +30854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30874,8 +30874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30894,8 +30894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30914,8 +30914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30934,8 +30934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30954,8 +30954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30974,8 +30974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -30994,8 +30994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -31014,8 +31014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -31034,8 +31034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -31054,8 +31054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -31074,8 +31074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -31094,8 +31094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -31114,8 +31114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -31134,8 +31134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31154,8 +31154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31174,8 +31174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31194,8 +31194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31214,8 +31214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31234,8 +31234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31254,8 +31254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31274,8 +31274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31294,8 +31294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31314,8 +31314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31334,8 +31334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31354,8 +31354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31374,8 +31374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31394,8 +31394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31414,8 +31414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31434,8 +31434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31454,8 +31454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31474,8 +31474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31494,8 +31494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31514,8 +31514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31534,8 +31534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31554,8 +31554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31574,8 +31574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31594,8 +31594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31614,8 +31614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31634,8 +31634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31654,8 +31654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31674,8 +31674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31694,8 +31694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31714,8 +31714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31734,8 +31734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31754,8 +31754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31774,8 +31774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31794,8 +31794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31814,8 +31814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31834,8 +31834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31854,8 +31854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31874,8 +31874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31894,8 +31894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31914,8 +31914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31934,8 +31934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31954,8 +31954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31974,8 +31974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -31994,8 +31994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -32014,8 +32014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -32034,8 +32034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -32054,8 +32054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -32074,8 +32074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -32094,8 +32094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -32114,8 +32114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -32134,8 +32134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32154,8 +32154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32174,8 +32174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32194,8 +32194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32214,8 +32214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32234,8 +32234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32254,8 +32254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32274,8 +32274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32294,8 +32294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32314,8 +32314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32334,8 +32334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32354,8 +32354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32374,8 +32374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32394,8 +32394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32414,8 +32414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32434,8 +32434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32454,8 +32454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32474,8 +32474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32494,8 +32494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32514,8 +32514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32534,8 +32534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32554,8 +32554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32574,8 +32574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32594,8 +32594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32614,8 +32614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32634,8 +32634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32654,8 +32654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32674,8 +32674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32694,8 +32694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32714,8 +32714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32734,8 +32734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32754,8 +32754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32774,8 +32774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32794,8 +32794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32814,8 +32814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32834,8 +32834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32854,8 +32854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32874,8 +32874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32894,8 +32894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32914,8 +32914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32934,8 +32934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32954,8 +32954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32974,8 +32974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -32994,8 +32994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -33014,8 +33014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -33034,8 +33034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -33054,8 +33054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -33074,8 +33074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -33094,8 +33094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -33114,8 +33114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -33134,8 +33134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33154,8 +33154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33174,8 +33174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33194,8 +33194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33214,8 +33214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33234,8 +33234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33254,8 +33254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33274,8 +33274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33294,8 +33294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33314,8 +33314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33334,8 +33334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33354,8 +33354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33374,8 +33374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33394,8 +33394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33414,8 +33414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33434,8 +33434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33454,8 +33454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33474,8 +33474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33494,8 +33494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33514,8 +33514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33534,8 +33534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33554,8 +33554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33574,8 +33574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33594,8 +33594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33614,8 +33614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33634,8 +33634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33654,8 +33654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33674,8 +33674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33694,8 +33694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33714,8 +33714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33734,8 +33734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33754,8 +33754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33774,8 +33774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33794,8 +33794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33814,8 +33814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33834,8 +33834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33854,8 +33854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33874,8 +33874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33894,8 +33894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33914,8 +33914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33934,8 +33934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33954,8 +33954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33974,8 +33974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -33994,8 +33994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -34014,8 +34014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -34034,8 +34034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -34054,8 +34054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -34074,8 +34074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -34094,8 +34094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -34114,8 +34114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -34134,8 +34134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34154,8 +34154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34174,8 +34174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34194,8 +34194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34214,8 +34214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34234,8 +34234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34254,8 +34254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34274,8 +34274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34294,8 +34294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34314,8 +34314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34334,8 +34334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34354,8 +34354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34374,8 +34374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34394,8 +34394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34414,8 +34414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34434,8 +34434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34454,8 +34454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34474,8 +34474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34494,8 +34494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34514,8 +34514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34534,8 +34534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34554,8 +34554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34574,8 +34574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34594,8 +34594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34614,8 +34614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34634,8 +34634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34654,8 +34654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34674,8 +34674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34694,8 +34694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34714,8 +34714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34734,8 +34734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34754,8 +34754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34774,8 +34774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34794,8 +34794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34814,8 +34814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34834,8 +34834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34854,8 +34854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34874,8 +34874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34894,8 +34894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34914,8 +34914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34934,8 +34934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34954,8 +34954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34974,8 +34974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -34994,8 +34994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -35014,8 +35014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -35034,8 +35034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -35054,8 +35054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -35074,8 +35074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -35094,8 +35094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -35114,8 +35114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -35134,8 +35134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35154,8 +35154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35174,8 +35174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35194,8 +35194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35214,8 +35214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35234,8 +35234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35254,8 +35254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35274,8 +35274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35294,8 +35294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35314,8 +35314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35334,8 +35334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35354,8 +35354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35374,8 +35374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35394,8 +35394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35414,8 +35414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35434,8 +35434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35454,8 +35454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35474,8 +35474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35494,8 +35494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35514,8 +35514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35534,8 +35534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35554,8 +35554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35574,8 +35574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35594,8 +35594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35614,8 +35614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35634,8 +35634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35654,8 +35654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35674,8 +35674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35694,8 +35694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35714,8 +35714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35734,8 +35734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35754,8 +35754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35774,8 +35774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35794,8 +35794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35814,8 +35814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35834,8 +35834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35854,8 +35854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35874,8 +35874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35894,8 +35894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35914,8 +35914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35934,8 +35934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35954,8 +35954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35974,8 +35974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -35994,8 +35994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -36014,8 +36014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -36034,8 +36034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -36054,8 +36054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -36074,8 +36074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -36094,8 +36094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -36114,8 +36114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -36134,8 +36134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36154,8 +36154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36174,8 +36174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36194,8 +36194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36214,8 +36214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36234,8 +36234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36254,8 +36254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36274,8 +36274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36294,8 +36294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36314,8 +36314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36334,8 +36334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36354,8 +36354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36374,8 +36374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36394,8 +36394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36414,8 +36414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36434,8 +36434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36454,8 +36454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36474,8 +36474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36494,8 +36494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36514,8 +36514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36534,8 +36534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36554,8 +36554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36574,8 +36574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36594,8 +36594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36614,8 +36614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36634,8 +36634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36654,8 +36654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36674,8 +36674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36694,8 +36694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36714,8 +36714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36734,8 +36734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36754,8 +36754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36774,8 +36774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36794,8 +36794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36814,8 +36814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36834,8 +36834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36854,8 +36854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36874,8 +36874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36894,8 +36894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36914,8 +36914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36934,8 +36934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36954,8 +36954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36974,8 +36974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -36994,8 +36994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -37014,8 +37014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -37034,8 +37034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -37054,8 +37054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -37074,8 +37074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -37094,8 +37094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -37114,8 +37114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -37134,8 +37134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37154,8 +37154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37174,8 +37174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37194,8 +37194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37214,8 +37214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37234,8 +37234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37254,8 +37254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37274,8 +37274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37294,8 +37294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37314,8 +37314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37334,8 +37334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37354,8 +37354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37374,8 +37374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37394,8 +37394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37414,8 +37414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37434,8 +37434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37454,8 +37454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37474,8 +37474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37494,8 +37494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37514,8 +37514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37534,8 +37534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37554,8 +37554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37574,8 +37574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37594,8 +37594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37614,8 +37614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37634,8 +37634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37654,8 +37654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37674,8 +37674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37694,8 +37694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37714,8 +37714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37734,8 +37734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37754,8 +37754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37774,8 +37774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37794,8 +37794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37814,8 +37814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37834,8 +37834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37854,8 +37854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37874,8 +37874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37894,8 +37894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37914,8 +37914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37934,8 +37934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37954,8 +37954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37974,8 +37974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -37994,8 +37994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -38014,8 +38014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -38034,8 +38034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -38054,8 +38054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -38074,8 +38074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -38094,8 +38094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -38114,8 +38114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -38134,8 +38134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38154,8 +38154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38174,8 +38174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38194,8 +38194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38214,8 +38214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38234,8 +38234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38254,8 +38254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38274,8 +38274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38294,8 +38294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38314,8 +38314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38334,8 +38334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38354,8 +38354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38374,8 +38374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38394,8 +38394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38414,8 +38414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38434,8 +38434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38454,8 +38454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38474,8 +38474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38494,8 +38494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38514,8 +38514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38534,8 +38534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38554,8 +38554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38574,8 +38574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38594,8 +38594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38614,8 +38614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38634,8 +38634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38654,8 +38654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38674,8 +38674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38694,8 +38694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38714,8 +38714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38734,8 +38734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38754,8 +38754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38774,8 +38774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38794,8 +38794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38814,8 +38814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38834,8 +38834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38854,8 +38854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38874,8 +38874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38894,8 +38894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38914,8 +38914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38934,8 +38934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38954,8 +38954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38974,8 +38974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -38994,8 +38994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -39014,8 +39014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -39034,8 +39034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -39054,8 +39054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -39074,8 +39074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -39094,8 +39094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -39114,8 +39114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -39134,8 +39134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39154,8 +39154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39174,8 +39174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39194,8 +39194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39214,8 +39214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39234,8 +39234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39254,8 +39254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39274,8 +39274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39294,8 +39294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39314,8 +39314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39334,8 +39334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39354,8 +39354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39374,8 +39374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39394,8 +39394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39414,8 +39414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39434,8 +39434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39454,8 +39454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39474,8 +39474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39494,8 +39494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39514,8 +39514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39534,8 +39534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39554,8 +39554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39574,8 +39574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39594,8 +39594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39614,8 +39614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39634,8 +39634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39654,8 +39654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39674,8 +39674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39694,8 +39694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39714,8 +39714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39734,8 +39734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39754,8 +39754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39774,8 +39774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39794,8 +39794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39814,8 +39814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39834,8 +39834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39854,8 +39854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39874,8 +39874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39894,8 +39894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39914,8 +39914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39934,8 +39934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39954,8 +39954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39974,8 +39974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -39994,8 +39994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -40014,8 +40014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -40034,8 +40034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -40054,8 +40054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -40074,8 +40074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -40094,8 +40094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -40114,8 +40114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -40134,8 +40134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40154,8 +40154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40174,8 +40174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40194,8 +40194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40214,8 +40214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40234,8 +40234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40254,8 +40254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40274,8 +40274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40294,8 +40294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40314,8 +40314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40334,8 +40334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40354,8 +40354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40374,8 +40374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40394,8 +40394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40414,8 +40414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40434,8 +40434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40454,8 +40454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40474,8 +40474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40494,8 +40494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40514,8 +40514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40534,8 +40534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40554,8 +40554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40574,8 +40574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40594,8 +40594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40614,8 +40614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40634,8 +40634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40654,8 +40654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40674,8 +40674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40694,8 +40694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40714,8 +40714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40734,8 +40734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40754,8 +40754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40774,8 +40774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40794,8 +40794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40814,8 +40814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40834,8 +40834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40854,8 +40854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40874,8 +40874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40894,8 +40894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40914,8 +40914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40934,8 +40934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40954,8 +40954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40974,8 +40974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -40994,8 +40994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -41014,8 +41014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -41034,8 +41034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -41054,8 +41054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -41074,8 +41074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -41094,8 +41094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -41114,8 +41114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -41134,8 +41134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41154,8 +41154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41174,8 +41174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41194,8 +41194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41214,8 +41214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41234,8 +41234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41254,8 +41254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41274,8 +41274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41294,8 +41294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41314,8 +41314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41334,8 +41334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41354,8 +41354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41374,8 +41374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41394,8 +41394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41414,8 +41414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41434,8 +41434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41454,8 +41454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41474,8 +41474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41494,8 +41494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41514,8 +41514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41534,8 +41534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41554,8 +41554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41574,8 +41574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41594,8 +41594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41614,8 +41614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41634,8 +41634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41654,8 +41654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41674,8 +41674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41694,8 +41694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41714,8 +41714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41734,8 +41734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41754,8 +41754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41774,8 +41774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41794,8 +41794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41814,8 +41814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41834,8 +41834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41854,8 +41854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41874,8 +41874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41894,8 +41894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41914,8 +41914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41934,8 +41934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41954,8 +41954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41974,8 +41974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -41994,8 +41994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -42014,8 +42014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -42034,8 +42034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -42054,8 +42054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -42074,8 +42074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -42094,8 +42094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -42114,8 +42114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -42134,8 +42134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42154,8 +42154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42174,8 +42174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42194,8 +42194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42214,8 +42214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42234,8 +42234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42254,8 +42254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42274,8 +42274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42294,8 +42294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42314,8 +42314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42334,8 +42334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42354,8 +42354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42374,8 +42374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42394,8 +42394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42414,8 +42414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42434,8 +42434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42454,8 +42454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42474,8 +42474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42494,8 +42494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42514,8 +42514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42534,8 +42534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42554,8 +42554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42574,8 +42574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42594,8 +42594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42614,8 +42614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42634,8 +42634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42654,8 +42654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42674,8 +42674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42694,8 +42694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42714,8 +42714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42734,8 +42734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42754,8 +42754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42774,8 +42774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42794,8 +42794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42814,8 +42814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42834,8 +42834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42854,8 +42854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42874,8 +42874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42894,8 +42894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42914,8 +42914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42934,8 +42934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42954,8 +42954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42974,8 +42974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -42994,8 +42994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -43014,8 +43014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -43034,8 +43034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -43054,8 +43054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -43074,8 +43074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -43094,8 +43094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -43114,8 +43114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -43134,8 +43134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43154,8 +43154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43174,8 +43174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43194,8 +43194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43214,8 +43214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43234,8 +43234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43254,8 +43254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43274,8 +43274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43294,8 +43294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43314,8 +43314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43334,8 +43334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43354,8 +43354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43374,8 +43374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43394,8 +43394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43414,8 +43414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43434,8 +43434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43454,8 +43454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43474,8 +43474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43494,8 +43494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43514,8 +43514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43534,8 +43534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43554,8 +43554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43574,8 +43574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43594,8 +43594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43614,8 +43614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43634,8 +43634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43654,8 +43654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43674,8 +43674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43694,8 +43694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43714,8 +43714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43734,8 +43734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43754,8 +43754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43774,8 +43774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43794,8 +43794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43814,8 +43814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43834,8 +43834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43854,8 +43854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43874,8 +43874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43894,8 +43894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43914,8 +43914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43934,8 +43934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43954,8 +43954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43974,8 +43974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -43994,8 +43994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -44014,8 +44014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -44034,8 +44034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -44054,8 +44054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -44074,8 +44074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -44094,8 +44094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -44114,8 +44114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -44134,8 +44134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44154,8 +44154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44174,8 +44174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44194,8 +44194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44214,8 +44214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44234,8 +44234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44254,8 +44254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44274,8 +44274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44294,8 +44294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44314,8 +44314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44334,8 +44334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44354,8 +44354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44374,8 +44374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44394,8 +44394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44414,8 +44414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44434,8 +44434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44454,8 +44454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44474,8 +44474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44494,8 +44494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44514,8 +44514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44534,8 +44534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44554,8 +44554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44574,8 +44574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44594,8 +44594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44614,8 +44614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44634,8 +44634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44654,8 +44654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44674,8 +44674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44694,8 +44694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44714,8 +44714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44734,8 +44734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44754,8 +44754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44774,8 +44774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44794,8 +44794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44814,8 +44814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44834,8 +44834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44854,8 +44854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44874,8 +44874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44894,8 +44894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44914,8 +44914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44934,8 +44934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44954,8 +44954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44974,8 +44974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -44994,8 +44994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -45014,8 +45014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -45034,8 +45034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -45054,8 +45054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -45074,8 +45074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -45094,8 +45094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -45114,8 +45114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -45134,8 +45134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45154,8 +45154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45174,8 +45174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45194,8 +45194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45214,8 +45214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45234,8 +45234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45254,8 +45254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45274,8 +45274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45294,8 +45294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45314,8 +45314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45334,8 +45334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45354,8 +45354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45374,8 +45374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45394,8 +45394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45414,8 +45414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45434,8 +45434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45454,8 +45454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45474,8 +45474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45494,8 +45494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45514,8 +45514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45534,8 +45534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45554,8 +45554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45574,8 +45574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45594,8 +45594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45614,8 +45614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45634,8 +45634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45654,8 +45654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45674,8 +45674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45694,8 +45694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45714,8 +45714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45734,8 +45734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45754,8 +45754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45774,8 +45774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45794,8 +45794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45814,8 +45814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45834,8 +45834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45854,8 +45854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45874,8 +45874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45894,8 +45894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45914,8 +45914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45934,8 +45934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45954,8 +45954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45974,8 +45974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -45994,8 +45994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -46014,8 +46014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -46034,8 +46034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -46054,8 +46054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -46074,8 +46074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -46094,8 +46094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -46114,8 +46114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -46134,8 +46134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46154,8 +46154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46174,8 +46174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46194,8 +46194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46214,8 +46214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46234,8 +46234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46254,8 +46254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46274,8 +46274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46294,8 +46294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46314,8 +46314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46334,8 +46334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46354,8 +46354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46374,8 +46374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46394,8 +46394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46414,8 +46414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46434,8 +46434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46454,8 +46454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46474,8 +46474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46494,8 +46494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46514,8 +46514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46534,8 +46534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46554,8 +46554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46574,8 +46574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46594,8 +46594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46614,8 +46614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46634,8 +46634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46654,8 +46654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46674,8 +46674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46694,8 +46694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46714,8 +46714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46734,8 +46734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46754,8 +46754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46774,8 +46774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46794,8 +46794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46814,8 +46814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46834,8 +46834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46854,8 +46854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46874,8 +46874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46894,8 +46894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46914,8 +46914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46934,8 +46934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46954,8 +46954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46974,8 +46974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -46994,8 +46994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -47014,8 +47014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -47034,8 +47034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -47054,8 +47054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -47074,8 +47074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -47094,8 +47094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -47114,8 +47114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -47134,8 +47134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47154,8 +47154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47174,8 +47174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47194,8 +47194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47214,8 +47214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47234,8 +47234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47254,8 +47254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47274,8 +47274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47294,8 +47294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47314,8 +47314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47334,8 +47334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47354,8 +47354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47374,8 +47374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47394,8 +47394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47414,8 +47414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47434,8 +47434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47454,8 +47454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47474,8 +47474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47494,8 +47494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47514,8 +47514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47534,8 +47534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47554,8 +47554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47574,8 +47574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47594,8 +47594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47614,8 +47614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47634,8 +47634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47654,8 +47654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47674,8 +47674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47694,8 +47694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47714,8 +47714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47734,8 +47734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47754,8 +47754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47774,8 +47774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47794,8 +47794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47814,8 +47814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47834,8 +47834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47854,8 +47854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47874,8 +47874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47894,8 +47894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47914,8 +47914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47934,8 +47934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47954,8 +47954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47974,8 +47974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -47994,8 +47994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -48014,8 +48014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -48034,8 +48034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -48054,8 +48054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -48074,8 +48074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -48094,8 +48094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -48114,8 +48114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -48134,8 +48134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48154,8 +48154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48174,8 +48174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48194,8 +48194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48214,8 +48214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48234,8 +48234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48254,8 +48254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48274,8 +48274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48294,8 +48294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48314,8 +48314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48334,8 +48334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48354,8 +48354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48374,8 +48374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48394,8 +48394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48414,8 +48414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48434,8 +48434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48454,8 +48454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48474,8 +48474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48494,8 +48494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48514,8 +48514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48534,8 +48534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48554,8 +48554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48574,8 +48574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48594,8 +48594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48614,8 +48614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48634,8 +48634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48654,8 +48654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48674,8 +48674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48694,8 +48694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48714,8 +48714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48734,8 +48734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48754,8 +48754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48774,8 +48774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48794,8 +48794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48814,8 +48814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48834,8 +48834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48854,8 +48854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48874,8 +48874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48894,8 +48894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48914,8 +48914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48934,8 +48934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48954,8 +48954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48974,8 +48974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -48994,8 +48994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -49014,8 +49014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -49034,8 +49034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -49054,8 +49054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -49074,8 +49074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -49094,8 +49094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -49114,8 +49114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -49134,8 +49134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49154,8 +49154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49174,8 +49174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49194,8 +49194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49214,8 +49214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49234,8 +49234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49254,8 +49254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49274,8 +49274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49294,8 +49294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49314,8 +49314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49334,8 +49334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49354,8 +49354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49374,8 +49374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49394,8 +49394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49414,8 +49414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49434,8 +49434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49454,8 +49454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49474,8 +49474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49494,8 +49494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49514,8 +49514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49534,8 +49534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49554,8 +49554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49574,8 +49574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49594,8 +49594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49614,8 +49614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49634,8 +49634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49654,8 +49654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49674,8 +49674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49694,8 +49694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49714,8 +49714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49734,8 +49734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49754,8 +49754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49774,8 +49774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49794,8 +49794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49814,8 +49814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49834,8 +49834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49854,8 +49854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49874,8 +49874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49894,8 +49894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49914,8 +49914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49934,8 +49934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49954,8 +49954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49974,8 +49974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -49994,8 +49994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -50014,8 +50014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -50034,8 +50034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -50054,8 +50054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -50074,8 +50074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -50094,8 +50094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -50114,8 +50114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -50134,8 +50134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50154,8 +50154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50174,8 +50174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50194,8 +50194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50214,8 +50214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50234,8 +50234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50254,8 +50254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50274,8 +50274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50294,8 +50294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50314,8 +50314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50334,8 +50334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50354,8 +50354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50374,8 +50374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50394,8 +50394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50414,8 +50414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50434,8 +50434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50454,8 +50454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50474,8 +50474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50494,8 +50494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50514,8 +50514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50534,8 +50534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50554,8 +50554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50574,8 +50574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50594,8 +50594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50614,8 +50614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50634,8 +50634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50654,8 +50654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50674,8 +50674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50694,8 +50694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50714,8 +50714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50734,8 +50734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50754,8 +50754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50774,8 +50774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50794,8 +50794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50814,8 +50814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50834,8 +50834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50854,8 +50854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50874,8 +50874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50894,8 +50894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50914,8 +50914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50934,8 +50934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50954,8 +50954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50974,8 +50974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -50994,8 +50994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -51014,8 +51014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -51034,8 +51034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -51054,8 +51054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -51074,8 +51074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -51094,8 +51094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -51114,8 +51114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -51134,8 +51134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51154,8 +51154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51174,8 +51174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51194,8 +51194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51214,8 +51214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51234,8 +51234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51254,8 +51254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51274,8 +51274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51294,8 +51294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51314,8 +51314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51334,8 +51334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51354,8 +51354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51374,8 +51374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51394,8 +51394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51414,8 +51414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51434,8 +51434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51454,8 +51454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51474,8 +51474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51494,8 +51494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51514,8 +51514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51534,8 +51534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51554,8 +51554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51574,8 +51574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51594,8 +51594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51614,8 +51614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51634,8 +51634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51654,8 +51654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51674,8 +51674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51694,8 +51694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51714,8 +51714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51734,8 +51734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51754,8 +51754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51774,8 +51774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51794,8 +51794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51814,8 +51814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51834,8 +51834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51854,8 +51854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51874,8 +51874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51894,8 +51894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51914,8 +51914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51934,8 +51934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51954,8 +51954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51974,8 +51974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -51994,8 +51994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -52014,8 +52014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -52034,8 +52034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -52054,8 +52054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -52074,8 +52074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -52094,8 +52094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -52114,8 +52114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -52134,8 +52134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52154,8 +52154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52174,8 +52174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52194,8 +52194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52214,8 +52214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52234,8 +52234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52254,8 +52254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52274,8 +52274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52294,8 +52294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52314,8 +52314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52334,8 +52334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52354,8 +52354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52374,8 +52374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52394,8 +52394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52414,8 +52414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52434,8 +52434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52454,8 +52454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52474,8 +52474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52494,8 +52494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52514,8 +52514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52534,8 +52534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52554,8 +52554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52574,8 +52574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52594,8 +52594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52614,8 +52614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52634,8 +52634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52654,8 +52654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52674,8 +52674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52694,8 +52694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52714,8 +52714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52734,8 +52734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52754,8 +52754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52774,8 +52774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52794,8 +52794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52814,8 +52814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52834,8 +52834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52854,8 +52854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52874,8 +52874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52894,8 +52894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52914,8 +52914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52934,8 +52934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52954,8 +52954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52974,8 +52974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -52994,8 +52994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -53014,8 +53014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -53034,8 +53034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -53054,8 +53054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -53074,8 +53074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -53094,8 +53094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -53114,8 +53114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -53134,8 +53134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53154,8 +53154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53174,8 +53174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53194,8 +53194,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53214,8 +53214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53234,8 +53234,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53254,8 +53254,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53274,8 +53274,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53294,8 +53294,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53314,8 +53314,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53334,8 +53334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53354,8 +53354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53374,8 +53374,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53394,8 +53394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53414,8 +53414,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53434,8 +53434,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53454,8 +53454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53474,8 +53474,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53494,8 +53494,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53514,8 +53514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53534,8 +53534,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53554,8 +53554,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53574,8 +53574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53594,8 +53594,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53614,8 +53614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53634,8 +53634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53654,8 +53654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53674,8 +53674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53694,8 +53694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53714,8 +53714,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53734,8 +53734,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53754,8 +53754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53774,8 +53774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53794,8 +53794,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53814,8 +53814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53834,8 +53834,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53854,8 +53854,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53874,8 +53874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53894,8 +53894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53914,8 +53914,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53934,8 +53934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53954,8 +53954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53974,8 +53974,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -53994,8 +53994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -54014,8 +54014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -54034,8 +54034,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -54054,8 +54054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -54074,8 +54074,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -54094,8 +54094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -54114,8 +54114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", diff --git a/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(2).js b/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(2).js index a90e7d24f4e..91e4b809a75 100644 --- a/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(2).js +++ b/tests/baselines/reference/tsserver/completionsIncomplete/resolves-more-when-available-from-module-specifier-cache-(2).js @@ -3585,8 +3585,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -3605,8 +3605,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -3625,8 +3625,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -3645,8 +3645,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -3665,8 +3665,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -3685,8 +3685,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -3705,8 +3705,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_6", + "hasAction": true, "data": { "exportName": "aa_6__0", "exportMapKey": "7 * aa_6__0 ", @@ -3718,8 +3718,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_7", + "hasAction": true, "data": { "exportName": "aa_7__0", "exportMapKey": "7 * aa_7__0 ", @@ -3731,8 +3731,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_8", + "hasAction": true, "data": { "exportName": "aa_8__0", "exportMapKey": "7 * aa_8__0 ", @@ -3744,8 +3744,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_9", + "hasAction": true, "data": { "exportName": "aa_9__0", "exportMapKey": "7 * aa_9__0 ", @@ -3757,8 +3757,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -3777,8 +3777,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -3797,8 +3797,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -3817,8 +3817,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -3837,8 +3837,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -3857,8 +3857,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -3877,8 +3877,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -3897,8 +3897,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -3917,8 +3917,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -3937,8 +3937,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -3957,8 +3957,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -3977,8 +3977,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -3997,8 +3997,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -4017,8 +4017,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -4037,8 +4037,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -4057,8 +4057,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -4077,8 +4077,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -4097,8 +4097,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -4117,8 +4117,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -4137,8 +4137,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -4157,8 +4157,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -4177,8 +4177,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -4197,8 +4197,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -4217,8 +4217,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -4237,8 +4237,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -4257,8 +4257,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -4277,8 +4277,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -4297,8 +4297,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -4317,8 +4317,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -4337,8 +4337,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -4357,8 +4357,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -4377,8 +4377,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -4397,8 +4397,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -4417,8 +4417,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -4437,8 +4437,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -4457,8 +4457,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -4477,8 +4477,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -4497,8 +4497,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -4517,8 +4517,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -4537,8 +4537,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -4557,8 +4557,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_50", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_50", @@ -4577,8 +4577,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_51", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_51", @@ -4597,8 +4597,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_52", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_52", @@ -4617,8 +4617,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_53", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_53", @@ -4637,8 +4637,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_54", + "hasAction": true, "data": { "exportName": "aa_54__0", "exportMapKey": "8 * aa_54__0 ", @@ -4650,8 +4650,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_55", + "hasAction": true, "data": { "exportName": "aa_55__0", "exportMapKey": "8 * aa_55__0 ", @@ -4663,8 +4663,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_56", + "hasAction": true, "data": { "exportName": "aa_56__0", "exportMapKey": "8 * aa_56__0 ", @@ -4676,8 +4676,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_57", + "hasAction": true, "data": { "exportName": "aa_57__0", "exportMapKey": "8 * aa_57__0 ", @@ -4689,8 +4689,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_58", + "hasAction": true, "data": { "exportName": "aa_58__0", "exportMapKey": "8 * aa_58__0 ", @@ -4702,8 +4702,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_59", + "hasAction": true, "data": { "exportName": "aa_59__0", "exportMapKey": "8 * aa_59__0 ", @@ -4715,8 +4715,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_60", + "hasAction": true, "data": { "exportName": "aa_60__0", "exportMapKey": "8 * aa_60__0 ", @@ -4728,8 +4728,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_61", + "hasAction": true, "data": { "exportName": "aa_61__0", "exportMapKey": "8 * aa_61__0 ", @@ -4741,8 +4741,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_62", + "hasAction": true, "data": { "exportName": "aa_62__0", "exportMapKey": "8 * aa_62__0 ", @@ -4754,8 +4754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_63", + "hasAction": true, "data": { "exportName": "aa_63__0", "exportMapKey": "8 * aa_63__0 ", @@ -4767,8 +4767,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_64", + "hasAction": true, "data": { "exportName": "aa_64__0", "exportMapKey": "8 * aa_64__0 ", @@ -4780,8 +4780,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_65", + "hasAction": true, "data": { "exportName": "aa_65__0", "exportMapKey": "8 * aa_65__0 ", @@ -4793,8 +4793,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_66", + "hasAction": true, "data": { "exportName": "aa_66__0", "exportMapKey": "8 * aa_66__0 ", @@ -4806,8 +4806,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_67", + "hasAction": true, "data": { "exportName": "aa_67__0", "exportMapKey": "8 * aa_67__0 ", @@ -4819,8 +4819,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_68", + "hasAction": true, "data": { "exportName": "aa_68__0", "exportMapKey": "8 * aa_68__0 ", @@ -4832,8 +4832,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_69", + "hasAction": true, "data": { "exportName": "aa_69__0", "exportMapKey": "8 * aa_69__0 ", @@ -4845,8 +4845,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_70", + "hasAction": true, "data": { "exportName": "aa_70__0", "exportMapKey": "8 * aa_70__0 ", @@ -4858,8 +4858,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_71", + "hasAction": true, "data": { "exportName": "aa_71__0", "exportMapKey": "8 * aa_71__0 ", @@ -4871,8 +4871,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_72", + "hasAction": true, "data": { "exportName": "aa_72__0", "exportMapKey": "8 * aa_72__0 ", @@ -4884,8 +4884,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_73", + "hasAction": true, "data": { "exportName": "aa_73__0", "exportMapKey": "8 * aa_73__0 ", @@ -4897,8 +4897,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_74", + "hasAction": true, "data": { "exportName": "aa_74__0", "exportMapKey": "8 * aa_74__0 ", @@ -4910,8 +4910,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_75", + "hasAction": true, "data": { "exportName": "aa_75__0", "exportMapKey": "8 * aa_75__0 ", @@ -4923,8 +4923,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_76", + "hasAction": true, "data": { "exportName": "aa_76__0", "exportMapKey": "8 * aa_76__0 ", @@ -4936,8 +4936,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_77", + "hasAction": true, "data": { "exportName": "aa_77__0", "exportMapKey": "8 * aa_77__0 ", @@ -4949,8 +4949,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_78", + "hasAction": true, "data": { "exportName": "aa_78__0", "exportMapKey": "8 * aa_78__0 ", @@ -4962,8 +4962,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_79", + "hasAction": true, "data": { "exportName": "aa_79__0", "exportMapKey": "8 * aa_79__0 ", @@ -4975,8 +4975,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_80", + "hasAction": true, "data": { "exportName": "aa_80__0", "exportMapKey": "8 * aa_80__0 ", @@ -4988,8 +4988,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_81", + "hasAction": true, "data": { "exportName": "aa_81__0", "exportMapKey": "8 * aa_81__0 ", @@ -5001,8 +5001,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_82", + "hasAction": true, "data": { "exportName": "aa_82__0", "exportMapKey": "8 * aa_82__0 ", @@ -5014,8 +5014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_83", + "hasAction": true, "data": { "exportName": "aa_83__0", "exportMapKey": "8 * aa_83__0 ", @@ -5027,8 +5027,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_84", + "hasAction": true, "data": { "exportName": "aa_84__0", "exportMapKey": "8 * aa_84__0 ", @@ -5040,8 +5040,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_85", + "hasAction": true, "data": { "exportName": "aa_85__0", "exportMapKey": "8 * aa_85__0 ", @@ -5053,8 +5053,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_86", + "hasAction": true, "data": { "exportName": "aa_86__0", "exportMapKey": "8 * aa_86__0 ", @@ -5066,8 +5066,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_87", + "hasAction": true, "data": { "exportName": "aa_87__0", "exportMapKey": "8 * aa_87__0 ", @@ -5079,8 +5079,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_88", + "hasAction": true, "data": { "exportName": "aa_88__0", "exportMapKey": "8 * aa_88__0 ", @@ -5092,8 +5092,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_89", + "hasAction": true, "data": { "exportName": "aa_89__0", "exportMapKey": "8 * aa_89__0 ", @@ -5105,8 +5105,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_90", + "hasAction": true, "data": { "exportName": "aa_90__0", "exportMapKey": "8 * aa_90__0 ", @@ -5118,8 +5118,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_91", + "hasAction": true, "data": { "exportName": "aa_91__0", "exportMapKey": "8 * aa_91__0 ", @@ -5131,8 +5131,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_92", + "hasAction": true, "data": { "exportName": "aa_92__0", "exportMapKey": "8 * aa_92__0 ", @@ -5144,8 +5144,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_93", + "hasAction": true, "data": { "exportName": "aa_93__0", "exportMapKey": "8 * aa_93__0 ", @@ -5157,8 +5157,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_94", + "hasAction": true, "data": { "exportName": "aa_94__0", "exportMapKey": "8 * aa_94__0 ", @@ -5170,8 +5170,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_95", + "hasAction": true, "data": { "exportName": "aa_95__0", "exportMapKey": "8 * aa_95__0 ", @@ -5183,8 +5183,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_96", + "hasAction": true, "data": { "exportName": "aa_96__0", "exportMapKey": "8 * aa_96__0 ", @@ -5196,8 +5196,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_97", + "hasAction": true, "data": { "exportName": "aa_97__0", "exportMapKey": "8 * aa_97__0 ", @@ -5209,8 +5209,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_98", + "hasAction": true, "data": { "exportName": "aa_98__0", "exportMapKey": "8 * aa_98__0 ", @@ -5222,8 +5222,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_99", + "hasAction": true, "data": { "exportName": "aa_99__0", "exportMapKey": "8 * aa_99__0 ", @@ -5235,8 +5235,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_100", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_100", @@ -5255,8 +5255,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_101", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_101", @@ -5275,8 +5275,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_102", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_102", @@ -5295,8 +5295,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_103", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_103", @@ -5315,8 +5315,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_104", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_104", @@ -5335,8 +5335,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_105", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_105", @@ -5355,8 +5355,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_106", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_106", @@ -5375,8 +5375,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_107", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_107", @@ -5395,8 +5395,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_108", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_108", @@ -5415,8 +5415,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_109", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_109", @@ -5435,8 +5435,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_110", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_110", @@ -5455,8 +5455,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_111", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_111", @@ -5475,8 +5475,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_112", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_112", @@ -5495,8 +5495,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_113", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_113", @@ -5515,8 +5515,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_114", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_114", @@ -5535,8 +5535,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_115", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_115", @@ -5555,8 +5555,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_116", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_116", @@ -5575,8 +5575,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_117", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_117", @@ -5595,8 +5595,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_118", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_118", @@ -5615,8 +5615,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_119", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_119", @@ -5635,8 +5635,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_120", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_120", @@ -5655,8 +5655,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_121", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_121", @@ -5675,8 +5675,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_122", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_122", @@ -5695,8 +5695,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_123", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_123", @@ -5715,8 +5715,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_124", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_124", @@ -5735,8 +5735,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_125", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_125", @@ -5755,8 +5755,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_126", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_126", @@ -5775,8 +5775,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_127", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_127", @@ -5795,8 +5795,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_128", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_128", @@ -5815,8 +5815,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_129", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_129", @@ -5835,8 +5835,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_130", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_130", @@ -5855,8 +5855,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_131", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_131", @@ -5875,8 +5875,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_132", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_132", @@ -5895,8 +5895,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_133", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_133", @@ -5915,8 +5915,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_134", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_134", @@ -5935,8 +5935,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_135", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_135", @@ -5955,8 +5955,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_136", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_136", @@ -5975,8 +5975,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_137", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_137", @@ -5995,8 +5995,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_138", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_138", @@ -6015,8 +6015,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_139", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_139", @@ -6035,8 +6035,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_140", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_140", @@ -6055,8 +6055,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_141", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_141", @@ -6075,8 +6075,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_142", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_142", @@ -6095,8 +6095,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_143", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_143", @@ -6115,8 +6115,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_144", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_144", @@ -6135,8 +6135,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_145", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_145", @@ -6155,8 +6155,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_146", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_146", @@ -6175,8 +6175,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_147", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_147", @@ -6195,8 +6195,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_148", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_148", @@ -6215,8 +6215,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_149", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_149", @@ -8311,8 +8311,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -8331,8 +8331,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -8351,8 +8351,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -8371,8 +8371,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -8391,8 +8391,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -8411,8 +8411,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -8431,8 +8431,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -8451,8 +8451,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -8471,8 +8471,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -8491,8 +8491,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -8511,8 +8511,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -8531,8 +8531,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -8551,8 +8551,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -8571,8 +8571,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -8591,8 +8591,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -8611,8 +8611,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -8631,8 +8631,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -8651,8 +8651,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -8671,8 +8671,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -8691,8 +8691,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -8711,8 +8711,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -8731,8 +8731,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -8751,8 +8751,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -8771,8 +8771,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -8791,8 +8791,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -8811,8 +8811,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -8831,8 +8831,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -8851,8 +8851,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -8871,8 +8871,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -8891,8 +8891,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -8911,8 +8911,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -8931,8 +8931,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -8951,8 +8951,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -8971,8 +8971,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -8991,8 +8991,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -9011,8 +9011,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -9031,8 +9031,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -9051,8 +9051,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -9071,8 +9071,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -9091,8 +9091,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -9111,8 +9111,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -9131,8 +9131,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -9151,8 +9151,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -9171,8 +9171,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -9191,8 +9191,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -9211,8 +9211,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -9231,8 +9231,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -9251,8 +9251,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -9271,8 +9271,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -9291,8 +9291,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -9311,8 +9311,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_50", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_50", @@ -9331,8 +9331,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_51", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_51", @@ -9351,8 +9351,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_52", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_52", @@ -9371,8 +9371,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_53", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_53", @@ -9391,8 +9391,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_54", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_54", @@ -9411,8 +9411,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_55", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_55", @@ -9431,8 +9431,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_56", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_56", @@ -9451,8 +9451,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_57", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_57", @@ -9471,8 +9471,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_58", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_58", @@ -9491,8 +9491,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_59", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_59", @@ -9511,8 +9511,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_60", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_60", @@ -9531,8 +9531,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_61", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_61", @@ -9551,8 +9551,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_62", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_62", @@ -9571,8 +9571,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_63", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_63", @@ -9591,8 +9591,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_64", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_64", @@ -9611,8 +9611,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_65", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_65", @@ -9631,8 +9631,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_66", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_66", @@ -9651,8 +9651,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_67", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_67", @@ -9671,8 +9671,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_68", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_68", @@ -9691,8 +9691,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_69", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_69", @@ -9711,8 +9711,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_70", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_70", @@ -9731,8 +9731,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_71", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_71", @@ -9751,8 +9751,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_72", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_72", @@ -9771,8 +9771,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_73", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_73", @@ -9791,8 +9791,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_74", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_74", @@ -9811,8 +9811,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_75", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_75", @@ -9831,8 +9831,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_76", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_76", @@ -9851,8 +9851,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_77", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_77", @@ -9871,8 +9871,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_78", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_78", @@ -9891,8 +9891,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_79", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_79", @@ -9911,8 +9911,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_80", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_80", @@ -9931,8 +9931,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_81", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_81", @@ -9951,8 +9951,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_82", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_82", @@ -9971,8 +9971,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_83", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_83", @@ -9991,8 +9991,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_84", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_84", @@ -10011,8 +10011,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_85", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_85", @@ -10031,8 +10031,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_86", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_86", @@ -10051,8 +10051,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_87", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_87", @@ -10071,8 +10071,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_88", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_88", @@ -10091,8 +10091,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_89", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_89", @@ -10111,8 +10111,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_90", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_90", @@ -10131,8 +10131,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_91", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_91", @@ -10151,8 +10151,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_92", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_92", @@ -10171,8 +10171,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_93", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_93", @@ -10191,8 +10191,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_94", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_94", @@ -10211,8 +10211,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_95", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_95", @@ -10231,8 +10231,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_96", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_96", @@ -10251,8 +10251,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_97", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_97", @@ -10271,8 +10271,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_98", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_98", @@ -10291,8 +10291,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_99", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_99", @@ -10311,8 +10311,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_100", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_100", @@ -10331,8 +10331,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_101", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_101", @@ -10351,8 +10351,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_102", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_102", @@ -10371,8 +10371,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_103", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_103", @@ -10391,8 +10391,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_104", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_104", @@ -10411,8 +10411,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_105", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_105", @@ -10431,8 +10431,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_106", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_106", @@ -10451,8 +10451,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_107", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_107", @@ -10471,8 +10471,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_108", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_108", @@ -10491,8 +10491,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_109", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_109", @@ -10511,8 +10511,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_110", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_110", @@ -10531,8 +10531,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_111", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_111", @@ -10551,8 +10551,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_112", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_112", @@ -10571,8 +10571,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_113", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_113", @@ -10591,8 +10591,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_114", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_114", @@ -10611,8 +10611,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_115", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_115", @@ -10631,8 +10631,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_116", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_116", @@ -10651,8 +10651,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_117", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_117", @@ -10671,8 +10671,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_118", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_118", @@ -10691,8 +10691,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_119", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_119", @@ -10711,8 +10711,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_120", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_120", @@ -10731,8 +10731,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_121", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_121", @@ -10751,8 +10751,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_122", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_122", @@ -10771,8 +10771,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_123", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_123", @@ -10791,8 +10791,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_124", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_124", @@ -10811,8 +10811,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_125", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_125", @@ -10831,8 +10831,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_126", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_126", @@ -10851,8 +10851,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_127", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_127", @@ -10871,8 +10871,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_128", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_128", @@ -10891,8 +10891,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_129", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_129", @@ -10911,8 +10911,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_130", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_130", @@ -10931,8 +10931,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_131", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_131", @@ -10951,8 +10951,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_132", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_132", @@ -10971,8 +10971,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_133", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_133", @@ -10991,8 +10991,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_134", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_134", @@ -11011,8 +11011,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_135", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_135", @@ -11031,8 +11031,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_136", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_136", @@ -11051,8 +11051,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_137", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_137", @@ -11071,8 +11071,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_138", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_138", @@ -11091,8 +11091,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_139", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_139", @@ -11111,8 +11111,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_140", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_140", @@ -11131,8 +11131,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_141", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_141", @@ -11151,8 +11151,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_142", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_142", @@ -11171,8 +11171,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_143", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_143", @@ -11191,8 +11191,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_144", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_144", @@ -11211,8 +11211,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_145", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_145", @@ -11231,8 +11231,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_146", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_146", @@ -11251,8 +11251,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_147", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_147", @@ -11271,8 +11271,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_148", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_148", @@ -11291,8 +11291,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_149", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_149", diff --git a/tests/baselines/reference/tsserver/completionsIncomplete/works-for-transient-symbols-between-requests.js b/tests/baselines/reference/tsserver/completionsIncomplete/works-for-transient-symbols-between-requests.js index d963afd5c9a..dd75348fad1 100644 --- a/tests/baselines/reference/tsserver/completionsIncomplete/works-for-transient-symbols-between-requests.js +++ b/tests/baselines/reference/tsserver/completionsIncomplete/works-for-transient-symbols-between-requests.js @@ -2657,8 +2657,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "declare", "sortText": "16", - "hasAction": true, "source": "/lib/foo/constants", + "hasAction": true, "data": { "exportName": "export=", "exportMapKey": "3 * exp ", @@ -2670,8 +2670,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -2690,8 +2690,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -2710,8 +2710,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -2730,8 +2730,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -2750,8 +2750,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -2770,8 +2770,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -2790,8 +2790,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -2810,8 +2810,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -2830,8 +2830,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -2850,8 +2850,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -2870,8 +2870,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -2890,8 +2890,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -2910,8 +2910,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -2930,8 +2930,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -2950,8 +2950,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -2970,8 +2970,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -2990,8 +2990,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -3010,8 +3010,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -3030,8 +3030,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -3050,8 +3050,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -3070,8 +3070,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -3090,8 +3090,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -3110,8 +3110,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -3130,8 +3130,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -3150,8 +3150,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -3170,8 +3170,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -3190,8 +3190,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -3210,8 +3210,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -3230,8 +3230,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -3250,8 +3250,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -3270,8 +3270,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -3290,8 +3290,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -3310,8 +3310,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -3330,8 +3330,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -3350,8 +3350,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -3370,8 +3370,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -3390,8 +3390,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -3410,8 +3410,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -3430,8 +3430,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -3450,8 +3450,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -3470,8 +3470,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -3490,8 +3490,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -3510,8 +3510,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -3530,8 +3530,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -3550,8 +3550,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -3570,8 +3570,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -3590,8 +3590,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -3610,8 +3610,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -3630,8 +3630,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -3650,8 +3650,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -3670,8 +3670,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_50", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_50", @@ -3690,8 +3690,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_51", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_51", @@ -3710,8 +3710,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_52", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_52", @@ -3730,8 +3730,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_53", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_53", @@ -3750,8 +3750,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_54", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_54", @@ -3770,8 +3770,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_55", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_55", @@ -3790,8 +3790,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_56", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_56", @@ -3810,8 +3810,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_57", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_57", @@ -3830,8 +3830,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_58", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_58", @@ -3850,8 +3850,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_59", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_59", @@ -3870,8 +3870,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_60", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_60", @@ -3890,8 +3890,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_61", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_61", @@ -3910,8 +3910,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_62", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_62", @@ -3930,8 +3930,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_63", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_63", @@ -3950,8 +3950,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_64", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_64", @@ -3970,8 +3970,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_65", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_65", @@ -3990,8 +3990,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_66", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_66", @@ -4010,8 +4010,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_67", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_67", @@ -4030,8 +4030,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_68", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_68", @@ -4050,8 +4050,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_69", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_69", @@ -4070,8 +4070,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_70", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_70", @@ -4090,8 +4090,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_71", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_71", @@ -4110,8 +4110,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_72", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_72", @@ -4130,8 +4130,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_73", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_73", @@ -4150,8 +4150,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_74", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_74", @@ -4170,8 +4170,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_75", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_75", @@ -4190,8 +4190,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_76", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_76", @@ -4210,8 +4210,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_77", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_77", @@ -4230,8 +4230,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_78", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_78", @@ -4250,8 +4250,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_79", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_79", @@ -4270,8 +4270,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_80", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_80", @@ -4290,8 +4290,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_81", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_81", @@ -4310,8 +4310,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_82", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_82", @@ -4330,8 +4330,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_83", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_83", @@ -4350,8 +4350,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_84", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_84", @@ -4370,8 +4370,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_85", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_85", @@ -4390,8 +4390,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_86", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_86", @@ -4410,8 +4410,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_87", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_87", @@ -4430,8 +4430,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_88", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_88", @@ -4450,8 +4450,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_89", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_89", @@ -4470,8 +4470,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_90", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_90", @@ -4490,8 +4490,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_91", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_91", @@ -4510,8 +4510,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_92", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_92", @@ -4530,8 +4530,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_93", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_93", @@ -4550,8 +4550,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_94", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_94", @@ -4570,8 +4570,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_95", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_95", @@ -4590,8 +4590,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_96", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_96", @@ -4610,8 +4610,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_97", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_97", @@ -4630,8 +4630,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_98", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_98", @@ -4650,8 +4650,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_99", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_99", @@ -4670,8 +4670,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "property", "kindModifiers": "", "sortText": "16", - "hasAction": true, "source": "/lib/foo/constants", + "hasAction": true, "data": { "exportName": "SIGABRT", "exportMapKey": "7 * SIGABRT ", @@ -4683,8 +4683,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "property", "kindModifiers": "", "sortText": "16", - "hasAction": true, "source": "/lib/foo/constants", + "hasAction": true, "data": { "exportName": "SIGINT", "exportMapKey": "6 * SIGINT ", @@ -5713,8 +5713,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -5733,8 +5733,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5753,8 +5753,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -5773,8 +5773,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -5793,8 +5793,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -5813,8 +5813,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -5833,8 +5833,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -5853,8 +5853,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -5873,8 +5873,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -5893,8 +5893,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -5913,8 +5913,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -5933,8 +5933,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -5953,8 +5953,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -5973,8 +5973,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -5993,8 +5993,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -6013,8 +6013,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -6033,8 +6033,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -6053,8 +6053,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -6073,8 +6073,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -6093,8 +6093,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -6113,8 +6113,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -6133,8 +6133,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -6153,8 +6153,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -6173,8 +6173,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -6193,8 +6193,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -6213,8 +6213,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -6233,8 +6233,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -6253,8 +6253,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -6273,8 +6273,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -6293,8 +6293,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -6313,8 +6313,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -6333,8 +6333,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -6353,8 +6353,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -6373,8 +6373,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -6393,8 +6393,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -6413,8 +6413,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -6433,8 +6433,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -6453,8 +6453,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -6473,8 +6473,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -6493,8 +6493,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -6513,8 +6513,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -6533,8 +6533,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -6553,8 +6553,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -6573,8 +6573,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -6593,8 +6593,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -6613,8 +6613,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -6633,8 +6633,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -6653,8 +6653,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -6673,8 +6673,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -6693,8 +6693,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -6713,8 +6713,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_50", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_50", @@ -6733,8 +6733,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_51", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_51", @@ -6753,8 +6753,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_52", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_52", @@ -6773,8 +6773,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_53", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_53", @@ -6793,8 +6793,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_54", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_54", @@ -6813,8 +6813,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_55", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_55", @@ -6833,8 +6833,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_56", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_56", @@ -6853,8 +6853,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_57", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_57", @@ -6873,8 +6873,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_58", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_58", @@ -6893,8 +6893,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_59", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_59", @@ -6913,8 +6913,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_60", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_60", @@ -6933,8 +6933,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_61", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_61", @@ -6953,8 +6953,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_62", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_62", @@ -6973,8 +6973,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_63", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_63", @@ -6993,8 +6993,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_64", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_64", @@ -7013,8 +7013,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_65", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_65", @@ -7033,8 +7033,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_66", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_66", @@ -7053,8 +7053,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_67", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_67", @@ -7073,8 +7073,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_68", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_68", @@ -7093,8 +7093,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_69", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_69", @@ -7113,8 +7113,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_70", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_70", @@ -7133,8 +7133,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_71", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_71", @@ -7153,8 +7153,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_72", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_72", @@ -7173,8 +7173,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_73", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_73", @@ -7193,8 +7193,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_74", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_74", @@ -7213,8 +7213,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_75", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_75", @@ -7233,8 +7233,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_76", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_76", @@ -7253,8 +7253,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_77", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_77", @@ -7273,8 +7273,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_78", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_78", @@ -7293,8 +7293,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_79", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_79", @@ -7313,8 +7313,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_80", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_80", @@ -7333,8 +7333,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_81", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_81", @@ -7353,8 +7353,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_82", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_82", @@ -7373,8 +7373,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_83", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_83", @@ -7393,8 +7393,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_84", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_84", @@ -7413,8 +7413,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_85", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_85", @@ -7433,8 +7433,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_86", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_86", @@ -7453,8 +7453,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_87", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_87", @@ -7473,8 +7473,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_88", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_88", @@ -7493,8 +7493,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_89", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_89", @@ -7513,8 +7513,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_90", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_90", @@ -7533,8 +7533,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_91", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_91", @@ -7553,8 +7553,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_92", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_92", @@ -7573,8 +7573,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_93", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_93", @@ -7593,8 +7593,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_94", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_94", @@ -7613,8 +7613,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_95", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_95", @@ -7633,8 +7633,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_96", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_96", @@ -7653,8 +7653,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_97", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_97", @@ -7673,8 +7673,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_98", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_98", @@ -7693,8 +7693,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_99", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_99", @@ -7713,8 +7713,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "property", "kindModifiers": "", "sortText": "16", - "hasAction": true, "source": "./lib/foo/constants", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/foo/constants", @@ -7733,8 +7733,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "property", "kindModifiers": "", "sortText": "16", - "hasAction": true, "source": "./lib/foo/constants", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/foo/constants", diff --git a/tests/baselines/reference/tsserver/completionsIncomplete/works-with-PackageJsonAutoImportProvider.js b/tests/baselines/reference/tsserver/completionsIncomplete/works-with-PackageJsonAutoImportProvider.js index 966a6e09f56..cb621640502 100644 --- a/tests/baselines/reference/tsserver/completionsIncomplete/works-with-PackageJsonAutoImportProvider.js +++ b/tests/baselines/reference/tsserver/completionsIncomplete/works-with-PackageJsonAutoImportProvider.js @@ -3439,8 +3439,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -3459,8 +3459,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -3479,8 +3479,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -3499,8 +3499,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -3519,8 +3519,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -3539,8 +3539,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -3559,8 +3559,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -3579,8 +3579,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -3599,8 +3599,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -3619,8 +3619,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -3639,8 +3639,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -3659,8 +3659,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -3679,8 +3679,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -3699,8 +3699,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -3719,8 +3719,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -3739,8 +3739,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -3759,8 +3759,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -3779,8 +3779,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -3799,8 +3799,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -3819,8 +3819,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -3839,8 +3839,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -3859,8 +3859,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -3879,8 +3879,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -3899,8 +3899,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -3919,8 +3919,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -3939,8 +3939,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -3959,8 +3959,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -3979,8 +3979,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -3999,8 +3999,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -4019,8 +4019,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -4039,8 +4039,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -4059,8 +4059,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -4079,8 +4079,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -4099,8 +4099,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -4119,8 +4119,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -4139,8 +4139,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -4159,8 +4159,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -4179,8 +4179,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -4199,8 +4199,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -4219,8 +4219,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -4239,8 +4239,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -4259,8 +4259,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -4279,8 +4279,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -4299,8 +4299,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -4319,8 +4319,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -4339,8 +4339,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -4359,8 +4359,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -4379,8 +4379,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -4399,8 +4399,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -4419,8 +4419,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -4439,8 +4439,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_50", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_50", @@ -4459,8 +4459,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_51", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_51", @@ -4479,8 +4479,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_52", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_52", @@ -4499,8 +4499,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_53", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_53", @@ -4519,8 +4519,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_54", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_54", @@ -4539,8 +4539,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_55", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_55", @@ -4559,8 +4559,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_56", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_56", @@ -4579,8 +4579,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_57", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_57", @@ -4599,8 +4599,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_58", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_58", @@ -4619,8 +4619,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_59", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_59", @@ -4639,8 +4639,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_60", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_60", @@ -4659,8 +4659,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_61", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_61", @@ -4679,8 +4679,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_62", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_62", @@ -4699,8 +4699,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_63", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_63", @@ -4719,8 +4719,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_64", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_64", @@ -4739,8 +4739,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_65", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_65", @@ -4759,8 +4759,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_66", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_66", @@ -4779,8 +4779,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_67", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_67", @@ -4799,8 +4799,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_68", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_68", @@ -4819,8 +4819,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_69", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_69", @@ -4839,8 +4839,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_70", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_70", @@ -4859,8 +4859,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_71", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_71", @@ -4879,8 +4879,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_72", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_72", @@ -4899,8 +4899,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_73", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_73", @@ -4919,8 +4919,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_74", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_74", @@ -4939,8 +4939,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_75", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_75", @@ -4959,8 +4959,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_76", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_76", @@ -4979,8 +4979,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_77", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_77", @@ -4999,8 +4999,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_78", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_78", @@ -5019,8 +5019,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_79", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_79", @@ -5039,8 +5039,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_80", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_80", @@ -5059,8 +5059,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_81", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_81", @@ -5079,8 +5079,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_82", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_82", @@ -5099,8 +5099,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_83", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_83", @@ -5119,8 +5119,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_84", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_84", @@ -5139,8 +5139,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_85", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_85", @@ -5159,8 +5159,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_86", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_86", @@ -5179,8 +5179,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_87", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_87", @@ -5199,8 +5199,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_88", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_88", @@ -5219,8 +5219,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_89", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_89", @@ -5239,8 +5239,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_90", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_90", @@ -5259,8 +5259,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_91", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_91", @@ -5279,8 +5279,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_92", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_92", @@ -5299,8 +5299,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_93", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_93", @@ -5319,8 +5319,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_94", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_94", @@ -5339,8 +5339,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_95", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_95", @@ -5359,8 +5359,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_96", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_96", @@ -5379,8 +5379,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_97", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_97", @@ -5399,8 +5399,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_98", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_98", @@ -5419,8 +5419,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_99", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_99", @@ -5439,8 +5439,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_0", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_0__0", @@ -5454,8 +5454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_1", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_1__0", @@ -5469,8 +5469,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_2", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_2__0", @@ -5484,8 +5484,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_3", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_3__0", @@ -5499,8 +5499,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_4", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_4__0", @@ -5514,8 +5514,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_5", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_5__0", @@ -5529,8 +5529,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_6", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_6__0", @@ -5544,8 +5544,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_7", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_7__0", @@ -5559,8 +5559,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_8", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_8__0", @@ -5574,8 +5574,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_9", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_9__0", @@ -5589,8 +5589,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_10", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_10__0", @@ -5604,8 +5604,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_11", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_11__0", @@ -5619,8 +5619,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_12", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_12__0", @@ -5634,8 +5634,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_13", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_13__0", @@ -5649,8 +5649,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_14", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_14__0", @@ -5664,8 +5664,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_15", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_15__0", @@ -5679,8 +5679,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_16", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_16__0", @@ -5694,8 +5694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_17", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_17__0", @@ -5709,8 +5709,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_18", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_18__0", @@ -5724,8 +5724,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_19", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_19__0", @@ -5739,8 +5739,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_20", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_20__0", @@ -5754,8 +5754,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_21", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_21__0", @@ -5769,8 +5769,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_22", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_22__0", @@ -5784,8 +5784,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_23", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_23__0", @@ -5799,8 +5799,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_24", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_24__0", @@ -5814,8 +5814,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_25", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_25__0", @@ -5829,8 +5829,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_26", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_26__0", @@ -5844,8 +5844,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_27", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_27__0", @@ -5859,8 +5859,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_28", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_28__0", @@ -5874,8 +5874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_29", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_29__0", @@ -5889,8 +5889,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_30", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_30__0", @@ -5904,8 +5904,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_31", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_31__0", @@ -5919,8 +5919,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_32", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_32__0", @@ -5934,8 +5934,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_33", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_33__0", @@ -5949,8 +5949,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_34", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_34__0", @@ -5964,8 +5964,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_35", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_35__0", @@ -5979,8 +5979,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_36", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_36__0", @@ -5994,8 +5994,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_37", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_37__0", @@ -6009,8 +6009,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_38", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_38__0", @@ -6024,8 +6024,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_39", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_39__0", @@ -6039,8 +6039,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_40", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_40__0", @@ -6054,8 +6054,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_41", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_41__0", @@ -6069,8 +6069,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_42", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_42__0", @@ -6084,8 +6084,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_43", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_43__0", @@ -6099,8 +6099,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_44", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_44__0", @@ -6114,8 +6114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_45", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_45__0", @@ -6129,8 +6129,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_46", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_46__0", @@ -6144,8 +6144,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_47", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_47__0", @@ -6159,8 +6159,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_48", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_48__0", @@ -6174,8 +6174,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/file_49", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "depA_49__0", @@ -6189,8 +6189,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "/node_modules/dep-a/index", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "default", @@ -7432,8 +7432,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -7452,8 +7452,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -7472,8 +7472,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -7492,8 +7492,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -7512,8 +7512,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -7532,8 +7532,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -7552,8 +7552,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -7572,8 +7572,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -7592,8 +7592,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -7612,8 +7612,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -7632,8 +7632,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -7652,8 +7652,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -7672,8 +7672,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -7692,8 +7692,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -7712,8 +7712,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -7732,8 +7732,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -7752,8 +7752,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -7772,8 +7772,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -7792,8 +7792,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -7812,8 +7812,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -7832,8 +7832,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -7852,8 +7852,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -7872,8 +7872,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -7892,8 +7892,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -7912,8 +7912,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -7932,8 +7932,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -7952,8 +7952,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -7972,8 +7972,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -7992,8 +7992,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -8012,8 +8012,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -8032,8 +8032,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -8052,8 +8052,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -8072,8 +8072,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -8092,8 +8092,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -8112,8 +8112,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -8132,8 +8132,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -8152,8 +8152,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -8172,8 +8172,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -8192,8 +8192,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -8212,8 +8212,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -8232,8 +8232,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -8252,8 +8252,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -8272,8 +8272,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -8292,8 +8292,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -8312,8 +8312,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -8332,8 +8332,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -8352,8 +8352,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -8372,8 +8372,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -8392,8 +8392,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -8412,8 +8412,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -8432,8 +8432,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_50", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_50", @@ -8452,8 +8452,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_51", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_51", @@ -8472,8 +8472,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_52", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_52", @@ -8492,8 +8492,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_53", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_53", @@ -8512,8 +8512,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_54", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_54", @@ -8532,8 +8532,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_55", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_55", @@ -8552,8 +8552,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_56", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_56", @@ -8572,8 +8572,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_57", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_57", @@ -8592,8 +8592,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_58", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_58", @@ -8612,8 +8612,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_59", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_59", @@ -8632,8 +8632,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_60", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_60", @@ -8652,8 +8652,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_61", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_61", @@ -8672,8 +8672,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_62", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_62", @@ -8692,8 +8692,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_63", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_63", @@ -8712,8 +8712,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_64", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_64", @@ -8732,8 +8732,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_65", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_65", @@ -8752,8 +8752,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_66", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_66", @@ -8772,8 +8772,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_67", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_67", @@ -8792,8 +8792,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_68", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_68", @@ -8812,8 +8812,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_69", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_69", @@ -8832,8 +8832,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_70", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_70", @@ -8852,8 +8852,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_71", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_71", @@ -8872,8 +8872,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_72", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_72", @@ -8892,8 +8892,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_73", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_73", @@ -8912,8 +8912,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_74", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_74", @@ -8932,8 +8932,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_75", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_75", @@ -8952,8 +8952,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_76", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_76", @@ -8972,8 +8972,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_77", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_77", @@ -8992,8 +8992,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_78", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_78", @@ -9012,8 +9012,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_79", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_79", @@ -9032,8 +9032,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_80", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_80", @@ -9052,8 +9052,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_81", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_81", @@ -9072,8 +9072,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_82", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_82", @@ -9092,8 +9092,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_83", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_83", @@ -9112,8 +9112,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_84", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_84", @@ -9132,8 +9132,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_85", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_85", @@ -9152,8 +9152,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_86", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_86", @@ -9172,8 +9172,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_87", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_87", @@ -9192,8 +9192,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_88", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_88", @@ -9212,8 +9212,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_89", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_89", @@ -9232,8 +9232,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_90", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_90", @@ -9252,8 +9252,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_91", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_91", @@ -9272,8 +9272,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_92", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_92", @@ -9292,8 +9292,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_93", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_93", @@ -9312,8 +9312,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_94", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_94", @@ -9332,8 +9332,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_95", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_95", @@ -9352,8 +9352,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_96", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_96", @@ -9372,8 +9372,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_97", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_97", @@ -9392,8 +9392,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_98", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_98", @@ -9412,8 +9412,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_99", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_99", @@ -9432,8 +9432,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9454,8 +9454,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9476,8 +9476,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9498,8 +9498,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9520,8 +9520,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9542,8 +9542,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9564,8 +9564,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9586,8 +9586,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9608,8 +9608,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9630,8 +9630,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9652,8 +9652,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9674,8 +9674,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9696,8 +9696,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9718,8 +9718,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9740,8 +9740,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9762,8 +9762,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9784,8 +9784,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9806,8 +9806,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9828,8 +9828,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9850,8 +9850,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9872,8 +9872,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9894,8 +9894,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9916,8 +9916,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9938,8 +9938,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9960,8 +9960,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -9982,8 +9982,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10004,8 +10004,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10026,8 +10026,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10048,8 +10048,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10070,8 +10070,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10092,8 +10092,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10114,8 +10114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10136,8 +10136,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10158,8 +10158,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10180,8 +10180,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10202,8 +10202,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10224,8 +10224,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10246,8 +10246,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10268,8 +10268,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10290,8 +10290,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10312,8 +10312,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10334,8 +10334,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10356,8 +10356,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10378,8 +10378,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10400,8 +10400,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10422,8 +10422,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10444,8 +10444,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10466,8 +10466,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10488,8 +10488,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", @@ -10510,8 +10510,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "dep-a", + "hasAction": true, "sourceDisplay": [ { "text": "dep-a", diff --git a/tests/baselines/reference/tsserver/completionsIncomplete/works.js b/tests/baselines/reference/tsserver/completionsIncomplete/works.js index 689860fd9f2..84f4b6be5b3 100644 --- a/tests/baselines/reference/tsserver/completionsIncomplete/works.js +++ b/tests/baselines/reference/tsserver/completionsIncomplete/works.js @@ -5485,8 +5485,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -5505,8 +5505,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -5525,8 +5525,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_2", + "hasAction": true, "data": { "exportName": "aa_2__0", "exportMapKey": "7 * aa_2__0 ", @@ -5538,8 +5538,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_3", + "hasAction": true, "data": { "exportName": "aa_3__0", "exportMapKey": "7 * aa_3__0 ", @@ -5551,8 +5551,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_4", + "hasAction": true, "data": { "exportName": "aa_4__0", "exportMapKey": "7 * aa_4__0 ", @@ -5564,8 +5564,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_5", + "hasAction": true, "data": { "exportName": "aa_5__0", "exportMapKey": "7 * aa_5__0 ", @@ -5577,8 +5577,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_6", + "hasAction": true, "data": { "exportName": "aa_6__0", "exportMapKey": "7 * aa_6__0 ", @@ -5590,8 +5590,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_7", + "hasAction": true, "data": { "exportName": "aa_7__0", "exportMapKey": "7 * aa_7__0 ", @@ -5603,8 +5603,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_8", + "hasAction": true, "data": { "exportName": "aa_8__0", "exportMapKey": "7 * aa_8__0 ", @@ -5616,8 +5616,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_9", + "hasAction": true, "data": { "exportName": "aa_9__0", "exportMapKey": "7 * aa_9__0 ", @@ -5629,8 +5629,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -5649,8 +5649,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -5669,8 +5669,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -5689,8 +5689,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -5709,8 +5709,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -5729,8 +5729,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -5749,8 +5749,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -5769,8 +5769,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -5789,8 +5789,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -5809,8 +5809,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_19", + "hasAction": true, "data": { "exportName": "aa_19__0", "exportMapKey": "8 * aa_19__0 ", @@ -5822,8 +5822,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_20", + "hasAction": true, "data": { "exportName": "aa_20__0", "exportMapKey": "8 * aa_20__0 ", @@ -5835,8 +5835,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_21", + "hasAction": true, "data": { "exportName": "aa_21__0", "exportMapKey": "8 * aa_21__0 ", @@ -5848,8 +5848,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_22", + "hasAction": true, "data": { "exportName": "aa_22__0", "exportMapKey": "8 * aa_22__0 ", @@ -5861,8 +5861,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_23", + "hasAction": true, "data": { "exportName": "aa_23__0", "exportMapKey": "8 * aa_23__0 ", @@ -5874,8 +5874,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_24", + "hasAction": true, "data": { "exportName": "aa_24__0", "exportMapKey": "8 * aa_24__0 ", @@ -5887,8 +5887,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_25", + "hasAction": true, "data": { "exportName": "aa_25__0", "exportMapKey": "8 * aa_25__0 ", @@ -5900,8 +5900,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_26", + "hasAction": true, "data": { "exportName": "aa_26__0", "exportMapKey": "8 * aa_26__0 ", @@ -5913,8 +5913,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_27", + "hasAction": true, "data": { "exportName": "aa_27__0", "exportMapKey": "8 * aa_27__0 ", @@ -5926,8 +5926,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_28", + "hasAction": true, "data": { "exportName": "aa_28__0", "exportMapKey": "8 * aa_28__0 ", @@ -5939,8 +5939,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_29", + "hasAction": true, "data": { "exportName": "aa_29__0", "exportMapKey": "8 * aa_29__0 ", @@ -5952,8 +5952,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_30", + "hasAction": true, "data": { "exportName": "aa_30__0", "exportMapKey": "8 * aa_30__0 ", @@ -5965,8 +5965,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_31", + "hasAction": true, "data": { "exportName": "aa_31__0", "exportMapKey": "8 * aa_31__0 ", @@ -5978,8 +5978,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_32", + "hasAction": true, "data": { "exportName": "aa_32__0", "exportMapKey": "8 * aa_32__0 ", @@ -5991,8 +5991,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_33", + "hasAction": true, "data": { "exportName": "aa_33__0", "exportMapKey": "8 * aa_33__0 ", @@ -6004,8 +6004,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_34", + "hasAction": true, "data": { "exportName": "aa_34__0", "exportMapKey": "8 * aa_34__0 ", @@ -6017,8 +6017,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_35", + "hasAction": true, "data": { "exportName": "aa_35__0", "exportMapKey": "8 * aa_35__0 ", @@ -6030,8 +6030,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_36", + "hasAction": true, "data": { "exportName": "aa_36__0", "exportMapKey": "8 * aa_36__0 ", @@ -6043,8 +6043,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_37", + "hasAction": true, "data": { "exportName": "aa_37__0", "exportMapKey": "8 * aa_37__0 ", @@ -6056,8 +6056,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_38", + "hasAction": true, "data": { "exportName": "aa_38__0", "exportMapKey": "8 * aa_38__0 ", @@ -6069,8 +6069,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_39", + "hasAction": true, "data": { "exportName": "aa_39__0", "exportMapKey": "8 * aa_39__0 ", @@ -6082,8 +6082,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_40", + "hasAction": true, "data": { "exportName": "aa_40__0", "exportMapKey": "8 * aa_40__0 ", @@ -6095,8 +6095,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_41", + "hasAction": true, "data": { "exportName": "aa_41__0", "exportMapKey": "8 * aa_41__0 ", @@ -6108,8 +6108,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_42", + "hasAction": true, "data": { "exportName": "aa_42__0", "exportMapKey": "8 * aa_42__0 ", @@ -6121,8 +6121,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_43", + "hasAction": true, "data": { "exportName": "aa_43__0", "exportMapKey": "8 * aa_43__0 ", @@ -6134,8 +6134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_44", + "hasAction": true, "data": { "exportName": "aa_44__0", "exportMapKey": "8 * aa_44__0 ", @@ -6147,8 +6147,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_45", + "hasAction": true, "data": { "exportName": "aa_45__0", "exportMapKey": "8 * aa_45__0 ", @@ -6160,8 +6160,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_46", + "hasAction": true, "data": { "exportName": "aa_46__0", "exportMapKey": "8 * aa_46__0 ", @@ -6173,8 +6173,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_47", + "hasAction": true, "data": { "exportName": "aa_47__0", "exportMapKey": "8 * aa_47__0 ", @@ -6186,8 +6186,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_48", + "hasAction": true, "data": { "exportName": "aa_48__0", "exportMapKey": "8 * aa_48__0 ", @@ -6199,8 +6199,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_49", + "hasAction": true, "data": { "exportName": "aa_49__0", "exportMapKey": "8 * aa_49__0 ", @@ -6212,8 +6212,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_50", + "hasAction": true, "data": { "exportName": "aa_50__0", "exportMapKey": "8 * aa_50__0 ", @@ -6225,8 +6225,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_51", + "hasAction": true, "data": { "exportName": "aa_51__0", "exportMapKey": "8 * aa_51__0 ", @@ -6238,8 +6238,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_52", + "hasAction": true, "data": { "exportName": "aa_52__0", "exportMapKey": "8 * aa_52__0 ", @@ -6251,8 +6251,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_53", + "hasAction": true, "data": { "exportName": "aa_53__0", "exportMapKey": "8 * aa_53__0 ", @@ -6264,8 +6264,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_54", + "hasAction": true, "data": { "exportName": "aa_54__0", "exportMapKey": "8 * aa_54__0 ", @@ -6277,8 +6277,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_55", + "hasAction": true, "data": { "exportName": "aa_55__0", "exportMapKey": "8 * aa_55__0 ", @@ -6290,8 +6290,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_56", + "hasAction": true, "data": { "exportName": "aa_56__0", "exportMapKey": "8 * aa_56__0 ", @@ -6303,8 +6303,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_57", + "hasAction": true, "data": { "exportName": "aa_57__0", "exportMapKey": "8 * aa_57__0 ", @@ -6316,8 +6316,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_58", + "hasAction": true, "data": { "exportName": "aa_58__0", "exportMapKey": "8 * aa_58__0 ", @@ -6329,8 +6329,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_59", + "hasAction": true, "data": { "exportName": "aa_59__0", "exportMapKey": "8 * aa_59__0 ", @@ -6342,8 +6342,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_60", + "hasAction": true, "data": { "exportName": "aa_60__0", "exportMapKey": "8 * aa_60__0 ", @@ -6355,8 +6355,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_61", + "hasAction": true, "data": { "exportName": "aa_61__0", "exportMapKey": "8 * aa_61__0 ", @@ -6368,8 +6368,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_62", + "hasAction": true, "data": { "exportName": "aa_62__0", "exportMapKey": "8 * aa_62__0 ", @@ -6381,8 +6381,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_63", + "hasAction": true, "data": { "exportName": "aa_63__0", "exportMapKey": "8 * aa_63__0 ", @@ -6394,8 +6394,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_64", + "hasAction": true, "data": { "exportName": "aa_64__0", "exportMapKey": "8 * aa_64__0 ", @@ -6407,8 +6407,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_65", + "hasAction": true, "data": { "exportName": "aa_65__0", "exportMapKey": "8 * aa_65__0 ", @@ -6420,8 +6420,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_66", + "hasAction": true, "data": { "exportName": "aa_66__0", "exportMapKey": "8 * aa_66__0 ", @@ -6433,8 +6433,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_67", + "hasAction": true, "data": { "exportName": "aa_67__0", "exportMapKey": "8 * aa_67__0 ", @@ -6446,8 +6446,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_68", + "hasAction": true, "data": { "exportName": "aa_68__0", "exportMapKey": "8 * aa_68__0 ", @@ -6459,8 +6459,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_69", + "hasAction": true, "data": { "exportName": "aa_69__0", "exportMapKey": "8 * aa_69__0 ", @@ -6472,8 +6472,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_70", + "hasAction": true, "data": { "exportName": "aa_70__0", "exportMapKey": "8 * aa_70__0 ", @@ -6485,8 +6485,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_71", + "hasAction": true, "data": { "exportName": "aa_71__0", "exportMapKey": "8 * aa_71__0 ", @@ -6498,8 +6498,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_72", + "hasAction": true, "data": { "exportName": "aa_72__0", "exportMapKey": "8 * aa_72__0 ", @@ -6511,8 +6511,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_73", + "hasAction": true, "data": { "exportName": "aa_73__0", "exportMapKey": "8 * aa_73__0 ", @@ -6524,8 +6524,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_74", + "hasAction": true, "data": { "exportName": "aa_74__0", "exportMapKey": "8 * aa_74__0 ", @@ -6537,8 +6537,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_75", + "hasAction": true, "data": { "exportName": "aa_75__0", "exportMapKey": "8 * aa_75__0 ", @@ -6550,8 +6550,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_76", + "hasAction": true, "data": { "exportName": "aa_76__0", "exportMapKey": "8 * aa_76__0 ", @@ -6563,8 +6563,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_77", + "hasAction": true, "data": { "exportName": "aa_77__0", "exportMapKey": "8 * aa_77__0 ", @@ -6576,8 +6576,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_78", + "hasAction": true, "data": { "exportName": "aa_78__0", "exportMapKey": "8 * aa_78__0 ", @@ -6589,8 +6589,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_79", + "hasAction": true, "data": { "exportName": "aa_79__0", "exportMapKey": "8 * aa_79__0 ", @@ -6602,8 +6602,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_80", + "hasAction": true, "data": { "exportName": "aa_80__0", "exportMapKey": "8 * aa_80__0 ", @@ -6615,8 +6615,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_81", + "hasAction": true, "data": { "exportName": "aa_81__0", "exportMapKey": "8 * aa_81__0 ", @@ -6628,8 +6628,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_82", + "hasAction": true, "data": { "exportName": "aa_82__0", "exportMapKey": "8 * aa_82__0 ", @@ -6641,8 +6641,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_83", + "hasAction": true, "data": { "exportName": "aa_83__0", "exportMapKey": "8 * aa_83__0 ", @@ -6654,8 +6654,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_84", + "hasAction": true, "data": { "exportName": "aa_84__0", "exportMapKey": "8 * aa_84__0 ", @@ -6667,8 +6667,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_85", + "hasAction": true, "data": { "exportName": "aa_85__0", "exportMapKey": "8 * aa_85__0 ", @@ -6680,8 +6680,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_86", + "hasAction": true, "data": { "exportName": "aa_86__0", "exportMapKey": "8 * aa_86__0 ", @@ -6693,8 +6693,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_87", + "hasAction": true, "data": { "exportName": "aa_87__0", "exportMapKey": "8 * aa_87__0 ", @@ -6706,8 +6706,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_88", + "hasAction": true, "data": { "exportName": "aa_88__0", "exportMapKey": "8 * aa_88__0 ", @@ -6719,8 +6719,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_89", + "hasAction": true, "data": { "exportName": "aa_89__0", "exportMapKey": "8 * aa_89__0 ", @@ -6732,8 +6732,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_90", + "hasAction": true, "data": { "exportName": "aa_90__0", "exportMapKey": "8 * aa_90__0 ", @@ -6745,8 +6745,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_91", + "hasAction": true, "data": { "exportName": "aa_91__0", "exportMapKey": "8 * aa_91__0 ", @@ -6758,8 +6758,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_92", + "hasAction": true, "data": { "exportName": "aa_92__0", "exportMapKey": "8 * aa_92__0 ", @@ -6771,8 +6771,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_93", + "hasAction": true, "data": { "exportName": "aa_93__0", "exportMapKey": "8 * aa_93__0 ", @@ -6784,8 +6784,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_94", + "hasAction": true, "data": { "exportName": "aa_94__0", "exportMapKey": "8 * aa_94__0 ", @@ -6797,8 +6797,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_95", + "hasAction": true, "data": { "exportName": "aa_95__0", "exportMapKey": "8 * aa_95__0 ", @@ -6810,8 +6810,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_96", + "hasAction": true, "data": { "exportName": "aa_96__0", "exportMapKey": "8 * aa_96__0 ", @@ -6823,8 +6823,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_97", + "hasAction": true, "data": { "exportName": "aa_97__0", "exportMapKey": "8 * aa_97__0 ", @@ -6836,8 +6836,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_98", + "hasAction": true, "data": { "exportName": "aa_98__0", "exportMapKey": "8 * aa_98__0 ", @@ -6849,8 +6849,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_99", + "hasAction": true, "data": { "exportName": "aa_99__0", "exportMapKey": "8 * aa_99__0 ", @@ -6862,8 +6862,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_100", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_100", @@ -6882,8 +6882,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_101", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_101", @@ -6902,8 +6902,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_102", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_102", @@ -6922,8 +6922,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_103", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_103", @@ -6942,8 +6942,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_104", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_104", @@ -6962,8 +6962,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_105", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_105", @@ -6982,8 +6982,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_106", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_106", @@ -7002,8 +7002,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_107", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_107", @@ -7022,8 +7022,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_108", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_108", @@ -7042,8 +7042,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_109", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_109", @@ -7062,8 +7062,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_110", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_110", @@ -7082,8 +7082,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_111", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_111", @@ -7102,8 +7102,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_112", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_112", @@ -7122,8 +7122,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_113", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_113", @@ -7142,8 +7142,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_114", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_114", @@ -7162,8 +7162,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_115", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_115", @@ -7182,8 +7182,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_116", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_116", @@ -7202,8 +7202,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_117", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_117", @@ -7222,8 +7222,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_118", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_118", @@ -7242,8 +7242,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_119", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_119", @@ -7262,8 +7262,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_120", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_120", @@ -7282,8 +7282,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_121", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_121", @@ -7302,8 +7302,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_122", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_122", @@ -7322,8 +7322,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_123", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_123", @@ -7342,8 +7342,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_124", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_124", @@ -7362,8 +7362,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_125", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_125", @@ -7382,8 +7382,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_126", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_126", @@ -7402,8 +7402,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_127", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_127", @@ -7422,8 +7422,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_128", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_128", @@ -7442,8 +7442,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_129", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_129", @@ -7462,8 +7462,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_130", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_130", @@ -7482,8 +7482,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_131", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_131", @@ -7502,8 +7502,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_132", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_132", @@ -7522,8 +7522,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_133", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_133", @@ -7542,8 +7542,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_134", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_134", @@ -7562,8 +7562,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_135", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_135", @@ -7582,8 +7582,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_136", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_136", @@ -7602,8 +7602,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_137", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_137", @@ -7622,8 +7622,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_138", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_138", @@ -7642,8 +7642,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_139", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_139", @@ -7662,8 +7662,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_140", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_140", @@ -7682,8 +7682,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_141", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_141", @@ -7702,8 +7702,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_142", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_142", @@ -7722,8 +7722,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_143", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_143", @@ -7742,8 +7742,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_144", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_144", @@ -7762,8 +7762,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_145", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_145", @@ -7782,8 +7782,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_146", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_146", @@ -7802,8 +7802,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_147", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_147", @@ -7822,8 +7822,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_148", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_148", @@ -7842,8 +7842,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_149", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_149", @@ -7862,8 +7862,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_150", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_150", @@ -7882,8 +7882,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_151", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_151", @@ -7902,8 +7902,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_152", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_152", @@ -7922,8 +7922,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_153", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_153", @@ -7942,8 +7942,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_154", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_154", @@ -7962,8 +7962,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_155", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_155", @@ -7982,8 +7982,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_156", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_156", @@ -8002,8 +8002,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_157", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_157", @@ -8022,8 +8022,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_158", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_158", @@ -8042,8 +8042,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_159", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_159", @@ -8062,8 +8062,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_160", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_160", @@ -8082,8 +8082,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_161", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_161", @@ -8102,8 +8102,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_162", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_162", @@ -8122,8 +8122,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_163", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_163", @@ -8142,8 +8142,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_164", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_164", @@ -8162,8 +8162,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_165", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_165", @@ -8182,8 +8182,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_166", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_166", @@ -8202,8 +8202,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_167", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_167", @@ -8222,8 +8222,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_168", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_168", @@ -8242,8 +8242,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_169", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_169", @@ -8262,8 +8262,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_170", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_170", @@ -8282,8 +8282,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_171", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_171", @@ -8302,8 +8302,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_172", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_172", @@ -8322,8 +8322,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_173", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_173", @@ -8342,8 +8342,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_174", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_174", @@ -8362,8 +8362,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_175", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_175", @@ -8382,8 +8382,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_176", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_176", @@ -8402,8 +8402,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_177", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_177", @@ -8422,8 +8422,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_178", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_178", @@ -8442,8 +8442,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_179", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_179", @@ -8462,8 +8462,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_180", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_180", @@ -8482,8 +8482,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_181", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_181", @@ -8502,8 +8502,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_182", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_182", @@ -8522,8 +8522,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_183", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_183", @@ -8542,8 +8542,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_184", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_184", @@ -8562,8 +8562,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_185", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_185", @@ -8582,8 +8582,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_186", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_186", @@ -8602,8 +8602,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_187", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_187", @@ -8622,8 +8622,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_188", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_188", @@ -8642,8 +8642,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_189", + "hasAction": true, "data": { "exportName": "aa_189__0", "exportMapKey": "9 * aa_189__0 ", @@ -8655,8 +8655,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_190", + "hasAction": true, "data": { "exportName": "aa_190__0", "exportMapKey": "9 * aa_190__0 ", @@ -8668,8 +8668,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_191", + "hasAction": true, "data": { "exportName": "aa_191__0", "exportMapKey": "9 * aa_191__0 ", @@ -8681,8 +8681,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_192", + "hasAction": true, "data": { "exportName": "aa_192__0", "exportMapKey": "9 * aa_192__0 ", @@ -8694,8 +8694,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_193", + "hasAction": true, "data": { "exportName": "aa_193__0", "exportMapKey": "9 * aa_193__0 ", @@ -8707,8 +8707,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_194", + "hasAction": true, "data": { "exportName": "aa_194__0", "exportMapKey": "9 * aa_194__0 ", @@ -8720,8 +8720,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_195", + "hasAction": true, "data": { "exportName": "aa_195__0", "exportMapKey": "9 * aa_195__0 ", @@ -8733,8 +8733,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_196", + "hasAction": true, "data": { "exportName": "aa_196__0", "exportMapKey": "9 * aa_196__0 ", @@ -8746,8 +8746,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_197", + "hasAction": true, "data": { "exportName": "aa_197__0", "exportMapKey": "9 * aa_197__0 ", @@ -8759,8 +8759,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_198", + "hasAction": true, "data": { "exportName": "aa_198__0", "exportMapKey": "9 * aa_198__0 ", @@ -8772,8 +8772,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_199", + "hasAction": true, "data": { "exportName": "aa_199__0", "exportMapKey": "9 * aa_199__0 ", @@ -8785,8 +8785,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_200", + "hasAction": true, "data": { "exportName": "aa_200__0", "exportMapKey": "9 * aa_200__0 ", @@ -8798,8 +8798,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_201", + "hasAction": true, "data": { "exportName": "aa_201__0", "exportMapKey": "9 * aa_201__0 ", @@ -8811,8 +8811,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_202", + "hasAction": true, "data": { "exportName": "aa_202__0", "exportMapKey": "9 * aa_202__0 ", @@ -8824,8 +8824,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_203", + "hasAction": true, "data": { "exportName": "aa_203__0", "exportMapKey": "9 * aa_203__0 ", @@ -8837,8 +8837,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_204", + "hasAction": true, "data": { "exportName": "aa_204__0", "exportMapKey": "9 * aa_204__0 ", @@ -8850,8 +8850,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_205", + "hasAction": true, "data": { "exportName": "aa_205__0", "exportMapKey": "9 * aa_205__0 ", @@ -8863,8 +8863,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_206", + "hasAction": true, "data": { "exportName": "aa_206__0", "exportMapKey": "9 * aa_206__0 ", @@ -8876,8 +8876,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_207", + "hasAction": true, "data": { "exportName": "aa_207__0", "exportMapKey": "9 * aa_207__0 ", @@ -8889,8 +8889,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_208", + "hasAction": true, "data": { "exportName": "aa_208__0", "exportMapKey": "9 * aa_208__0 ", @@ -8902,8 +8902,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_209", + "hasAction": true, "data": { "exportName": "aa_209__0", "exportMapKey": "9 * aa_209__0 ", @@ -8915,8 +8915,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_210", + "hasAction": true, "data": { "exportName": "aa_210__0", "exportMapKey": "9 * aa_210__0 ", @@ -8928,8 +8928,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_211", + "hasAction": true, "data": { "exportName": "aa_211__0", "exportMapKey": "9 * aa_211__0 ", @@ -8941,8 +8941,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_212", + "hasAction": true, "data": { "exportName": "aa_212__0", "exportMapKey": "9 * aa_212__0 ", @@ -8954,8 +8954,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_213", + "hasAction": true, "data": { "exportName": "aa_213__0", "exportMapKey": "9 * aa_213__0 ", @@ -8967,8 +8967,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_214", + "hasAction": true, "data": { "exportName": "aa_214__0", "exportMapKey": "9 * aa_214__0 ", @@ -8980,8 +8980,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_215", + "hasAction": true, "data": { "exportName": "aa_215__0", "exportMapKey": "9 * aa_215__0 ", @@ -8993,8 +8993,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_216", + "hasAction": true, "data": { "exportName": "aa_216__0", "exportMapKey": "9 * aa_216__0 ", @@ -9006,8 +9006,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_217", + "hasAction": true, "data": { "exportName": "aa_217__0", "exportMapKey": "9 * aa_217__0 ", @@ -9019,8 +9019,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_218", + "hasAction": true, "data": { "exportName": "aa_218__0", "exportMapKey": "9 * aa_218__0 ", @@ -9032,8 +9032,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_219", + "hasAction": true, "data": { "exportName": "aa_219__0", "exportMapKey": "9 * aa_219__0 ", @@ -9045,8 +9045,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_220", + "hasAction": true, "data": { "exportName": "aa_220__0", "exportMapKey": "9 * aa_220__0 ", @@ -9058,8 +9058,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_221", + "hasAction": true, "data": { "exportName": "aa_221__0", "exportMapKey": "9 * aa_221__0 ", @@ -9071,8 +9071,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_222", + "hasAction": true, "data": { "exportName": "aa_222__0", "exportMapKey": "9 * aa_222__0 ", @@ -9084,8 +9084,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_223", + "hasAction": true, "data": { "exportName": "aa_223__0", "exportMapKey": "9 * aa_223__0 ", @@ -9097,8 +9097,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_224", + "hasAction": true, "data": { "exportName": "aa_224__0", "exportMapKey": "9 * aa_224__0 ", @@ -9110,8 +9110,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_225", + "hasAction": true, "data": { "exportName": "aa_225__0", "exportMapKey": "9 * aa_225__0 ", @@ -9123,8 +9123,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_226", + "hasAction": true, "data": { "exportName": "aa_226__0", "exportMapKey": "9 * aa_226__0 ", @@ -9136,8 +9136,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_227", + "hasAction": true, "data": { "exportName": "aa_227__0", "exportMapKey": "9 * aa_227__0 ", @@ -9149,8 +9149,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_228", + "hasAction": true, "data": { "exportName": "aa_228__0", "exportMapKey": "9 * aa_228__0 ", @@ -9162,8 +9162,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_229", + "hasAction": true, "data": { "exportName": "aa_229__0", "exportMapKey": "9 * aa_229__0 ", @@ -9175,8 +9175,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_230", + "hasAction": true, "data": { "exportName": "aa_230__0", "exportMapKey": "9 * aa_230__0 ", @@ -9188,8 +9188,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_231", + "hasAction": true, "data": { "exportName": "aa_231__0", "exportMapKey": "9 * aa_231__0 ", @@ -9201,8 +9201,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_232", + "hasAction": true, "data": { "exportName": "aa_232__0", "exportMapKey": "9 * aa_232__0 ", @@ -9214,8 +9214,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_233", + "hasAction": true, "data": { "exportName": "aa_233__0", "exportMapKey": "9 * aa_233__0 ", @@ -9227,8 +9227,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_234", + "hasAction": true, "data": { "exportName": "aa_234__0", "exportMapKey": "9 * aa_234__0 ", @@ -9240,8 +9240,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_235", + "hasAction": true, "data": { "exportName": "aa_235__0", "exportMapKey": "9 * aa_235__0 ", @@ -9253,8 +9253,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_236", + "hasAction": true, "data": { "exportName": "aa_236__0", "exportMapKey": "9 * aa_236__0 ", @@ -9266,8 +9266,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_237", + "hasAction": true, "data": { "exportName": "aa_237__0", "exportMapKey": "9 * aa_237__0 ", @@ -9279,8 +9279,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_238", + "hasAction": true, "data": { "exportName": "aa_238__0", "exportMapKey": "9 * aa_238__0 ", @@ -9292,8 +9292,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_239", + "hasAction": true, "data": { "exportName": "aa_239__0", "exportMapKey": "9 * aa_239__0 ", @@ -9305,8 +9305,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_240", + "hasAction": true, "data": { "exportName": "aa_240__0", "exportMapKey": "9 * aa_240__0 ", @@ -9318,8 +9318,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_241", + "hasAction": true, "data": { "exportName": "aa_241__0", "exportMapKey": "9 * aa_241__0 ", @@ -9331,8 +9331,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_242", + "hasAction": true, "data": { "exportName": "aa_242__0", "exportMapKey": "9 * aa_242__0 ", @@ -9344,8 +9344,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_243", + "hasAction": true, "data": { "exportName": "aa_243__0", "exportMapKey": "9 * aa_243__0 ", @@ -9357,8 +9357,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_244", + "hasAction": true, "data": { "exportName": "aa_244__0", "exportMapKey": "9 * aa_244__0 ", @@ -9370,8 +9370,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_245", + "hasAction": true, "data": { "exportName": "aa_245__0", "exportMapKey": "9 * aa_245__0 ", @@ -9383,8 +9383,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_246", + "hasAction": true, "data": { "exportName": "aa_246__0", "exportMapKey": "9 * aa_246__0 ", @@ -9396,8 +9396,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_247", + "hasAction": true, "data": { "exportName": "aa_247__0", "exportMapKey": "9 * aa_247__0 ", @@ -9409,8 +9409,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_248", + "hasAction": true, "data": { "exportName": "aa_248__0", "exportMapKey": "9 * aa_248__0 ", @@ -9422,8 +9422,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_249", + "hasAction": true, "data": { "exportName": "aa_249__0", "exportMapKey": "9 * aa_249__0 ", @@ -11198,8 +11198,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -11218,8 +11218,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -11238,8 +11238,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -11258,8 +11258,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -11278,8 +11278,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -11298,8 +11298,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -11318,8 +11318,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -11338,8 +11338,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -11358,8 +11358,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -11378,8 +11378,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -11398,8 +11398,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -11418,8 +11418,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -11438,8 +11438,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -11458,8 +11458,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -11478,8 +11478,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -11498,8 +11498,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -11518,8 +11518,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -11538,8 +11538,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -11558,8 +11558,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -11578,8 +11578,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -11598,8 +11598,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -11618,8 +11618,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -11638,8 +11638,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -11658,8 +11658,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -11678,8 +11678,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -11698,8 +11698,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -11718,8 +11718,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -11738,8 +11738,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -11758,8 +11758,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -11778,8 +11778,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -11798,8 +11798,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -11818,8 +11818,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -11838,8 +11838,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -11858,8 +11858,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -11878,8 +11878,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -11898,8 +11898,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -11918,8 +11918,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -11938,8 +11938,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -11958,8 +11958,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -11978,8 +11978,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -11998,8 +11998,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -12018,8 +12018,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -12038,8 +12038,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -12058,8 +12058,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -12078,8 +12078,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -12098,8 +12098,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -12118,8 +12118,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -12138,8 +12138,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -12158,8 +12158,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -12178,8 +12178,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -12198,8 +12198,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_50", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_50", @@ -12218,8 +12218,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_51", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_51", @@ -12238,8 +12238,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_52", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_52", @@ -12258,8 +12258,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_53", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_53", @@ -12278,8 +12278,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_54", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_54", @@ -12298,8 +12298,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_55", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_55", @@ -12318,8 +12318,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_56", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_56", @@ -12338,8 +12338,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_57", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_57", @@ -12358,8 +12358,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_58", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_58", @@ -12378,8 +12378,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_59", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_59", @@ -12398,8 +12398,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_60", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_60", @@ -12418,8 +12418,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_61", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_61", @@ -12438,8 +12438,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_62", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_62", @@ -12458,8 +12458,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_63", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_63", @@ -12478,8 +12478,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_64", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_64", @@ -12498,8 +12498,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_65", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_65", @@ -12518,8 +12518,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_66", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_66", @@ -12538,8 +12538,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_67", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_67", @@ -12558,8 +12558,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_68", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_68", @@ -12578,8 +12578,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_69", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_69", @@ -12598,8 +12598,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_70", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_70", @@ -12618,8 +12618,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_71", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_71", @@ -12638,8 +12638,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_72", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_72", @@ -12658,8 +12658,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_73", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_73", @@ -12678,8 +12678,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_74", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_74", @@ -12698,8 +12698,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_75", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_75", @@ -12718,8 +12718,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_76", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_76", @@ -12738,8 +12738,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_77", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_77", @@ -12758,8 +12758,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_78", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_78", @@ -12778,8 +12778,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_79", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_79", @@ -12798,8 +12798,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_80", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_80", @@ -12818,8 +12818,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_81", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_81", @@ -12838,8 +12838,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_82", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_82", @@ -12858,8 +12858,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_83", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_83", @@ -12878,8 +12878,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_84", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_84", @@ -12898,8 +12898,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_85", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_85", @@ -12918,8 +12918,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_86", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_86", @@ -12938,8 +12938,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_87", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_87", @@ -12958,8 +12958,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_88", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_88", @@ -12978,8 +12978,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_89", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_89", @@ -12998,8 +12998,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_90", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_90", @@ -13018,8 +13018,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_91", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_91", @@ -13038,8 +13038,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_92", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_92", @@ -13058,8 +13058,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_93", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_93", @@ -13078,8 +13078,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_94", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_94", @@ -13098,8 +13098,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_95", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_95", @@ -13118,8 +13118,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_96", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_96", @@ -13138,8 +13138,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_97", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_97", @@ -13158,8 +13158,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_98", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_98", @@ -13178,8 +13178,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_99", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_99", @@ -13198,8 +13198,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_100", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_100", @@ -13218,8 +13218,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_101", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_101", @@ -13238,8 +13238,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_102", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_102", @@ -13258,8 +13258,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_103", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_103", @@ -13278,8 +13278,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_104", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_104", @@ -13298,8 +13298,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_105", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_105", @@ -13318,8 +13318,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_106", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_106", @@ -13338,8 +13338,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_107", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_107", @@ -13358,8 +13358,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_108", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_108", @@ -13378,8 +13378,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_109", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_109", @@ -13398,8 +13398,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_110", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_110", @@ -13418,8 +13418,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_111", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_111", @@ -13438,8 +13438,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_112", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_112", @@ -13458,8 +13458,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_113", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_113", @@ -13478,8 +13478,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_114", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_114", @@ -13498,8 +13498,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_115", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_115", @@ -13518,8 +13518,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_116", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_116", @@ -13538,8 +13538,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_117", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_117", @@ -13558,8 +13558,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_118", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_118", @@ -13578,8 +13578,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_119", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_119", @@ -13598,8 +13598,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_120", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_120", @@ -13618,8 +13618,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_121", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_121", @@ -13638,8 +13638,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_122", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_122", @@ -13658,8 +13658,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_123", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_123", @@ -13678,8 +13678,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_124", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_124", @@ -13698,8 +13698,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_125", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_125", @@ -13718,8 +13718,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_126", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_126", @@ -13738,8 +13738,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_127", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_127", @@ -13758,8 +13758,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_128", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_128", @@ -13778,8 +13778,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_129", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_129", @@ -13798,8 +13798,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_130", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_130", @@ -13818,8 +13818,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_131", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_131", @@ -13838,8 +13838,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_132", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_132", @@ -13858,8 +13858,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_133", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_133", @@ -13878,8 +13878,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_134", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_134", @@ -13898,8 +13898,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_135", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_135", @@ -13918,8 +13918,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_136", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_136", @@ -13938,8 +13938,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_137", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_137", @@ -13958,8 +13958,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_138", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_138", @@ -13978,8 +13978,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_139", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_139", @@ -13998,8 +13998,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_140", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_140", @@ -14018,8 +14018,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_141", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_141", @@ -14038,8 +14038,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_142", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_142", @@ -14058,8 +14058,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_143", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_143", @@ -14078,8 +14078,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_144", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_144", @@ -14098,8 +14098,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_145", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_145", @@ -14118,8 +14118,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_146", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_146", @@ -14138,8 +14138,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_147", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_147", @@ -14158,8 +14158,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_148", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_148", @@ -14178,8 +14178,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_149", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_149", @@ -14198,8 +14198,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_150", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_150", @@ -14218,8 +14218,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_151", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_151", @@ -14238,8 +14238,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_152", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_152", @@ -14258,8 +14258,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_153", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_153", @@ -14278,8 +14278,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_154", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_154", @@ -14298,8 +14298,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_155", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_155", @@ -14318,8 +14318,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_156", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_156", @@ -14338,8 +14338,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_157", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_157", @@ -14358,8 +14358,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_158", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_158", @@ -14378,8 +14378,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_159", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_159", @@ -14398,8 +14398,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_160", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_160", @@ -14418,8 +14418,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_161", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_161", @@ -14438,8 +14438,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_162", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_162", @@ -14458,8 +14458,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_163", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_163", @@ -14478,8 +14478,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_164", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_164", @@ -14498,8 +14498,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_165", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_165", @@ -14518,8 +14518,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_166", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_166", @@ -14538,8 +14538,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_167", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_167", @@ -14558,8 +14558,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_168", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_168", @@ -14578,8 +14578,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_169", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_169", @@ -14598,8 +14598,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_170", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_170", @@ -14618,8 +14618,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_171", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_171", @@ -14638,8 +14638,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_172", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_172", @@ -14658,8 +14658,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_173", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_173", @@ -14678,8 +14678,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_174", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_174", @@ -14698,8 +14698,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_175", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_175", @@ -14718,8 +14718,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_176", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_176", @@ -14738,8 +14738,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_177", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_177", @@ -14758,8 +14758,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_178", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_178", @@ -14778,8 +14778,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_179", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_179", @@ -14798,8 +14798,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_180", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_180", @@ -14818,8 +14818,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_181", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_181", @@ -14838,8 +14838,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_182", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_182", @@ -14858,8 +14858,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_183", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_183", @@ -14878,8 +14878,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_184", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_184", @@ -14898,8 +14898,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_185", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_185", @@ -14918,8 +14918,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_186", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_186", @@ -14938,8 +14938,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_187", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_187", @@ -14958,8 +14958,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_188", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_188", @@ -14978,8 +14978,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_189", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_189", @@ -14998,8 +14998,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_190", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_190", @@ -15018,8 +15018,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_191", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_191", @@ -15038,8 +15038,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_192", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_192", @@ -15058,8 +15058,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_193", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_193", @@ -15078,8 +15078,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_194", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_194", @@ -15098,8 +15098,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_195", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_195", @@ -15118,8 +15118,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_196", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_196", @@ -15138,8 +15138,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_197", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_197", @@ -15158,8 +15158,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_198", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_198", @@ -15178,8 +15178,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_199", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_199", @@ -15198,8 +15198,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_200", + "hasAction": true, "data": { "exportName": "aa_200__0", "exportMapKey": "9 * aa_200__0 ", @@ -15211,8 +15211,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_201", + "hasAction": true, "data": { "exportName": "aa_201__0", "exportMapKey": "9 * aa_201__0 ", @@ -15224,8 +15224,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_202", + "hasAction": true, "data": { "exportName": "aa_202__0", "exportMapKey": "9 * aa_202__0 ", @@ -15237,8 +15237,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_203", + "hasAction": true, "data": { "exportName": "aa_203__0", "exportMapKey": "9 * aa_203__0 ", @@ -15250,8 +15250,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_204", + "hasAction": true, "data": { "exportName": "aa_204__0", "exportMapKey": "9 * aa_204__0 ", @@ -15263,8 +15263,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_205", + "hasAction": true, "data": { "exportName": "aa_205__0", "exportMapKey": "9 * aa_205__0 ", @@ -15276,8 +15276,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_206", + "hasAction": true, "data": { "exportName": "aa_206__0", "exportMapKey": "9 * aa_206__0 ", @@ -15289,8 +15289,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_207", + "hasAction": true, "data": { "exportName": "aa_207__0", "exportMapKey": "9 * aa_207__0 ", @@ -15302,8 +15302,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_208", + "hasAction": true, "data": { "exportName": "aa_208__0", "exportMapKey": "9 * aa_208__0 ", @@ -15315,8 +15315,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_209", + "hasAction": true, "data": { "exportName": "aa_209__0", "exportMapKey": "9 * aa_209__0 ", @@ -15328,8 +15328,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_210", + "hasAction": true, "data": { "exportName": "aa_210__0", "exportMapKey": "9 * aa_210__0 ", @@ -15341,8 +15341,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_211", + "hasAction": true, "data": { "exportName": "aa_211__0", "exportMapKey": "9 * aa_211__0 ", @@ -15354,8 +15354,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_212", + "hasAction": true, "data": { "exportName": "aa_212__0", "exportMapKey": "9 * aa_212__0 ", @@ -15367,8 +15367,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_213", + "hasAction": true, "data": { "exportName": "aa_213__0", "exportMapKey": "9 * aa_213__0 ", @@ -15380,8 +15380,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_214", + "hasAction": true, "data": { "exportName": "aa_214__0", "exportMapKey": "9 * aa_214__0 ", @@ -15393,8 +15393,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_215", + "hasAction": true, "data": { "exportName": "aa_215__0", "exportMapKey": "9 * aa_215__0 ", @@ -15406,8 +15406,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_216", + "hasAction": true, "data": { "exportName": "aa_216__0", "exportMapKey": "9 * aa_216__0 ", @@ -15419,8 +15419,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_217", + "hasAction": true, "data": { "exportName": "aa_217__0", "exportMapKey": "9 * aa_217__0 ", @@ -15432,8 +15432,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_218", + "hasAction": true, "data": { "exportName": "aa_218__0", "exportMapKey": "9 * aa_218__0 ", @@ -15445,8 +15445,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_219", + "hasAction": true, "data": { "exportName": "aa_219__0", "exportMapKey": "9 * aa_219__0 ", @@ -15458,8 +15458,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_220", + "hasAction": true, "data": { "exportName": "aa_220__0", "exportMapKey": "9 * aa_220__0 ", @@ -15471,8 +15471,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_221", + "hasAction": true, "data": { "exportName": "aa_221__0", "exportMapKey": "9 * aa_221__0 ", @@ -15484,8 +15484,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_222", + "hasAction": true, "data": { "exportName": "aa_222__0", "exportMapKey": "9 * aa_222__0 ", @@ -15497,8 +15497,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_223", + "hasAction": true, "data": { "exportName": "aa_223__0", "exportMapKey": "9 * aa_223__0 ", @@ -15510,8 +15510,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_224", + "hasAction": true, "data": { "exportName": "aa_224__0", "exportMapKey": "9 * aa_224__0 ", @@ -15523,8 +15523,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_225", + "hasAction": true, "data": { "exportName": "aa_225__0", "exportMapKey": "9 * aa_225__0 ", @@ -15536,8 +15536,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_226", + "hasAction": true, "data": { "exportName": "aa_226__0", "exportMapKey": "9 * aa_226__0 ", @@ -15549,8 +15549,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_227", + "hasAction": true, "data": { "exportName": "aa_227__0", "exportMapKey": "9 * aa_227__0 ", @@ -15562,8 +15562,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_228", + "hasAction": true, "data": { "exportName": "aa_228__0", "exportMapKey": "9 * aa_228__0 ", @@ -15575,8 +15575,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_229", + "hasAction": true, "data": { "exportName": "aa_229__0", "exportMapKey": "9 * aa_229__0 ", @@ -15588,8 +15588,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_230", + "hasAction": true, "data": { "exportName": "aa_230__0", "exportMapKey": "9 * aa_230__0 ", @@ -15601,8 +15601,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_231", + "hasAction": true, "data": { "exportName": "aa_231__0", "exportMapKey": "9 * aa_231__0 ", @@ -15614,8 +15614,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_232", + "hasAction": true, "data": { "exportName": "aa_232__0", "exportMapKey": "9 * aa_232__0 ", @@ -15627,8 +15627,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_233", + "hasAction": true, "data": { "exportName": "aa_233__0", "exportMapKey": "9 * aa_233__0 ", @@ -15640,8 +15640,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_234", + "hasAction": true, "data": { "exportName": "aa_234__0", "exportMapKey": "9 * aa_234__0 ", @@ -15653,8 +15653,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_235", + "hasAction": true, "data": { "exportName": "aa_235__0", "exportMapKey": "9 * aa_235__0 ", @@ -15666,8 +15666,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_236", + "hasAction": true, "data": { "exportName": "aa_236__0", "exportMapKey": "9 * aa_236__0 ", @@ -15679,8 +15679,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_237", + "hasAction": true, "data": { "exportName": "aa_237__0", "exportMapKey": "9 * aa_237__0 ", @@ -15692,8 +15692,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_238", + "hasAction": true, "data": { "exportName": "aa_238__0", "exportMapKey": "9 * aa_238__0 ", @@ -15705,8 +15705,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_239", + "hasAction": true, "data": { "exportName": "aa_239__0", "exportMapKey": "9 * aa_239__0 ", @@ -15718,8 +15718,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_240", + "hasAction": true, "data": { "exportName": "aa_240__0", "exportMapKey": "9 * aa_240__0 ", @@ -15731,8 +15731,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_241", + "hasAction": true, "data": { "exportName": "aa_241__0", "exportMapKey": "9 * aa_241__0 ", @@ -15744,8 +15744,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_242", + "hasAction": true, "data": { "exportName": "aa_242__0", "exportMapKey": "9 * aa_242__0 ", @@ -15757,8 +15757,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_243", + "hasAction": true, "data": { "exportName": "aa_243__0", "exportMapKey": "9 * aa_243__0 ", @@ -15770,8 +15770,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_244", + "hasAction": true, "data": { "exportName": "aa_244__0", "exportMapKey": "9 * aa_244__0 ", @@ -15783,8 +15783,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_245", + "hasAction": true, "data": { "exportName": "aa_245__0", "exportMapKey": "9 * aa_245__0 ", @@ -15796,8 +15796,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_246", + "hasAction": true, "data": { "exportName": "aa_246__0", "exportMapKey": "9 * aa_246__0 ", @@ -15809,8 +15809,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_247", + "hasAction": true, "data": { "exportName": "aa_247__0", "exportMapKey": "9 * aa_247__0 ", @@ -15822,8 +15822,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_248", + "hasAction": true, "data": { "exportName": "aa_248__0", "exportMapKey": "9 * aa_248__0 ", @@ -15835,8 +15835,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/lib/a_249", + "hasAction": true, "data": { "exportName": "aa_249__0", "exportMapKey": "9 * aa_249__0 ", @@ -17610,8 +17610,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_0", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_0", @@ -17630,8 +17630,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_1", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_1", @@ -17650,8 +17650,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_2", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_2", @@ -17670,8 +17670,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_3", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_3", @@ -17690,8 +17690,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_4", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_4", @@ -17710,8 +17710,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_5", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_5", @@ -17730,8 +17730,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_6", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_6", @@ -17750,8 +17750,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_7", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_7", @@ -17770,8 +17770,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_8", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_8", @@ -17790,8 +17790,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_9", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_9", @@ -17810,8 +17810,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_10", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_10", @@ -17830,8 +17830,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_11", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_11", @@ -17850,8 +17850,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_12", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_12", @@ -17870,8 +17870,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_13", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_13", @@ -17890,8 +17890,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_14", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_14", @@ -17910,8 +17910,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_15", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_15", @@ -17930,8 +17930,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_16", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_16", @@ -17950,8 +17950,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_17", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_17", @@ -17970,8 +17970,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_18", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_18", @@ -17990,8 +17990,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_19", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_19", @@ -18010,8 +18010,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_20", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_20", @@ -18030,8 +18030,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_21", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_21", @@ -18050,8 +18050,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_22", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_22", @@ -18070,8 +18070,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_23", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_23", @@ -18090,8 +18090,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_24", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_24", @@ -18110,8 +18110,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_25", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_25", @@ -18130,8 +18130,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_26", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_26", @@ -18150,8 +18150,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_27", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_27", @@ -18170,8 +18170,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_28", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_28", @@ -18190,8 +18190,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_29", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_29", @@ -18210,8 +18210,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_30", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_30", @@ -18230,8 +18230,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_31", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_31", @@ -18250,8 +18250,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_32", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_32", @@ -18270,8 +18270,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_33", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_33", @@ -18290,8 +18290,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_34", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_34", @@ -18310,8 +18310,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_35", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_35", @@ -18330,8 +18330,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_36", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_36", @@ -18350,8 +18350,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_37", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_37", @@ -18370,8 +18370,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_38", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_38", @@ -18390,8 +18390,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_39", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_39", @@ -18410,8 +18410,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_40", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_40", @@ -18430,8 +18430,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_41", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_41", @@ -18450,8 +18450,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_42", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_42", @@ -18470,8 +18470,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_43", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_43", @@ -18490,8 +18490,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_44", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_44", @@ -18510,8 +18510,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_45", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_45", @@ -18530,8 +18530,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_46", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_46", @@ -18550,8 +18550,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_47", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_47", @@ -18570,8 +18570,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_48", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_48", @@ -18590,8 +18590,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_49", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_49", @@ -18610,8 +18610,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_50", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_50", @@ -18630,8 +18630,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_51", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_51", @@ -18650,8 +18650,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_52", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_52", @@ -18670,8 +18670,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_53", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_53", @@ -18690,8 +18690,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_54", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_54", @@ -18710,8 +18710,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_55", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_55", @@ -18730,8 +18730,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_56", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_56", @@ -18750,8 +18750,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_57", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_57", @@ -18770,8 +18770,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_58", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_58", @@ -18790,8 +18790,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_59", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_59", @@ -18810,8 +18810,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_60", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_60", @@ -18830,8 +18830,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_61", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_61", @@ -18850,8 +18850,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_62", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_62", @@ -18870,8 +18870,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_63", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_63", @@ -18890,8 +18890,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_64", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_64", @@ -18910,8 +18910,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_65", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_65", @@ -18930,8 +18930,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_66", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_66", @@ -18950,8 +18950,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_67", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_67", @@ -18970,8 +18970,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_68", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_68", @@ -18990,8 +18990,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_69", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_69", @@ -19010,8 +19010,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_70", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_70", @@ -19030,8 +19030,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_71", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_71", @@ -19050,8 +19050,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_72", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_72", @@ -19070,8 +19070,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_73", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_73", @@ -19090,8 +19090,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_74", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_74", @@ -19110,8 +19110,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_75", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_75", @@ -19130,8 +19130,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_76", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_76", @@ -19150,8 +19150,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_77", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_77", @@ -19170,8 +19170,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_78", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_78", @@ -19190,8 +19190,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_79", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_79", @@ -19210,8 +19210,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_80", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_80", @@ -19230,8 +19230,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_81", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_81", @@ -19250,8 +19250,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_82", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_82", @@ -19270,8 +19270,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_83", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_83", @@ -19290,8 +19290,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_84", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_84", @@ -19310,8 +19310,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_85", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_85", @@ -19330,8 +19330,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_86", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_86", @@ -19350,8 +19350,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_87", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_87", @@ -19370,8 +19370,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_88", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_88", @@ -19390,8 +19390,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_89", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_89", @@ -19410,8 +19410,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_90", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_90", @@ -19430,8 +19430,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_91", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_91", @@ -19450,8 +19450,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_92", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_92", @@ -19470,8 +19470,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_93", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_93", @@ -19490,8 +19490,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_94", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_94", @@ -19510,8 +19510,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_95", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_95", @@ -19530,8 +19530,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_96", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_96", @@ -19550,8 +19550,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_97", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_97", @@ -19570,8 +19570,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_98", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_98", @@ -19590,8 +19590,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_99", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_99", @@ -19610,8 +19610,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_100", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_100", @@ -19630,8 +19630,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_101", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_101", @@ -19650,8 +19650,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_102", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_102", @@ -19670,8 +19670,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_103", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_103", @@ -19690,8 +19690,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_104", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_104", @@ -19710,8 +19710,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_105", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_105", @@ -19730,8 +19730,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_106", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_106", @@ -19750,8 +19750,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_107", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_107", @@ -19770,8 +19770,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_108", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_108", @@ -19790,8 +19790,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_109", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_109", @@ -19810,8 +19810,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_110", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_110", @@ -19830,8 +19830,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_111", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_111", @@ -19850,8 +19850,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_112", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_112", @@ -19870,8 +19870,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_113", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_113", @@ -19890,8 +19890,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_114", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_114", @@ -19910,8 +19910,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_115", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_115", @@ -19930,8 +19930,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_116", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_116", @@ -19950,8 +19950,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_117", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_117", @@ -19970,8 +19970,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_118", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_118", @@ -19990,8 +19990,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_119", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_119", @@ -20010,8 +20010,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_120", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_120", @@ -20030,8 +20030,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_121", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_121", @@ -20050,8 +20050,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_122", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_122", @@ -20070,8 +20070,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_123", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_123", @@ -20090,8 +20090,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_124", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_124", @@ -20110,8 +20110,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_125", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_125", @@ -20130,8 +20130,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_126", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_126", @@ -20150,8 +20150,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_127", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_127", @@ -20170,8 +20170,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_128", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_128", @@ -20190,8 +20190,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_129", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_129", @@ -20210,8 +20210,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_130", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_130", @@ -20230,8 +20230,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_131", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_131", @@ -20250,8 +20250,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_132", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_132", @@ -20270,8 +20270,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_133", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_133", @@ -20290,8 +20290,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_134", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_134", @@ -20310,8 +20310,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_135", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_135", @@ -20330,8 +20330,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_136", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_136", @@ -20350,8 +20350,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_137", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_137", @@ -20370,8 +20370,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_138", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_138", @@ -20390,8 +20390,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_139", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_139", @@ -20410,8 +20410,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_140", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_140", @@ -20430,8 +20430,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_141", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_141", @@ -20450,8 +20450,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_142", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_142", @@ -20470,8 +20470,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_143", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_143", @@ -20490,8 +20490,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_144", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_144", @@ -20510,8 +20510,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_145", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_145", @@ -20530,8 +20530,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_146", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_146", @@ -20550,8 +20550,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_147", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_147", @@ -20570,8 +20570,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_148", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_148", @@ -20590,8 +20590,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_149", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_149", @@ -20610,8 +20610,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_150", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_150", @@ -20630,8 +20630,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_151", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_151", @@ -20650,8 +20650,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_152", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_152", @@ -20670,8 +20670,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_153", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_153", @@ -20690,8 +20690,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_154", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_154", @@ -20710,8 +20710,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_155", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_155", @@ -20730,8 +20730,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_156", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_156", @@ -20750,8 +20750,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_157", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_157", @@ -20770,8 +20770,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_158", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_158", @@ -20790,8 +20790,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_159", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_159", @@ -20810,8 +20810,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_160", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_160", @@ -20830,8 +20830,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_161", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_161", @@ -20850,8 +20850,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_162", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_162", @@ -20870,8 +20870,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_163", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_163", @@ -20890,8 +20890,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_164", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_164", @@ -20910,8 +20910,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_165", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_165", @@ -20930,8 +20930,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_166", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_166", @@ -20950,8 +20950,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_167", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_167", @@ -20970,8 +20970,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_168", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_168", @@ -20990,8 +20990,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_169", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_169", @@ -21010,8 +21010,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_170", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_170", @@ -21030,8 +21030,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_171", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_171", @@ -21050,8 +21050,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_172", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_172", @@ -21070,8 +21070,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_173", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_173", @@ -21090,8 +21090,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_174", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_174", @@ -21110,8 +21110,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_175", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_175", @@ -21130,8 +21130,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_176", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_176", @@ -21150,8 +21150,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_177", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_177", @@ -21170,8 +21170,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_178", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_178", @@ -21190,8 +21190,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_179", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_179", @@ -21210,8 +21210,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_180", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_180", @@ -21230,8 +21230,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_181", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_181", @@ -21250,8 +21250,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_182", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_182", @@ -21270,8 +21270,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_183", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_183", @@ -21290,8 +21290,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_184", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_184", @@ -21310,8 +21310,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_185", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_185", @@ -21330,8 +21330,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_186", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_186", @@ -21350,8 +21350,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_187", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_187", @@ -21370,8 +21370,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_188", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_188", @@ -21390,8 +21390,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_189", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_189", @@ -21410,8 +21410,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_190", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_190", @@ -21430,8 +21430,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_191", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_191", @@ -21450,8 +21450,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_192", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_192", @@ -21470,8 +21470,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_193", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_193", @@ -21490,8 +21490,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_194", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_194", @@ -21510,8 +21510,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_195", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_195", @@ -21530,8 +21530,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_196", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_196", @@ -21550,8 +21550,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_197", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_197", @@ -21570,8 +21570,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_198", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_198", @@ -21590,8 +21590,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_199", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_199", @@ -21610,8 +21610,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_200", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_200", @@ -21630,8 +21630,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_201", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_201", @@ -21650,8 +21650,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_202", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_202", @@ -21670,8 +21670,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_203", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_203", @@ -21690,8 +21690,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_204", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_204", @@ -21710,8 +21710,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_205", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_205", @@ -21730,8 +21730,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_206", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_206", @@ -21750,8 +21750,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_207", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_207", @@ -21770,8 +21770,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_208", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_208", @@ -21790,8 +21790,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_209", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_209", @@ -21810,8 +21810,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_210", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_210", @@ -21830,8 +21830,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_211", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_211", @@ -21850,8 +21850,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_212", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_212", @@ -21870,8 +21870,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_213", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_213", @@ -21890,8 +21890,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_214", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_214", @@ -21910,8 +21910,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_215", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_215", @@ -21930,8 +21930,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_216", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_216", @@ -21950,8 +21950,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_217", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_217", @@ -21970,8 +21970,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_218", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_218", @@ -21990,8 +21990,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_219", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_219", @@ -22010,8 +22010,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_220", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_220", @@ -22030,8 +22030,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_221", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_221", @@ -22050,8 +22050,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_222", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_222", @@ -22070,8 +22070,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_223", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_223", @@ -22090,8 +22090,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_224", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_224", @@ -22110,8 +22110,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_225", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_225", @@ -22130,8 +22130,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_226", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_226", @@ -22150,8 +22150,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_227", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_227", @@ -22170,8 +22170,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_228", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_228", @@ -22190,8 +22190,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_229", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_229", @@ -22210,8 +22210,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_230", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_230", @@ -22230,8 +22230,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_231", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_231", @@ -22250,8 +22250,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_232", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_232", @@ -22270,8 +22270,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_233", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_233", @@ -22290,8 +22290,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_234", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_234", @@ -22310,8 +22310,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_235", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_235", @@ -22330,8 +22330,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_236", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_236", @@ -22350,8 +22350,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_237", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_237", @@ -22370,8 +22370,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_238", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_238", @@ -22390,8 +22390,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_239", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_239", @@ -22410,8 +22410,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_240", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_240", @@ -22430,8 +22430,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_241", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_241", @@ -22450,8 +22450,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_242", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_242", @@ -22470,8 +22470,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_243", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_243", @@ -22490,8 +22490,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_244", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_244", @@ -22510,8 +22510,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_245", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_245", @@ -22530,8 +22530,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_246", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_246", @@ -22550,8 +22550,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_247", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_247", @@ -22570,8 +22570,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_248", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_248", @@ -22590,8 +22590,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "./lib/a_249", + "hasAction": true, "sourceDisplay": [ { "text": "./lib/a_249", diff --git a/tests/baselines/reference/tsserver/exportMapCache/caches-auto-imports-in-the-same-file.js b/tests/baselines/reference/tsserver/exportMapCache/caches-auto-imports-in-the-same-file.js index 2ddfc1bd386..a4a294f32d3 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/caches-auto-imports-in-the-same-file.js +++ b/tests/baselines/reference/tsserver/exportMapCache/caches-auto-imports-in-the-same-file.js @@ -446,8 +446,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", diff --git a/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-package.json-is-changed-inconsequentially.js b/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-package.json-is-changed-inconsequentially.js index b4666aa41b0..c8a5befff99 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-package.json-is-changed-inconsequentially.js +++ b/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-package.json-is-changed-inconsequentially.js @@ -446,8 +446,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", diff --git a/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially-referencedInProject.js b/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially-referencedInProject.js index b27cba8db36..8f76fafdaa7 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially-referencedInProject.js +++ b/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially-referencedInProject.js @@ -509,8 +509,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/packages/lib/index", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", diff --git a/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially.js b/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially.js index fc363d52079..ff509b8f6ca 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially.js +++ b/tests/baselines/reference/tsserver/exportMapCache/does-not-invalidate-the-cache-when-referenced-project-changes-inconsequentially.js @@ -516,8 +516,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/packages/lib/index", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "foo", diff --git a/tests/baselines/reference/tsserver/exportMapCache/does-not-store-transient-symbols-through-program-updates.js b/tests/baselines/reference/tsserver/exportMapCache/does-not-store-transient-symbols-through-program-updates.js index c517b823263..29f5b922233 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/does-not-store-transient-symbols-through-program-updates.js +++ b/tests/baselines/reference/tsserver/exportMapCache/does-not-store-transient-symbols-through-program-updates.js @@ -446,8 +446,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", diff --git a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-a-file-is-opened-with-different-contents.js b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-a-file-is-opened-with-different-contents.js index ea9e22168b7..2d910e6fd0e 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-a-file-is-opened-with-different-contents.js +++ b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-a-file-is-opened-with-different-contents.js @@ -297,10 +297,10 @@ Info seq [hh:mm:ss:mss] response: "kind": "method", "kindModifiers": "abstract", "sortText": "11", - "insertText": "render(): Element {\n}", - "filterText": "render", + "source": "ClassMemberSnippet/", "hasAction": true, - "source": "ClassMemberSnippet/" + "insertText": "render(): Element {\n}", + "filterText": "render" }, { "name": "abstract", @@ -573,10 +573,10 @@ Info seq [hh:mm:ss:mss] response: "kind": "method", "kindModifiers": "abstract", "sortText": "11", - "insertText": "render2(): Element {\n}", - "filterText": "render2", + "source": "ClassMemberSnippet/", "hasAction": true, - "source": "ClassMemberSnippet/" + "insertText": "render2(): Element {\n}", + "filterText": "render2" }, { "name": "abstract", diff --git a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-files-are-deleted.js b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-files-are-deleted.js index 6968fff60b0..e4e565a46b4 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-files-are-deleted.js +++ b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-files-are-deleted.js @@ -446,8 +446,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", diff --git a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-new-files-are-added.js b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-new-files-are-added.js index 06c5f6d2738..57886986a16 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-new-files-are-added.js +++ b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-new-files-are-added.js @@ -446,8 +446,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", diff --git a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-package.json-change-results-in-AutoImportProvider-change.js b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-package.json-change-results-in-AutoImportProvider-change.js index 91801ea76c5..4ae3e6a63cc 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-package.json-change-results-in-AutoImportProvider-change.js +++ b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-package.json-change-results-in-AutoImportProvider-change.js @@ -446,8 +446,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", diff --git a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures-referencedInProject.js b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures-referencedInProject.js index 1ef2f568377..1a4c615ee04 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures-referencedInProject.js +++ b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures-referencedInProject.js @@ -509,8 +509,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/packages/lib/index", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", @@ -660,8 +660,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/packages/lib/index", + "hasAction": true, "data": { "exportName": "food", "exportMapKey": "4 * food ", diff --git a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures.js b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures.js index cc2665fc69c..7cc8291bf1a 100644 --- a/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures.js +++ b/tests/baselines/reference/tsserver/exportMapCache/invalidates-the-cache-when-referenced-project-changes-signatures.js @@ -516,8 +516,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/packages/lib/index", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "foo", @@ -672,8 +672,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/packages/lib/index", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "food", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider3.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider3.js index 776852b96e8..2dde8478596 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider3.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider3.js @@ -865,8 +865,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "/node_modules/common-dependency/index", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "CommonDependency", @@ -880,8 +880,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "/node_modules/package-dependency/index", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "PackageDependency", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js index f32f04a7be8..411f474e488 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js @@ -1789,8 +1789,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "/node_modules/@types/react/index", + "hasAction": true, "data": { "exportName": "Component", "exportMapKey": "9 * Component ", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider7.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider7.js index b10b6be2858..096330fdbda 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider7.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider7.js @@ -1208,8 +1208,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "mylib", + "hasAction": true, "sourceDisplay": [ { "text": "mylib", @@ -1228,8 +1228,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "mylib", + "hasAction": true, "sourceDisplay": [ { "text": "mylib", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider8.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider8.js index 4f892b9479a..94a735cb64e 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider8.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider8.js @@ -1208,8 +1208,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "mylib", + "hasAction": true, "sourceDisplay": [ { "text": "mylib", @@ -1228,8 +1228,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "mylib", + "hasAction": true, "sourceDisplay": [ { "text": "mylib", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap1.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap1.js index 7931d8d370f..23930a456eb 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap1.js @@ -1056,8 +1056,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "dependency", + "hasAction": true, "sourceDisplay": [ { "text": "dependency", @@ -1078,8 +1078,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "dependency/lol", + "hasAction": true, "sourceDisplay": [ { "text": "dependency/lol", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js index fbfc604304f..44305cd8705 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js @@ -1104,8 +1104,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "dependency", + "hasAction": true, "sourceDisplay": [ { "text": "dependency", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js index 56f9b316706..94767fceda3 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js @@ -1104,8 +1104,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "dependency", + "hasAction": true, "sourceDisplay": [ { "text": "dependency", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap4.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap4.js index 2219024b017..fa7adc4ef75 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap4.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap4.js @@ -1047,8 +1047,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "dependency", + "hasAction": true, "sourceDisplay": [ { "text": "dependency", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap5.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap5.js index 9affb676d51..c98c5216e22 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap5.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap5.js @@ -1095,8 +1095,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "dependency", + "hasAction": true, "sourceDisplay": [ { "text": "dependency", @@ -1115,8 +1115,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "dependency/lol", + "hasAction": true, "sourceDisplay": [ { "text": "dependency/lol", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap6.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap6.js index 2df185f84be..51e72004668 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap6.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap6.js @@ -1103,8 +1103,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "dependency", + "hasAction": true, "sourceDisplay": [ { "text": "dependency", @@ -1123,8 +1123,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "dependency/lol", + "hasAction": true, "sourceDisplay": [ { "text": "dependency/lol", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap7.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap7.js index 4bbcf60d1d0..65bc82cbe39 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap7.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap7.js @@ -1094,8 +1094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "dependency", + "hasAction": true, "sourceDisplay": [ { "text": "dependency", @@ -1114,8 +1114,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "dependency/lol", + "hasAction": true, "sourceDisplay": [ { "text": "dependency/lol", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap8.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap8.js index 6b9d3c6d4db..a9719baf147 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap8.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap8.js @@ -1094,8 +1094,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "dependency/lol", + "hasAction": true, "sourceDisplay": [ { "text": "dependency/lol", @@ -2041,8 +2041,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "dependency/lol", + "hasAction": true, "sourceDisplay": [ { "text": "dependency/lol", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap9.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap9.js index c618f4f1da2..705a96b86ed 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap9.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap9.js @@ -1067,8 +1067,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "dependency/lol", + "hasAction": true, "sourceDisplay": [ { "text": "dependency/lol", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_globalTypingsCache.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_globalTypingsCache.js index c1b8e3de03b..7e68831aaca 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_globalTypingsCache.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_globalTypingsCache.js @@ -990,8 +990,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "react-router-dom", + "hasAction": true, "sourceDisplay": [ { "text": "react-router-dom", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_namespaceSameNameAsIntrinsic.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_namespaceSameNameAsIntrinsic.js index 32946e58338..644a1aa1d29 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_namespaceSameNameAsIntrinsic.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_namespaceSameNameAsIntrinsic.js @@ -1227,8 +1227,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "type", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "fp-ts/lib/string", + "hasAction": true, "sourceDisplay": [ { "text": "fp-ts/lib/string", @@ -1249,8 +1249,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "alias", "kindModifiers": "declare", "sortText": "16", - "hasAction": true, "source": "fp-ts", + "hasAction": true, "sourceDisplay": [ { "text": "fp-ts", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports1.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports1.js index c509173f6bd..e2d5c70f4a4 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports1.js @@ -1112,8 +1112,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "pkg/a1", + "hasAction": true, "sourceDisplay": [ { "text": "pkg/a1", @@ -1134,8 +1134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "pkg/b/b1.js", + "hasAction": true, "sourceDisplay": [ { "text": "pkg/b/b1.js", @@ -1156,8 +1156,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "pkg/c/c1.js", + "hasAction": true, "sourceDisplay": [ { "text": "pkg/c/c1.js", @@ -1178,8 +1178,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "pkg/c/subfolder/c2.mjs", + "hasAction": true, "sourceDisplay": [ { "text": "pkg/c/subfolder/c2.mjs", @@ -1200,8 +1200,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "pkg/d/d1", + "hasAction": true, "sourceDisplay": [ { "text": "pkg/d/d1", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports2.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports2.js index 6ac6c21a97a..0983a25b837 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports2.js @@ -1040,8 +1040,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "pkg/core/test", + "hasAction": true, "sourceDisplay": [ { "text": "pkg/core/test", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports3.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports3.js index fe5b62f01fe..62487d91fcc 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports3.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_wildcardExports3.js @@ -671,8 +671,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "@repo/ui/Card", + "hasAction": true, "sourceDisplay": [ { "text": "@repo/ui/Card", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js index 9e64b4bae7d..ac0a6cf266b 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js @@ -1045,8 +1045,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "fs", + "hasAction": true, "sourceDisplay": [ { "text": "fs", @@ -1065,8 +1065,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "fs-extra", + "hasAction": true, "sourceDisplay": [ { "text": "fs-extra", diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportSymlinkedJsPackages.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportSymlinkedJsPackages.js index 619afb166eb..73ceaf2f73e 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportSymlinkedJsPackages.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportSymlinkedJsPackages.js @@ -882,8 +882,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "package-b", + "hasAction": true, "sourceDisplay": [ { "text": "package-b", diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles01.js b/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles01.js index 1e74948c6c6..40048d1993b 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles01.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles01.js @@ -714,6 +714,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -721,6 +722,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles02.js b/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles02.js index 996466b97a3..f756e8dde43 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles02.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionEntryDetailAcrossFiles02.js @@ -720,6 +720,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -727,6 +728,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_addToNamedWithDifferentCacheValue.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_addToNamedWithDifferentCacheValue.js index 5a6b2ef4214..5de871b5aa4 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_addToNamedWithDifferentCacheValue.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_addToNamedWithDifferentCacheValue.js @@ -1134,8 +1134,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "../packages/mylib", + "hasAction": true, "sourceDisplay": [ { "text": "../packages/mylib", @@ -1154,8 +1154,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "../packages/mylib", + "hasAction": true, "sourceDisplay": [ { "text": "../packages/mylib", @@ -4978,8 +4978,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "class", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "mylib", + "hasAction": true, "sourceDisplay": [ { "text": "mylib", diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_defaultAndNamedConflict_server.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_defaultAndNamedConflict_server.js index 54d9ee44e23..0b0dfd17ec6 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_defaultAndNamedConflict_server.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_defaultAndNamedConflict_server.js @@ -738,8 +738,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "property", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/someModule", + "hasAction": true, "data": { "exportName": "default", "exportMapKey": "10 * someModule ", @@ -751,8 +751,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/someModule", + "hasAction": true, "data": { "exportName": "someModule", "exportMapKey": "10 * someModule ", diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js index e999902042b..b8422d79e5b 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_jsModuleExportsAssignment.js @@ -1060,8 +1060,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "property", "kindModifiers": "", "sortText": "16", - "hasAction": true, "source": "/third_party/marked/src/defaults", + "hasAction": true, "data": { "exportName": "changeDefaults", "exportMapKey": "14 * changeDefaults ", @@ -1073,8 +1073,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "property", "kindModifiers": "", "sortText": "16", - "hasAction": true, "source": "/third_party/marked/src/defaults", + "hasAction": true, "data": { "exportName": "export=", "exportMapKey": "8 * defaults ", @@ -1086,8 +1086,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "alias", "kindModifiers": "", "sortText": "16", - "hasAction": true, "source": "/third_party/marked/src/defaults", + "hasAction": true, "data": { "exportName": "defaults", "exportMapKey": "8 * defaults ", @@ -1099,8 +1099,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "property", "kindModifiers": "", "sortText": "16", - "hasAction": true, "source": "/third_party/marked/src/defaults", + "hasAction": true, "data": { "exportName": "getDefaults", "exportMapKey": "11 * getDefaults ", @@ -1984,8 +1984,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "property", "kindModifiers": "", "sortText": "16", - "hasAction": true, "source": "/third_party/marked/src/defaults", + "hasAction": true, "data": { "exportName": "changeDefaults", "exportMapKey": "14 * changeDefaults ", @@ -1997,8 +1997,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "property", "kindModifiers": "", "sortText": "16", - "hasAction": true, "source": "/third_party/marked/src/defaults", + "hasAction": true, "data": { "exportName": "export=", "exportMapKey": "8 * defaults ", @@ -2010,8 +2010,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "alias", "kindModifiers": "", "sortText": "16", - "hasAction": true, "source": "/third_party/marked/src/defaults", + "hasAction": true, "data": { "exportName": "defaults", "exportMapKey": "8 * defaults ", @@ -2023,8 +2023,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "property", "kindModifiers": "", "sortText": "16", - "hasAction": true, "source": "/third_party/marked/src/defaults", + "hasAction": true, "data": { "exportName": "getDefaults", "exportMapKey": "11 * getDefaults ", diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_mergedReExport.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_mergedReExport.js index a23f10f72a9..7b6c42054d4 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_mergedReExport.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_mergedReExport.js @@ -1116,8 +1116,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "alias", "kindModifiers": "declare", "sortText": "16", - "hasAction": true, "source": "/node_modules/@jest/types/index", + "hasAction": true, "isPackageJsonImport": true, "data": { "exportName": "Config", @@ -2106,8 +2106,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "alias", "kindModifiers": "declare", "sortText": "16", - "hasAction": true, "source": "@jest/types", + "hasAction": true, "sourceDisplay": [ { "text": "@jest/types", diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_sortingModuleSpecifiers.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_sortingModuleSpecifiers.js index d83511e6d84..47a4af1eac5 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_sortingModuleSpecifiers.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_sortingModuleSpecifiers.js @@ -1058,8 +1058,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "path", + "hasAction": true, "sourceDisplay": [ { "text": "path", @@ -1078,8 +1078,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "path/posix", + "hasAction": true, "sourceDisplay": [ { "text": "path/posix", @@ -1098,8 +1098,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "path/win32", + "hasAction": true, "sourceDisplay": [ { "text": "path/win32", diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsOverridingMethodCrash2.js b/tests/baselines/reference/tsserver/fourslashServer/completionsOverridingMethodCrash2.js index 3e36e5d8830..910b66c3723 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsOverridingMethodCrash2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsOverridingMethodCrash2.js @@ -383,11 +383,11 @@ Info seq [hh:mm:ss:mss] response: "kind": "method", "kindModifiers": "abstract", "sortText": "11", + "source": "ClassMemberSnippet/", + "hasAction": true, "insertText": "render(): Element {\r\n $0\r\n}", "filterText": "render", - "isSnippet": true, - "hasAction": true, - "source": "ClassMemberSnippet/" + "isSnippet": true }, { "name": "abstract", @@ -728,11 +728,11 @@ Info seq [hh:mm:ss:mss] response: "kind": "method", "kindModifiers": "abstract", "sortText": "11", + "source": "ClassMemberSnippet/", + "hasAction": true, "insertText": "render(): Element {\r\n $0\r\n}", "filterText": "render", - "isSnippet": true, - "hasAction": true, - "source": "ClassMemberSnippet/" + "isSnippet": true }, { "name": "abstract", diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsServerCommitCharacters.js b/tests/baselines/reference/tsserver/fourslashServer/completionsServerCommitCharacters.js index b505a619ddb..06ec17e8f42 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsServerCommitCharacters.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsServerCommitCharacters.js @@ -131,8 +131,8 @@ Info seq [hh:mm:ss:mss] response: "entries": [ { "name": "aa", - "kind": "string", "kindModifiers": "", + "kind": "string", "sortText": "11", "replacementSpan": { "start": { @@ -148,8 +148,8 @@ Info seq [hh:mm:ss:mss] response: }, { "name": "bb", - "kind": "string", "kindModifiers": "", + "kind": "string", "sortText": "11", "replacementSpan": { "start": { diff --git a/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js b/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js index 22019960254..2756d4732d0 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js @@ -370,6 +370,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "11", + "source": "react", "insertText": "import { Component$1 } from \"react\";", "replacementSpan": { "start": { @@ -381,14 +382,13 @@ Info seq [hh:mm:ss:mss] response: "offset": 11 } }, - "isSnippet": true, - "source": "react", "sourceDisplay": [ { "text": "react", "kind": "text" } ], + "isSnippet": true, "isImportStatementCompletion": true, "data": { "exportName": "Component", diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_ambient.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_ambient.js index 5c17be775fd..d6fbb1ea1a3 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_ambient.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_ambient.js @@ -993,8 +993,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient", + "hasAction": true, "sourceDisplay": [ { "text": "ambient", @@ -5399,8 +5399,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient", + "hasAction": true, "sourceDisplay": [ { "text": "ambient", @@ -7551,8 +7551,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient", + "hasAction": true, "sourceDisplay": [ { "text": "ambient", @@ -8306,8 +8306,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "ambient", + "hasAction": true, "sourceDisplay": [ { "text": "ambient", diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js index 4f458bd8f42..79d1c3ef7e0 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js @@ -4086,8 +4086,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "fs", + "hasAction": true, "sourceDisplay": [ { "text": "fs", diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_exportUndefined.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_exportUndefined.js index 8599b1d05e0..e6ca00b5d71 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_exportUndefined.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_exportUndefined.js @@ -1020,8 +1020,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "", "sortText": "16", - "hasAction": true, "source": "/undefinedAlias", + "hasAction": true, "data": { "exportName": "export=", "exportMapKey": "1 * x ", @@ -1748,8 +1748,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "", "sortText": "16", - "hasAction": true, "source": "/undefinedAlias", + "hasAction": true, "data": { "exportName": "export=", "exportMapKey": "1 * x ", diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js index c6edd47b813..4ed5681a847 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js @@ -910,8 +910,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "fs", + "hasAction": true, "sourceDisplay": [ { "text": "fs", diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js index b82a11962fa..3c334cafc94 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js @@ -1020,8 +1020,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "/node_modules/@types/react/index", + "hasAction": true, "data": { "exportName": "useBlah", "exportMapKey": "7 * useBlah ", @@ -1033,8 +1033,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "/node_modules/@types/react/index", + "hasAction": true, "data": { "exportName": "useState", "exportMapKey": "8 * useState ", @@ -1772,8 +1772,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "/node_modules/@types/react/index", + "hasAction": true, "data": { "exportName": "useBlah", "exportMapKey": "7 * useBlah ", @@ -1785,8 +1785,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "/node_modules/@types/react/index", + "hasAction": true, "data": { "exportName": "useState", "exportMapKey": "8 * useState ", @@ -4999,8 +4999,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "/node_modules/@types/react/index", + "hasAction": true, "data": { "exportName": "useState", "exportMapKey": "8 * useState ", @@ -5012,8 +5012,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "/node_modules/@types/react/index", + "hasAction": true, "data": { "exportName": "useYes", "exportMapKey": "6 * useYes ", @@ -5761,8 +5761,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "/node_modules/@types/react/index", + "hasAction": true, "data": { "exportName": "useState", "exportMapKey": "8 * useState ", @@ -5774,8 +5774,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "16", - "hasAction": true, "source": "/node_modules/@types/react/index", + "hasAction": true, "data": { "exportName": "useYes", "exportMapKey": "6 * useYes ", diff --git a/tests/baselines/reference/tsserver/fourslashServer/jsdocParamTagSpecialKeywords.js b/tests/baselines/reference/tsserver/fourslashServer/jsdocParamTagSpecialKeywords.js index 7366fda1517..f3775d47143 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/jsdocParamTagSpecialKeywords.js +++ b/tests/baselines/reference/tsserver/fourslashServer/jsdocParamTagSpecialKeywords.js @@ -297,6 +297,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -304,6 +305,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { diff --git a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag.js b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag.js index 96aab573473..f9ffa6b1319 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag.js +++ b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag.js @@ -362,6 +362,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -369,6 +370,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -376,6 +378,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -383,6 +386,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -390,6 +394,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -397,6 +402,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -404,6 +410,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -411,6 +418,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -418,6 +426,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -425,6 +434,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -432,6 +442,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -439,6 +450,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -446,6 +458,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -453,6 +466,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -460,6 +474,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -467,6 +482,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -474,6 +490,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -481,6 +498,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -561,6 +579,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -568,6 +587,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -575,6 +595,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -582,6 +603,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -589,6 +611,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -596,6 +619,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -603,6 +627,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -610,6 +635,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -617,6 +643,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -624,6 +651,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -631,6 +659,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -638,6 +667,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -645,6 +675,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -652,6 +683,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -659,6 +691,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -666,6 +699,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] } ], @@ -848,6 +882,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -855,6 +890,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -862,6 +898,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -869,6 +906,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -876,6 +914,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -883,6 +922,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -890,6 +930,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -897,6 +938,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -904,6 +946,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -911,6 +954,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -918,6 +962,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -925,6 +970,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -932,6 +978,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -939,6 +986,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -946,6 +994,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -953,6 +1002,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -960,6 +1010,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -967,6 +1018,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1071,6 +1123,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1078,6 +1131,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1085,6 +1139,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1092,6 +1147,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1099,6 +1155,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1106,6 +1163,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1113,6 +1171,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1120,6 +1179,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1127,6 +1187,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1134,6 +1195,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1141,6 +1203,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1148,6 +1211,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1155,6 +1219,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1162,6 +1227,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1169,6 +1235,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1176,6 +1243,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1183,6 +1251,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1190,6 +1259,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] } ], @@ -1264,6 +1334,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1271,6 +1342,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1278,6 +1350,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1285,6 +1358,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1292,6 +1366,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1299,6 +1374,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1306,6 +1382,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1313,6 +1390,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1320,6 +1398,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1327,6 +1406,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1334,6 +1414,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1341,6 +1422,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1348,6 +1430,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1355,6 +1438,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1362,6 +1446,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1369,6 +1454,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] } ], @@ -1551,6 +1637,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1558,6 +1645,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1565,6 +1653,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1572,6 +1661,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1579,6 +1669,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1586,6 +1677,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1593,6 +1685,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1600,6 +1693,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1607,6 +1701,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1614,6 +1709,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1621,6 +1717,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1628,6 +1725,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1635,6 +1733,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1642,6 +1741,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1649,6 +1749,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1656,6 +1757,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1663,6 +1765,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1670,6 +1773,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1774,6 +1878,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1781,6 +1886,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1788,6 +1894,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1795,6 +1902,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1802,6 +1910,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1809,6 +1918,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1816,6 +1926,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1823,6 +1934,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1830,6 +1942,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1837,6 +1950,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1844,6 +1958,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1851,6 +1966,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1858,6 +1974,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1865,6 +1982,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1872,6 +1990,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1879,6 +1998,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1886,6 +2006,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1893,6 +2014,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] } ], @@ -1967,6 +2089,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1974,6 +2097,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1981,6 +2105,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1988,6 +2113,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -1995,6 +2121,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2002,6 +2129,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2009,6 +2137,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2016,6 +2145,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2023,6 +2153,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2030,6 +2161,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2037,6 +2169,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2044,6 +2177,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2051,6 +2185,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2058,6 +2193,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2065,6 +2201,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2072,6 +2209,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] } ], @@ -2254,6 +2392,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2261,6 +2400,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2268,6 +2408,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2275,6 +2416,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2282,6 +2424,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2289,6 +2432,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2296,6 +2440,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2303,6 +2448,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2310,6 +2456,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2317,6 +2464,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2324,6 +2472,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2331,6 +2480,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2338,6 +2488,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2345,6 +2496,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2352,6 +2504,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2359,6 +2512,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2366,6 +2520,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2373,6 +2528,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2477,6 +2633,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2484,6 +2641,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2491,6 +2649,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2498,6 +2657,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2505,6 +2665,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2512,6 +2673,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2519,6 +2681,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2526,6 +2689,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2533,6 +2697,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2540,6 +2705,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2547,6 +2713,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2554,6 +2721,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2561,6 +2729,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2568,6 +2737,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2575,6 +2745,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2582,6 +2753,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2589,6 +2761,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2596,6 +2769,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] } ], @@ -2670,6 +2844,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2677,6 +2852,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2684,6 +2860,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2691,6 +2868,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2698,6 +2876,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2705,6 +2884,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2712,6 +2892,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2719,6 +2900,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2726,6 +2908,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2733,6 +2916,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2740,6 +2924,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2747,6 +2932,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2754,6 +2940,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2761,6 +2948,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2768,6 +2956,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2775,6 +2964,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] } ], @@ -2957,6 +3147,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2964,6 +3155,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2971,6 +3163,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2978,6 +3171,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2985,6 +3179,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2992,6 +3187,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -2999,6 +3195,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3006,6 +3203,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3013,6 +3211,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3020,6 +3219,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3027,6 +3227,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3034,6 +3235,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3041,6 +3243,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3048,6 +3251,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3055,6 +3259,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3062,6 +3267,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3069,6 +3275,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3076,6 +3283,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3180,6 +3388,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3187,6 +3396,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3194,6 +3404,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3201,6 +3412,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3208,6 +3420,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3215,6 +3428,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3222,6 +3436,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3229,6 +3444,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3236,6 +3452,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3243,6 +3460,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3250,6 +3468,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3257,6 +3476,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3264,6 +3484,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3271,6 +3492,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3278,6 +3500,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3285,6 +3508,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3292,6 +3516,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -3299,6 +3524,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] } ], diff --git a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag1.js b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag1.js index 7ccd21ed17c..84375d9fa35 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag1.js @@ -302,6 +302,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -309,6 +310,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -316,6 +318,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -323,6 +326,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -330,6 +334,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { diff --git a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag2.js b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag2.js index 79e577786bd..5571a911d56 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTag2.js @@ -308,6 +308,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -315,6 +316,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -322,6 +324,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -329,6 +332,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -336,6 +340,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -343,6 +348,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -350,6 +356,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -357,6 +364,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -425,6 +433,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -432,6 +441,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -439,6 +449,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -446,6 +457,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -453,6 +465,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -460,6 +473,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -467,6 +481,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -474,6 +489,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] } ], diff --git a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTagNamespace.js b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTagNamespace.js index 41d143fd3ff..a7699af18f5 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTagNamespace.js +++ b/tests/baselines/reference/tsserver/fourslashServer/jsdocTypedefTagNamespace.js @@ -326,6 +326,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -333,6 +334,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -340,6 +342,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -347,6 +350,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -354,6 +358,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -361,6 +366,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -368,6 +374,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -375,6 +382,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -587,6 +595,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -594,6 +603,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -601,6 +611,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -608,6 +619,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -615,6 +627,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -622,6 +635,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -629,6 +643,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -636,6 +651,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -848,6 +864,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -855,6 +872,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -862,6 +880,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -869,6 +888,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -876,6 +896,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -883,6 +904,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -890,6 +912,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { @@ -897,6 +920,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] }, { diff --git a/tests/baselines/reference/tsserver/fourslashServer/openFileWithSyntaxKind.js b/tests/baselines/reference/tsserver/fourslashServer/openFileWithSyntaxKind.js index f1c9b593675..3c422903a6e 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/openFileWithSyntaxKind.js +++ b/tests/baselines/reference/tsserver/fourslashServer/openFileWithSyntaxKind.js @@ -338,6 +338,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "warning", "kindModifiers": "", "sortText": "18", + "isFromUncheckedFile": true, "commitCharacters": [] } ], diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-importability-within-a-file.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-importability-within-a-file.js index cf1bb23e794..bf823be48c4 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-importability-within-a-file.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-importability-within-a-file.js @@ -967,8 +967,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/src/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-module-specifiers-within-a-file.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-module-specifiers-within-a-file.js index db3beade246..d2a053e5d85 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-module-specifiers-within-a-file.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/caches-module-specifiers-within-a-file.js @@ -967,8 +967,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/src/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", @@ -1036,6 +1036,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "11", + "source": "./a", "insertText": "import { foo$1 } from \"./a\";", "replacementSpan": { "start": { @@ -1047,14 +1048,13 @@ Info seq [hh:mm:ss:mss] response: "offset": 7 } }, - "isSnippet": true, - "source": "./a", "sourceDisplay": [ { "text": "./a", "kind": "text" } ], + "isSnippet": true, "isImportStatementCompletion": true, "data": { "exportName": "foo", @@ -1068,6 +1068,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "11", + "source": "mobx", "insertText": "import { observable$1 } from \"mobx\";", "replacementSpan": { "start": { @@ -1079,14 +1080,13 @@ Info seq [hh:mm:ss:mss] response: "offset": 7 } }, - "isSnippet": true, - "source": "mobx", "sourceDisplay": [ { "text": "mobx", "kind": "text" } ], + "isSnippet": true, "isPackageJsonImport": true, "isImportStatementCompletion": true, "data": { diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/does-not-invalidate-the-cache-when-new-files-are-added.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/does-not-invalidate-the-cache-when-new-files-are-added.js index c626e7d1495..8d7f7dc1c81 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/does-not-invalidate-the-cache-when-new-files-are-added.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/does-not-invalidate-the-cache-when-new-files-are-added.js @@ -967,8 +967,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/src/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-module-specifiers-when-changes-happen-in-contained-node_modules-directories.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-module-specifiers-when-changes-happen-in-contained-node_modules-directories.js index 4109002b577..47d8e015aec 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-module-specifiers-when-changes-happen-in-contained-node_modules-directories.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-module-specifiers-when-changes-happen-in-contained-node_modules-directories.js @@ -967,8 +967,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/src/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", @@ -1036,6 +1036,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "11", + "source": "./a", "insertText": "import { foo$1 } from \"./a\";", "replacementSpan": { "start": { @@ -1047,14 +1048,13 @@ Info seq [hh:mm:ss:mss] response: "offset": 7 } }, - "isSnippet": true, - "source": "./a", "sourceDisplay": [ { "text": "./a", "kind": "text" } ], + "isSnippet": true, "isImportStatementCompletion": true, "data": { "exportName": "foo", @@ -1068,6 +1068,7 @@ Info seq [hh:mm:ss:mss] response: "kind": "function", "kindModifiers": "export,declare", "sortText": "11", + "source": "mobx", "insertText": "import { observable$1 } from \"mobx\";", "replacementSpan": { "start": { @@ -1079,14 +1080,13 @@ Info seq [hh:mm:ss:mss] response: "offset": 7 } }, - "isSnippet": true, - "source": "mobx", "sourceDisplay": [ { "text": "mobx", "kind": "text" } ], + "isSnippet": true, "isPackageJsonImport": true, "isImportStatementCompletion": true, "data": { diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-local-packageJson-changes.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-local-packageJson-changes.js index 96951feb399..5d6a3d6fad6 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-local-packageJson-changes.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-local-packageJson-changes.js @@ -967,8 +967,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/src/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-module-resolution-settings-change.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-module-resolution-settings-change.js index b4789e1c51f..aa163ee3fee 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-module-resolution-settings-change.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-module-resolution-settings-change.js @@ -967,8 +967,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/src/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-symlinks-are-added-or-removed.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-symlinks-are-added-or-removed.js index ecec2a32cf1..709e45de2ae 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-symlinks-are-added-or-removed.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-symlinks-are-added-or-removed.js @@ -967,8 +967,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/src/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", diff --git a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-user-preferences-change.js b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-user-preferences-change.js index 83eaab9b596..5568dea6e21 100644 --- a/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-user-preferences-change.js +++ b/tests/baselines/reference/tsserver/moduleSpecifierCache/invalidates-the-cache-when-user-preferences-change.js @@ -967,8 +967,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/src/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", @@ -1492,8 +1492,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/src/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", @@ -2014,8 +2014,8 @@ Info seq [hh:mm:ss:mss] response: "kind": "const", "kindModifiers": "export", "sortText": "16", - "hasAction": true, "source": "/src/a", + "hasAction": true, "data": { "exportName": "foo", "exportMapKey": "3 * foo ", From 7319968e90600102892a79142fb804bcbe384160 Mon Sep 17 00:00:00 2001 From: "Oleksandr T." Date: Thu, 25 Jul 2024 05:45:52 +0300 Subject: [PATCH 63/89] fix(59116): Codefix add missing function declaration inserts function in wrong file (#59213) --- src/services/codefixes/fixAddMissingMember.ts | 2 +- .../codeFixAddMissingFunctionDeclaration29.ts | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 tests/cases/fourslash/codeFixAddMissingFunctionDeclaration29.ts diff --git a/src/services/codefixes/fixAddMissingMember.ts b/src/services/codefixes/fixAddMissingMember.ts index 42f4310ffba..190fba39043 100644 --- a/src/services/codefixes/fixAddMissingMember.ts +++ b/src/services/codefixes/fixAddMissingMember.ts @@ -369,7 +369,7 @@ function getInfo(sourceFile: SourceFile, tokenPos: number, errorCode: number, ch const moduleDeclaration = find(symbol.declarations, isModuleDeclaration); const moduleDeclarationSourceFile = moduleDeclaration?.getSourceFile(); if (moduleDeclaration && moduleDeclarationSourceFile && !isSourceFileFromLibrary(program, moduleDeclarationSourceFile)) { - return { kind: InfoKind.Function, token, call: parent.parent, sourceFile, modifierFlags: ModifierFlags.Export, parentDeclaration: moduleDeclaration }; + return { kind: InfoKind.Function, token, call: parent.parent, sourceFile: moduleDeclarationSourceFile, modifierFlags: ModifierFlags.Export, parentDeclaration: moduleDeclaration }; } const moduleSourceFile = find(symbol.declarations, isSourceFile); diff --git a/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration29.ts b/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration29.ts new file mode 100644 index 00000000000..1a6c1b73ae9 --- /dev/null +++ b/tests/cases/fourslash/codeFixAddMissingFunctionDeclaration29.ts @@ -0,0 +1,27 @@ +/// + +// @filename: /a.ts +////export namespace A { +//// export function test() {} +////}; + +// @filename: /b.ts +////import { A } from "./a"; +//// +////A.fn(); + +goTo.file("/b.ts"); +verify.codeFix({ + description: [ts.Diagnostics.Add_missing_function_declaration_0.message, "fn"], + index: 0, + newFileContent: { + "/a.ts": +`export namespace A { + export function test() {} + + export function fn() { + throw new Error("Function not implemented."); + } +};`, + } +}); From 941d1543c201e40d87e63c9db04818493afdd9e7 Mon Sep 17 00:00:00 2001 From: Sheetal Nandi Date: Thu, 25 Jul 2024 15:46:05 -0700 Subject: [PATCH 64/89] Use open file to determine file existence (#59418) --- src/compiler/watchUtilities.ts | 14 +- src/server/editorServices.ts | 215 +++-- src/server/project.ts | 3 +- .../tsserver/getEditsForFileRename.ts | 98 ++ tests/baselines/reference/api/typescript.d.ts | 2 + .../works-using-legacy-resolution-logic.js | 8 - ...er-old-one-without-file-being-in-config.js | 2 + ...invoked,-ask-errors-on-it-after-old-one.js | 37 +- ...re-old-one-without-file-being-in-config.js | 2 + ...nvoked,-ask-errors-on-it-before-old-one.js | 37 +- ...er-old-one-without-file-being-in-config.js | 2 + ...invoked,-ask-errors-on-it-after-old-one.js | 58 +- ...re-old-one-without-file-being-in-config.js | 2 + ...nvoked,-ask-errors-on-it-before-old-one.js | 58 +- ...re-jsconfig-creation-watcher-is-invoked.js | 2 + ...e-existance-on-the-disk-with-updateOpen.js | 745 +++++++++++++++ ...after-seeing-file-existance-on-the-disk.js | 866 +++++++++++++++++ ...sk-closed-before-change-with-updateOpen.js | 740 +++++++++++++++ ...stance-on-the-disk-closed-before-change.js | 868 ++++++++++++++++++ ...e-existance-on-the-disk-with-updateOpen.js | 738 +++++++++++++++ ...efore-seeing-file-existance-on-the-disk.js | 866 +++++++++++++++++ ...-project-created-while-opening-the-file.js | 4 + ...ject-even-if-project-refresh-is-pending.js | 9 + .../projectErrors/file-rename-on-wsl2.js | 260 +----- ...directory-watch-invoke-on-file-creation.js | 89 +- .../loading-files-with-correct-priority.js | 2 + 26 files changed, 5288 insertions(+), 439 deletions(-) create mode 100644 tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-after-seeing-file-existance-on-the-disk-with-updateOpen.js create mode 100644 tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-after-seeing-file-existance-on-the-disk.js create mode 100644 tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk-closed-before-change-with-updateOpen.js create mode 100644 tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk-closed-before-change.js create mode 100644 tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk-with-updateOpen.js create mode 100644 tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk.js diff --git a/src/compiler/watchUtilities.ts b/src/compiler/watchUtilities.ts index 433c34ad96d..793a5b51ee3 100644 --- a/src/compiler/watchUtilities.ts +++ b/src/compiler/watchUtilities.ts @@ -486,8 +486,8 @@ export function updateMissingFilePathsWatch( } /** @internal */ -export interface WildcardDirectoryWatcher { - watcher: FileWatcher; +export interface WildcardDirectoryWatcher { + watcher: T; flags: WatchDirectoryFlags; } @@ -499,10 +499,10 @@ export interface WildcardDirectoryWatcher { * * @internal */ -export function updateWatchingWildcardDirectories( - existingWatchedForWildcards: Map, +export function updateWatchingWildcardDirectories( + existingWatchedForWildcards: Map>, wildcardDirectories: MapLike | undefined, - watchDirectory: (directory: string, flags: WatchDirectoryFlags) => FileWatcher, + watchDirectory: (directory: string, flags: WatchDirectoryFlags) => T, ) { if (wildcardDirectories) { mutateMap( @@ -522,7 +522,7 @@ export function updateWatchingWildcardDirectories( clearMap(existingWatchedForWildcards, closeFileWatcherOf); } - function createWildcardDirectoryWatcher(directory: string, flags: WatchDirectoryFlags): WildcardDirectoryWatcher { + function createWildcardDirectoryWatcher(directory: string, flags: WatchDirectoryFlags): WildcardDirectoryWatcher { // Create new watch and recursive info return { watcher: watchDirectory(directory, flags), @@ -530,7 +530,7 @@ export function updateWatchingWildcardDirectories( }; } - function updateWildcardDirectoryWatcher(existingWatcher: WildcardDirectoryWatcher, flags: WatchDirectoryFlags, directory: string) { + function updateWildcardDirectoryWatcher(existingWatcher: WildcardDirectoryWatcher, flags: WatchDirectoryFlags, directory: string) { // Watcher needs to be updated if the recursive flags dont match if (existingWatcher.flags === flags) { return; diff --git a/src/server/editorServices.ts b/src/server/editorServices.ts index c3d16e0da5b..14427e48b45 100644 --- a/src/server/editorServices.ts +++ b/src/server/editorServices.ts @@ -33,6 +33,8 @@ import { emptyOptions, endsWith, ensureTrailingDirectorySeparator, + equateStringsCaseInsensitive, + equateStringsCaseSensitive, ExtendedConfigCacheEntry, FileExtensionInfo, fileExtensionIs, @@ -1060,7 +1062,7 @@ export interface ParsedConfig { */ projects: Map; parsedCommandLine?: ParsedCommandLine; - watchedDirectories?: Map; + watchedDirectories?: Map>; /** * true if watchedDirectories need to be updated as per parsedCommandLine's updated watched directories */ @@ -1852,80 +1854,22 @@ export class ProjectService { /** * This is to watch whenever files are added or removed to the wildcard directories */ - private watchWildcardDirectory(directory: string, flags: WatchDirectoryFlags, configFileName: NormalizedPath, config: ParsedConfig) { + private watchWildcardDirectory( + directory: string, + flags: WatchDirectoryFlags, + configFileName: NormalizedPath, + config: ParsedConfig, + ) { let watcher: FileWatcher | undefined = this.watchFactory.watchDirectory( directory, - fileOrDirectory => { - const fileOrDirectoryPath = this.toPath(fileOrDirectory); - const fsResult = config.cachedDirectoryStructureHost.addOrDeleteFileOrDirectory(fileOrDirectory, fileOrDirectoryPath); - if ( - getBaseFileName(fileOrDirectoryPath) === "package.json" && !isInsideNodeModules(fileOrDirectoryPath) && - (fsResult && fsResult.fileExists || !fsResult && this.host.fileExists(fileOrDirectory)) - ) { - const file = this.getNormalizedAbsolutePath(fileOrDirectory); - this.logger.info(`Config: ${configFileName} Detected new package.json: ${file}`); - this.packageJsonCache.addOrUpdate(file, fileOrDirectoryPath); - this.watchPackageJsonFile(file, fileOrDirectoryPath, result); - } - - const configuredProjectForConfig = this.findConfiguredProjectByProjectName(configFileName); - if ( - isIgnoredFileFromWildCardWatching({ - watchedDirPath: this.toPath(directory), - fileOrDirectory, - fileOrDirectoryPath, - configFileName, - extraFileExtensions: this.hostConfiguration.extraFileExtensions, - currentDirectory: this.currentDirectory, - options: config.parsedCommandLine!.options, - program: configuredProjectForConfig?.getCurrentProgram() || config.parsedCommandLine!.fileNames, - useCaseSensitiveFileNames: this.host.useCaseSensitiveFileNames, - writeLog: s => this.logger.info(s), - toPath: s => this.toPath(s), - getScriptKind: configuredProjectForConfig ? (fileName => configuredProjectForConfig.getScriptKind(fileName)) : undefined, - }) - ) return; - - // Reload is pending, do the reload - if (config.updateLevel !== ProgramUpdateLevel.Full) config.updateLevel = ProgramUpdateLevel.RootNamesAndUpdate; - config.projects.forEach((watchWildcardDirectories, projectCanonicalPath) => { - if (!watchWildcardDirectories) return; - const project = this.getConfiguredProjectByCanonicalConfigFilePath(projectCanonicalPath); - if (!project) return; - - if ( - configuredProjectForConfig !== project && - this.getHostPreferences().includeCompletionsForModuleExports - ) { - const path = this.toPath(configFileName); - if (find(project.getCurrentProgram()?.getResolvedProjectReferences(), ref => ref?.sourceFile.path === path)) { - project.markAutoImportProviderAsDirty(); - } - } - - // Load root file names for configured project with the config file name - // But only schedule update if project references this config file - const updateLevel = configuredProjectForConfig === project ? ProgramUpdateLevel.RootNamesAndUpdate : ProgramUpdateLevel.Update; - if (project.pendingUpdateLevel > updateLevel) return; - - // don't trigger callback on open, existing files - if (this.openFiles.has(fileOrDirectoryPath)) { - const info = Debug.checkDefined(this.getScriptInfoForPath(fileOrDirectoryPath)); - if (info.isAttached(project)) { - const loadLevelToSet = Math.max(updateLevel, project.openFileWatchTriggered.get(fileOrDirectoryPath) || ProgramUpdateLevel.Update) as ProgramUpdateLevel; - project.openFileWatchTriggered.set(fileOrDirectoryPath, loadLevelToSet); - } - else { - project.pendingUpdateLevel = updateLevel; - this.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(project); - } - } - else { - project.pendingUpdateLevel = updateLevel; - this.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(project); - } - }); - }, + fileOrDirectory => + this.onWildCardDirectoryWatcherInvoke( + directory, + configFileName, + config, + result, + fileOrDirectory, + ), flags, this.getWatchOptionsFromProjectWatchOptions(config.parsedCommandLine!.watchOptions, getDirectoryPath(configFileName)), WatchType.WildcardDirectory, @@ -1949,6 +1893,84 @@ export class ProjectService { return result; } + private onWildCardDirectoryWatcherInvoke( + directory: string, + configFileName: NormalizedPath, + config: ParsedConfig, + wildCardWatcher: WildcardWatcher, + fileOrDirectory: string, + ) { + const fileOrDirectoryPath = this.toPath(fileOrDirectory); + const fsResult = config.cachedDirectoryStructureHost.addOrDeleteFileOrDirectory(fileOrDirectory, fileOrDirectoryPath); + if ( + getBaseFileName(fileOrDirectoryPath) === "package.json" && !isInsideNodeModules(fileOrDirectoryPath) && + (fsResult && fsResult.fileExists || !fsResult && this.host.fileExists(fileOrDirectory)) + ) { + const file = this.getNormalizedAbsolutePath(fileOrDirectory); + this.logger.info(`Config: ${configFileName} Detected new package.json: ${file}`); + this.packageJsonCache.addOrUpdate(file, fileOrDirectoryPath); + this.watchPackageJsonFile(file, fileOrDirectoryPath, wildCardWatcher); + } + + const configuredProjectForConfig = this.findConfiguredProjectByProjectName(configFileName); + if ( + isIgnoredFileFromWildCardWatching({ + watchedDirPath: this.toPath(directory), + fileOrDirectory, + fileOrDirectoryPath, + configFileName, + extraFileExtensions: this.hostConfiguration.extraFileExtensions, + currentDirectory: this.currentDirectory, + options: config.parsedCommandLine!.options, + program: configuredProjectForConfig?.getCurrentProgram() || config.parsedCommandLine!.fileNames, + useCaseSensitiveFileNames: this.host.useCaseSensitiveFileNames, + writeLog: s => this.logger.info(s), + toPath: s => this.toPath(s), + getScriptKind: configuredProjectForConfig ? (fileName => configuredProjectForConfig.getScriptKind(fileName)) : undefined, + }) + ) return; + + // Reload is pending, do the reload + if (config.updateLevel !== ProgramUpdateLevel.Full) config.updateLevel = ProgramUpdateLevel.RootNamesAndUpdate; + config.projects.forEach((watchWildcardDirectories, projectCanonicalPath) => { + if (!watchWildcardDirectories) return; + const project = this.getConfiguredProjectByCanonicalConfigFilePath(projectCanonicalPath); + if (!project) return; + + if ( + configuredProjectForConfig !== project && + this.getHostPreferences().includeCompletionsForModuleExports + ) { + const path = this.toPath(configFileName); + if (find(project.getCurrentProgram()?.getResolvedProjectReferences(), ref => ref?.sourceFile.path === path)) { + project.markAutoImportProviderAsDirty(); + } + } + + // Load root file names for configured project with the config file name + // But only schedule update if project references this config file + const updateLevel = configuredProjectForConfig === project ? ProgramUpdateLevel.RootNamesAndUpdate : ProgramUpdateLevel.Update; + if (project.pendingUpdateLevel > updateLevel) return; + + // don't trigger callback on open, existing files + if (this.openFiles.has(fileOrDirectoryPath)) { + const info = Debug.checkDefined(this.getScriptInfoForPath(fileOrDirectoryPath)); + if (info.isAttached(project)) { + const loadLevelToSet = Math.max(updateLevel, project.openFileWatchTriggered.get(fileOrDirectoryPath) || ProgramUpdateLevel.Update) as ProgramUpdateLevel; + project.openFileWatchTriggered.set(fileOrDirectoryPath, loadLevelToSet); + } + else { + project.pendingUpdateLevel = updateLevel; + this.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(project); + } + } + else { + project.pendingUpdateLevel = updateLevel; + this.delayUpdateProjectGraphAndEnsureProjectStructureForOpenFiles(project); + } + }); + } + private delayUpdateProjectsFromParsedConfigOnConfigFileChange(canonicalConfigFilePath: NormalizedPath, loadReason: string) { const configFileExistenceInfo = this.configFileExistenceInfoCache.get(canonicalConfigFilePath); if (!configFileExistenceInfo?.config) return false; @@ -4434,8 +4456,42 @@ export class ProjectService { this.removeOrphanScriptInfos(); } + private tryInvokeWildCardDirectories(info: ScriptInfo) { + // This might not have reflected in projects, + this.configFileExistenceInfoCache.forEach((configFileExistenceInfo, config) => { + if ( + !configFileExistenceInfo.config?.parsedCommandLine || + contains( + configFileExistenceInfo.config.parsedCommandLine.fileNames, + info.fileName, + !this.host.useCaseSensitiveFileNames ? equateStringsCaseInsensitive : equateStringsCaseSensitive, + ) + ) { + return; + } + configFileExistenceInfo.config.watchedDirectories?.forEach((watcher, directory) => { + if (containsPath(directory, info.fileName, !this.host.useCaseSensitiveFileNames)) { + this.logger.info(`Invoking ${config}:: wildcard for open scriptInfo:: ${info.fileName}`); + this.onWildCardDirectoryWatcherInvoke( + directory, + config, + configFileExistenceInfo.config!, + watcher.watcher, + info.fileName, + ); + } + }); + }); + } + openClientFileWithNormalizedPath(fileName: NormalizedPath, fileContent?: string, scriptKind?: ScriptKind, hasMixedContent?: boolean, projectRootPath?: NormalizedPath): OpenConfiguredProjectResult { + const existing = this.getScriptInfoForPath(normalizedPathToPath( + fileName, + projectRootPath ? this.getNormalizedAbsolutePath(projectRootPath) : this.currentDirectory, + this.toCanonicalFileName, + )); const info = this.getOrCreateOpenScriptInfo(fileName, fileContent, scriptKind, hasMixedContent, projectRootPath); + if (!existing && info && !info.isDynamic) this.tryInvokeWildCardDirectories(info); const { retainProjects, ...result } = this.assignProjectToOpenedScriptInfo(info); this.cleanupProjectsAndScriptInfos( retainProjects, @@ -4636,10 +4692,16 @@ export class ProjectService { /** @internal */ applyChangesInOpenFiles(openFiles: Iterable | undefined, changedFiles?: Iterable, closedFiles?: string[]): void { + let existingOpenScriptInfos: (ScriptInfo | undefined)[] | undefined; let openScriptInfos: ScriptInfo[] | undefined; let assignOrphanScriptInfosToInferredProject = false; if (openFiles) { for (const file of openFiles) { + (existingOpenScriptInfos ??= []).push(this.getScriptInfoForPath(normalizedPathToPath( + toNormalizedPath(file.fileName), + file.projectRootPath ? this.getNormalizedAbsolutePath(file.projectRootPath) : this.currentDirectory, + this.toCanonicalFileName, + ))); // Create script infos so we have the new content for all the open files before we do any updates to projects const info = this.getOrCreateOpenScriptInfo( toNormalizedPath(file.fileName), @@ -4670,6 +4732,13 @@ export class ProjectService { // All the script infos now exist, so ok to go update projects for open files let retainProjects: Set | undefined; + forEach( + existingOpenScriptInfos, + (existing, index) => + !existing && openScriptInfos![index] && !openScriptInfos![index].isDynamic ? + this.tryInvokeWildCardDirectories(openScriptInfos![index]) : + undefined, + ); openScriptInfos?.forEach(info => this.assignProjectToOpenedScriptInfo(info).retainProjects?.forEach(p => (retainProjects ??= new Set()).add(p))); // While closing files there could be open files that needed assigning new inferred projects, do it now diff --git a/src/server/project.ts b/src/server/project.ts index 8cf623a844f..f6408125d9d 100644 --- a/src/server/project.ts +++ b/src/server/project.ts @@ -775,7 +775,8 @@ export abstract class Project implements LanguageServiceHost, ModuleResolutionHo // As an optimization, don't hit the disks for files we already know don't exist // (because we're watching for their creation). const path = this.toPath(file); - return !this.isWatchedMissingFile(path) && this.directoryStructureHost.fileExists(file); + return !!this.projectService.getScriptInfoForPath(path) || + (!this.isWatchedMissingFile(path) && this.directoryStructureHost.fileExists(file)); } /** @internal */ diff --git a/src/testRunner/unittests/tsserver/getEditsForFileRename.ts b/src/testRunner/unittests/tsserver/getEditsForFileRename.ts index e755bff4c3b..e3ecbfd203a 100644 --- a/src/testRunner/unittests/tsserver/getEditsForFileRename.ts +++ b/src/testRunner/unittests/tsserver/getEditsForFileRename.ts @@ -2,13 +2,16 @@ import * as ts from "../../_namespaces/ts.js"; import { jsonToReadableText } from "../helpers.js"; import { baselineTsserverLogs, + closeFilesForSession, openFilesForSession, TestSession, textSpanFromSubstring, + verifyGetErrRequest, } from "../helpers/tsserver.js"; import { createServerHost, File, + libFile, } from "../helpers/virtualFileSystemWithWatch.js"; describe("unittests:: tsserver:: getEditsForFileRename", () => { @@ -109,4 +112,99 @@ describe("unittests:: tsserver:: getEditsForFileRename", () => { }); baselineTsserverLogs("getEditsForFileRename", "works with file moved to inferred project", session); }); + + [false, true].forEach(withUpdateOpen => + [true, false].forEach(openedBeforeChange => { + [true, false].forEach(closedBeforeChange => { + if (closedBeforeChange && !openedBeforeChange) return; + it(`works with when file is opened ${openedBeforeChange ? "before" : "after"} seeing file existance on the disk${closedBeforeChange ? " closed before change" : ""}${withUpdateOpen ? " with updateOpen" : ""}`, () => { + const oldFilePath = "/home/src/myproject/src/old.ts"; + const host = createServerHost({ + "/home/src/myproject/src/index.ts": `import {} from '@/old';`, + [oldFilePath]: `export const x = 10;`, + "/home/src/myproject/tsconfig.json": jsonToReadableText({ + compilerOptions: { + paths: { + "@/*": ["./src/*"], + }, + }, + }), + [libFile.path]: libFile.content, + }); + const session = new TestSession({ host, canUseWatchEvents: true, canUseEvents: true }); + if (withUpdateOpen) { + session.executeCommandSeq({ + command: ts.server.protocol.CommandTypes.UpdateOpen, + arguments: { + openFiles: [ + { + file: "/home/src/myproject/src/index.ts", + projectRootPath: "/home/src/myproject", + }, + { + file: oldFilePath, + projectRootPath: "/home/src/myproject", + }, + ], + }, + }); + } + else { + openFilesForSession([ + { file: "/home/src/myproject/src/index.ts", projectRootPath: "/home/src/myproject" }, + { file: oldFilePath, projectRootPath: "/home/src/myproject" }, + ], session); + } + const newFilePath = "/home/src/myproject/src/new.ts"; + host.renameFile(oldFilePath, newFilePath); + if (!openedBeforeChange) session.invokeWatchChanges(); + if (withUpdateOpen) { + session.executeCommandSeq({ + command: ts.server.protocol.CommandTypes.UpdateOpen, + arguments: { + openFiles: [{ + file: newFilePath, + fileContent: `export const x = 10;`, + projectRootPath: "/home/src/myproject", + }], + closedFiles: [oldFilePath], + }, + }); + } + else { + closeFilesForSession([oldFilePath], session); + openFilesForSession([{ file: newFilePath, projectRootPath: "/home/src/myproject", content: `export const x = 10;` }], session); + } + session.executeCommandSeq({ + command: ts.server.protocol.CommandTypes.GetEditsForFileRename, + arguments: { oldFilePath, newFilePath }, + }); + if (closedBeforeChange) { + if (withUpdateOpen) { + session.executeCommandSeq({ + command: ts.server.protocol.CommandTypes.UpdateOpen, + arguments: { closedFiles: [newFilePath] }, + }); + } + else closeFilesForSession([newFilePath], session); + } + if (openedBeforeChange) session.invokeWatchChanges(); + if (!closedBeforeChange) { + if (withUpdateOpen) { + session.executeCommandSeq({ + command: ts.server.protocol.CommandTypes.UpdateOpen, + arguments: { closedFiles: [newFilePath] }, + }); + } + else closeFilesForSession([newFilePath], session); + } + verifyGetErrRequest({ + session, + files: ["/home/src/myproject/src/index.ts"], + }); + baselineTsserverLogs("getEditsForFileRename", `works with when file is opened ${openedBeforeChange ? "before" : "after"} seeing file existance on the disk${closedBeforeChange ? " closed before change" : ""}${withUpdateOpen ? " with updateOpen" : ""}`, session); + }); + }); + }) + ); }); diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 7070d1cdea4..8275e422282 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -3268,6 +3268,7 @@ declare namespace ts { private delayUpdateProjectsOfScriptInfoPath; private handleDeletedFile; private watchWildcardDirectory; + private onWildCardDirectoryWatcherInvoke; private delayUpdateProjectsFromParsedConfigOnConfigFileChange; private onConfigFileChanged; private removeProject; @@ -3338,6 +3339,7 @@ declare namespace ts { private ensureProjectChildren; private cleanupConfiguredProjects; private cleanupProjectsAndScriptInfos; + private tryInvokeWildCardDirectories; openClientFileWithNormalizedPath(fileName: NormalizedPath, fileContent?: string, scriptKind?: ScriptKind, hasMixedContent?: boolean, projectRootPath?: NormalizedPath): OpenConfiguredProjectResult; private removeOrphanScriptInfos; private telemetryOnOpenFile; diff --git a/tests/baselines/reference/tsserver/cachingFileSystemInformation/works-using-legacy-resolution-logic.js b/tests/baselines/reference/tsserver/cachingFileSystemInformation/works-using-legacy-resolution-logic.js index f1dd43ce6e4..254681311a3 100644 --- a/tests/baselines/reference/tsserver/cachingFileSystemInformation/works-using-legacy-resolution-logic.js +++ b/tests/baselines/reference/tsserver/cachingFileSystemInformation/works-using-legacy-resolution-logic.js @@ -256,10 +256,6 @@ Info seq [hh:mm:ss:mss] fileExists:: [ { "key": "/c/d/f1.d.ts", "count": 1 - }, - { - "key": "/c/f1.ts", - "count": 1 } ] Info seq [hh:mm:ss:mss] directoryExists:: [ @@ -359,10 +355,6 @@ Info seq [hh:mm:ss:mss] fileExists:: [ { "key": "/c/d/f1.d.ts", "count": 1 - }, - { - "key": "/c/f1.ts", - "count": 1 } ] Info seq [hh:mm:ss:mss] directoryExists:: [ diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js index 8af34cb8301..88eecfb40ee 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js @@ -226,6 +226,8 @@ Info seq [hh:mm:ss:mss] request: "seq": 2, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/src/sub/fooBar.ts +Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/tsconfig.json Detected excluded file: /user/username/projects/myproject/src/sub/fooBar.ts Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/sub/fooBar.ts ProjectRootPath: /user/username/projects/myproject:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: /user/username/projects/myproject:: Result: undefined Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one.js index 4a38cc9ae2c..0411053ee8f 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-after-old-one.js @@ -234,6 +234,9 @@ Info seq [hh:mm:ss:mss] request: "seq": 2, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/src/sub/fooBar.ts +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/sub/fooBar.ts ProjectRootPath: /user/username/projects/myproject:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms @@ -277,6 +280,12 @@ Info seq [hh:mm:ss:mss] response: } After request +Timeout callback:: count: 2 +1: /user/username/projects/myproject/tsconfig.json *deleted* +2: *ensureProjectForOpenFiles* *deleted* +3: /user/username/projects/myproject/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* + Projects:: /user/username/projects/myproject/tsconfig.json (Configured) *changed* projectStateVersion: 2 @@ -319,16 +328,16 @@ Info seq [hh:mm:ss:mss] request: After request Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -3: checkOne *new* +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +5: checkOne *new* Before running Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -3: checkOne +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +5: checkOne -Invoking Timeout callback:: timeoutId:: 3:: checkOne +Invoking Timeout callback:: timeoutId:: 5:: checkOne Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -378,16 +387,16 @@ Info seq [hh:mm:ss:mss] event: After running Immedidate callback:: count: 0 Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -4: checkOne *new* +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +6: checkOne *new* Before running Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -4: checkOne +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +6: checkOne -Invoking Timeout callback:: timeoutId:: 4:: checkOne +Invoking Timeout callback:: timeoutId:: 6:: checkOne Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js index 7646fd9a9da..1cee7b45306 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js @@ -226,6 +226,8 @@ Info seq [hh:mm:ss:mss] request: "seq": 2, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/src/sub/fooBar.ts +Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/tsconfig.json Detected excluded file: /user/username/projects/myproject/src/sub/fooBar.ts Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/sub/fooBar.ts ProjectRootPath: /user/username/projects/myproject:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: /user/username/projects/myproject:: Result: undefined Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one.js index d7e068a3c54..501cfd003cc 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-after-watcher-is-invoked,-ask-errors-on-it-before-old-one.js @@ -234,6 +234,9 @@ Info seq [hh:mm:ss:mss] request: "seq": 2, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/src/sub/fooBar.ts +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/sub/fooBar.ts ProjectRootPath: /user/username/projects/myproject:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms @@ -277,6 +280,12 @@ Info seq [hh:mm:ss:mss] response: } After request +Timeout callback:: count: 2 +1: /user/username/projects/myproject/tsconfig.json *deleted* +2: *ensureProjectForOpenFiles* *deleted* +3: /user/username/projects/myproject/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* + Projects:: /user/username/projects/myproject/tsconfig.json (Configured) *changed* projectStateVersion: 2 @@ -319,16 +328,16 @@ Info seq [hh:mm:ss:mss] request: After request Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -3: checkOne *new* +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +5: checkOne *new* Before running Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -3: checkOne +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +5: checkOne -Invoking Timeout callback:: timeoutId:: 3:: checkOne +Invoking Timeout callback:: timeoutId:: 5:: checkOne Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -378,16 +387,16 @@ Info seq [hh:mm:ss:mss] event: After running Immedidate callback:: count: 0 Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -4: checkOne *new* +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +6: checkOne *new* Before running Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -4: checkOne +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +6: checkOne -Invoking Timeout callback:: timeoutId:: 4:: checkOne +Invoking Timeout callback:: timeoutId:: 6:: checkOne Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js index db331963e41..e6aa7b1d150 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one-without-file-being-in-config.js @@ -220,6 +220,8 @@ Info seq [hh:mm:ss:mss] request: "seq": 2, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/src/sub/fooBar.ts +Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/tsconfig.json Detected excluded file: /user/username/projects/myproject/src/sub/fooBar.ts Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/sub/fooBar.ts ProjectRootPath: /user/username/projects/myproject:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: /user/username/projects/myproject:: Result: undefined Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one.js index a5e3529fddf..71189a22c6e 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-after-old-one.js @@ -217,7 +217,13 @@ Info seq [hh:mm:ss:mss] request: "seq": 2, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/src/sub/fooBar.ts +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/sub/fooBar.ts ProjectRootPath: /user/username/projects/myproject:: Result: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Same program as before Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: /user/username/projects/myproject:: Result: undefined Info seq [hh:mm:ss:mss] event: { @@ -315,12 +321,16 @@ FsWatchesRecursive:: /user/username/projects/myproject/src: {} +Timeout callback:: count: 2 +1: /user/username/projects/myproject/tsconfig.json *new* +2: *ensureProjectForOpenFiles* *new* + Projects:: /dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/user/username/projects/myproject/tsconfig.json (Configured) - projectStateVersion: 1 +/user/username/projects/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* projectProgramVersion: 1 ScriptInfos:: @@ -343,8 +353,8 @@ ScriptInfos:: /dev/null/inferredProject1* *default* Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/src/sub/fooBar.ts :: WatchInfo: /user/username/projects/myproject/src 1 undefined Config: /user/username/projects/myproject/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/src/sub/fooBar.ts :: WatchInfo: /user/username/projects/myproject/src 1 undefined Config: /user/username/projects/myproject/tsconfig.json WatchType: Wild card directory Before request //// [/user/username/projects/myproject/src/sub/fooBar.ts] @@ -352,15 +362,17 @@ export function fooBar() { } Timeout callback:: count: 2 -1: /user/username/projects/myproject/tsconfig.json *new* -2: *ensureProjectForOpenFiles* *new* +1: /user/username/projects/myproject/tsconfig.json *deleted* +2: *ensureProjectForOpenFiles* *deleted* +3: /user/username/projects/myproject/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 /user/username/projects/myproject/tsconfig.json (Configured) *changed* - projectStateVersion: 2 *changed* + projectStateVersion: 3 *changed* projectProgramVersion: 1 dirty: true *changed* @@ -380,23 +392,23 @@ Info seq [hh:mm:ss:mss] request: After request Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -3: checkOne *new* +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +5: checkOne *new* Before running Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -3: checkOne +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +5: checkOne -Invoking Timeout callback:: timeoutId:: 3:: checkOne +Invoking Timeout callback:: timeoutId:: 5:: checkOne Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/src/sub/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/src/sub/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/src/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/src/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json projectStateVersion: 3 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (4) /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" @@ -471,7 +483,7 @@ Projects:: dirty: true *changed* isOrphan: true *changed* /user/username/projects/myproject/tsconfig.json (Configured) *changed* - projectStateVersion: 2 + projectStateVersion: 3 projectProgramVersion: 2 *changed* dirty: false *changed* @@ -529,16 +541,16 @@ Info seq [hh:mm:ss:mss] event: After running Immedidate callback:: count: 0 Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -4: checkOne *new* +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +6: checkOne *new* Before running Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -4: checkOne +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +6: checkOne -Invoking Timeout callback:: timeoutId:: 4:: checkOne +Invoking Timeout callback:: timeoutId:: 6:: checkOne Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js index eceac628b46..145e40027e2 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one-without-file-being-in-config.js @@ -220,6 +220,8 @@ Info seq [hh:mm:ss:mss] request: "seq": 2, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/src/sub/fooBar.ts +Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/tsconfig.json Detected excluded file: /user/username/projects/myproject/src/sub/fooBar.ts Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/sub/fooBar.ts ProjectRootPath: /user/username/projects/myproject:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: /user/username/projects/myproject:: Result: undefined Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one.js b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one.js index de120b1b825..6c4b7571617 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one.js +++ b/tests/baselines/reference/tsserver/configuredProjects/creating-new-file-and-then-open-it-before-watcher-is-invoked,-ask-errors-on-it-before-old-one.js @@ -217,7 +217,13 @@ Info seq [hh:mm:ss:mss] request: "seq": 2, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/src/sub/fooBar.ts +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/src/sub/fooBar.ts ProjectRootPath: /user/username/projects/myproject:: Result: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: false structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Same program as before Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: /user/username/projects/myproject:: Result: undefined Info seq [hh:mm:ss:mss] event: { @@ -315,12 +321,16 @@ FsWatchesRecursive:: /user/username/projects/myproject/src: {} +Timeout callback:: count: 2 +1: /user/username/projects/myproject/tsconfig.json *new* +2: *ensureProjectForOpenFiles* *new* + Projects:: /dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 projectProgramVersion: 1 -/user/username/projects/myproject/tsconfig.json (Configured) - projectStateVersion: 1 +/user/username/projects/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* projectProgramVersion: 1 ScriptInfos:: @@ -343,8 +353,8 @@ ScriptInfos:: /dev/null/inferredProject1* *default* Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /user/username/projects/myproject/src/sub/fooBar.ts :: WatchInfo: /user/username/projects/myproject/src 1 undefined Config: /user/username/projects/myproject/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /user/username/projects/myproject/src/sub/fooBar.ts :: WatchInfo: /user/username/projects/myproject/src 1 undefined Config: /user/username/projects/myproject/tsconfig.json WatchType: Wild card directory Before request //// [/user/username/projects/myproject/src/sub/fooBar.ts] @@ -352,15 +362,17 @@ export function fooBar() { } Timeout callback:: count: 2 -1: /user/username/projects/myproject/tsconfig.json *new* -2: *ensureProjectForOpenFiles* *new* +1: /user/username/projects/myproject/tsconfig.json *deleted* +2: *ensureProjectForOpenFiles* *deleted* +3: /user/username/projects/myproject/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject1* (Inferred) projectStateVersion: 1 projectProgramVersion: 1 /user/username/projects/myproject/tsconfig.json (Configured) *changed* - projectStateVersion: 2 *changed* + projectStateVersion: 3 *changed* projectProgramVersion: 1 dirty: true *changed* @@ -380,16 +392,16 @@ Info seq [hh:mm:ss:mss] request: After request Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -3: checkOne *new* +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +5: checkOne *new* Before running Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -3: checkOne +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +5: checkOne -Invoking Timeout callback:: timeoutId:: 3:: checkOne +Invoking Timeout callback:: timeoutId:: 5:: checkOne Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -439,23 +451,23 @@ Info seq [hh:mm:ss:mss] event: After running Immedidate callback:: count: 0 Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -4: checkOne *new* +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +6: checkOne *new* Before running Timeout callback:: count: 3 -1: /user/username/projects/myproject/tsconfig.json -2: *ensureProjectForOpenFiles* -4: checkOne +3: /user/username/projects/myproject/tsconfig.json +4: *ensureProjectForOpenFiles* +6: checkOne -Invoking Timeout callback:: timeoutId:: 4:: checkOne +Invoking Timeout callback:: timeoutId:: 6:: checkOne Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/src/sub/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/src/sub/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/src/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/src/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json projectStateVersion: 3 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (4) /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" @@ -530,7 +542,7 @@ Projects:: dirty: true *changed* isOrphan: true *changed* /user/username/projects/myproject/tsconfig.json (Configured) *changed* - projectStateVersion: 2 + projectStateVersion: 3 projectProgramVersion: 2 *changed* dirty: false *changed* diff --git a/tests/baselines/reference/tsserver/externalProjects/handles-creation-of-external-project-with-jsconfig-before-jsconfig-creation-watcher-is-invoked.js b/tests/baselines/reference/tsserver/externalProjects/handles-creation-of-external-project-with-jsconfig-before-jsconfig-creation-watcher-is-invoked.js index 9cd40115a66..ddee7806df8 100644 --- a/tests/baselines/reference/tsserver/externalProjects/handles-creation-of-external-project-with-jsconfig-before-jsconfig-creation-watcher-is-invoked.js +++ b/tests/baselines/reference/tsserver/externalProjects/handles-creation-of-external-project-with-jsconfig-before-jsconfig-creation-watcher-is-invoked.js @@ -231,6 +231,8 @@ Info seq [hh:mm:ss:mss] request: "seq": 3, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/javascript.js +Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/javascript.js Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/javascript.js ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-after-seeing-file-existance-on-the-disk-with-updateOpen.js b/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-after-seeing-file-existance-on-the-disk-with-updateOpen.js new file mode 100644 index 00000000000..1dbf439abe5 --- /dev/null +++ b/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-after-seeing-file-existance-on-the-disk-with-updateOpen.js @@ -0,0 +1,745 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/myproject/src/index.ts] +import {} from '@/old'; + +//// [/home/src/myproject/src/old.ts] +export const x = 10; + +//// [/home/src/myproject/tsconfig.json] +{ + "compilerOptions": { + "paths": { + "@/*": [ + "./src/*" + ] + } + } +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "updateOpen", + "arguments": { + "openFiles": [ + { + "file": "/home/src/myproject/src/index.ts", + "projectRootPath": "/home/src/myproject" + }, + { + "file": "/home/src/myproject/src/old.ts", + "projectRootPath": "/home/src/myproject" + } + ] + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/myproject/tsconfig.json 2000 undefined Project: /home/src/myproject/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 1, + "path": "/home/src/myproject/tsconfig.json" + } + } +Custom watchFile:: Added:: {"id":1,"path":"/home/src/myproject/tsconfig.json"} +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/myproject/tsconfig.json", + "reason": "Creating possible configured project for /home/src/myproject/src/index.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/myproject/tsconfig.json : { + "rootNames": [ + "/home/src/myproject/src/index.ts", + "/home/src/myproject/src/old.ts" + ], + "options": { + "paths": { + "@/*": [ + "./src/*" + ] + }, + "pathsBasePath": "/home/src/myproject", + "configFilePath": "/home/src/myproject/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 2, + "path": "/home/src/myproject", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 3, + "path": "/a/lib/lib.d.ts" + } + } +Custom watchFile:: Added:: {"id":3,"path":"/a/lib/lib.d.ts"} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules/@types 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 4, + "path": "/home/src/myproject/node_modules/@types", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":4,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules/@types 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/myproject/src/old.ts SVC-1-0 "export const x = 10;" + /home/src/myproject/src/index.ts SVC-1-0 "import {} from '@/old';" + + + ../../../a/lib/lib.d.ts + Default library for target 'es5' + src/old.ts + Imported via '@/old' from file 'src/index.ts' + Matched by default include pattern '**/*' + src/index.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/myproject/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "6bb806941aafa001b31e4d631704de33d39b9ccdac64dcf4d86298a41f7f5e12", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 2, + "tsSize": 43, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "paths": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/myproject/src/index.ts", + "configFile": "/home/src/myproject/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/old.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/old.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "response": true, + "responseRequired": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: *new* + {"event":{"id":3,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/tsconfig.json: *new* + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: *new* + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules/@types: *new* + {"event":{"id":4,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/old.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* + +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/old.ts deleted +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/new.ts created +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/new.ts updated +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src updated +Before request +//// [/home/src/myproject/src/new.ts] +export const x = 10; + +//// [/home/src/myproject/src/old.ts] deleted + +Info seq [hh:mm:ss:mss] request: + { + "command": "watchChange", + "arguments": { + "id": 2, + "deleted": [ + "/home/src/myproject/src/old.ts" + ], + "created": [ + "/home/src/myproject/src/new.ts" + ] + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/myproject/src/new.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/myproject/src/new.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/myproject/src/old.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/myproject/src/old.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +After request + +Timeout callback:: count: 2 +1: /home/src/myproject/tsconfig.json *new* +2: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "updateOpen", + "arguments": { + "openFiles": [ + { + "file": "/home/src/myproject/src/new.ts", + "fileContent": "export const x = 10;", + "projectRootPath": "/home/src/myproject" + } + ], + "closedFiles": [ + "/home/src/myproject/src/old.ts" + ] + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Invoking /home/src/myproject/tsconfig.json:: wildcard for open scriptInfo:: /home/src/myproject/src/new.ts +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/new.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/src 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 5, + "path": "/home/src/myproject/src", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":5,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/src 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 6, + "path": "/home/src/myproject/node_modules", + "recursive": true + } + } +Custom watchDirectory:: Added:: {"id":6,"path":"/home/src/myproject/node_modules","recursive":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/myproject/src/index.ts SVC-1-0 "import {} from '@/old';" + /home/src/myproject/src/new.ts SVC-1-0 "export const x = 10;" + + + ../../../a/lib/lib.d.ts + Default library for target 'es5' + src/index.ts + Matched by default include pattern '**/*' + src/new.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/new.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "response": true, + "responseRequired": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"event":{"id":3,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/tsconfig.json: + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules: *new* + {"event":{"id":6,"path":"/home/src/myproject/node_modules","recursive":true}} +/home/src/myproject/node_modules/@types: + {"event":{"id":4,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/src: *new* + {"event":{"id":5,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true}} + +Timeout callback:: count: 2 +1: /home/src/myproject/tsconfig.json *deleted* +2: *ensureProjectForOpenFiles* *deleted* +5: /home/src/myproject/tsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 2 *changed* + dirty: false *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/old.ts *deleted* + open: false *changed* + version: SVC-1-0 + containingProjects: 0 *changed* + /home/src/myproject/tsconfig.json *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "getEditsForFileRename", + "arguments": { + "oldFilePath": "/home/src/myproject/src/old.ts", + "newFilePath": "/home/src/myproject/src/new.ts" + }, + "seq": 4, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "response": [ + { + "fileName": "/home/src/myproject/src/index.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 17 + }, + "end": { + "line": 1, + "offset": 22 + }, + "newText": "@/new" + } + ] + } + ], + "responseRequired": true + } +After request + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 2 + documentPositionMappers: 1 *changed* + /a/lib/lib.d.ts: identitySourceMapConsumer *new* + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + sourceMapFilePath: false *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "updateOpen", + "arguments": { + "closedFiles": [ + "/home/src/myproject/src/new.ts" + ] + }, + "seq": 5, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/myproject/src/new.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 7, + "path": "/home/src/myproject/src/new.ts" + } + } +Custom watchFile:: Added:: {"id":7,"path":"/home/src/myproject/src/new.ts"} +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "response": true, + "responseRequired": true + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"event":{"id":3,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/src/new.ts: *new* + {"event":{"id":7,"path":"/home/src/myproject/src/new.ts"}} +/home/src/myproject/tsconfig.json: + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules: + {"event":{"id":6,"path":"/home/src/myproject/node_modules","recursive":true}} +/home/src/myproject/node_modules/@types: + {"event":{"id":4,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/src: + {"event":{"id":5,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true}} + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 2 + dirty: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + sourceMapFilePath: false + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts *changed* + open: false *changed* + version: SVC-1-0 + pendingReloadFromDisk: true *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + "/home/src/myproject/src/index.ts" + ] + }, + "seq": 6, + "type": "request" + } +After request + +Timeout callback:: count: 3 +5: /home/src/myproject/tsconfig.json +6: *ensureProjectForOpenFiles* +7: checkOne *new* + +Before running Timeout callback:: count: 3 +5: /home/src/myproject/tsconfig.json +6: *ensureProjectForOpenFiles* +7: checkOne + +Info seq [hh:mm:ss:mss] Running: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 structureChanged: false structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Same program as before +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/myproject/src/index.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/myproject/src/index.ts" + ] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [] + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +1: semanticCheck *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 3 + projectProgramVersion: 2 + dirty: false *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + sourceMapFilePath: false + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts *changed* + version: SVC-1-0 + pendingReloadFromDisk: false *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json + +Before running Immedidate callback:: count: 1 +1: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [ + { + "start": { + "line": 1, + "offset": 16 + }, + "end": { + "line": 1, + "offset": 23 + }, + "text": "Cannot find module '@/old' or its corresponding type declarations.", + "code": 2307, + "category": "error" + } + ] + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +2: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +2: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 6, + "performanceData": { + "diagnosticsDuration": [ + { + "syntaxDiag": *, + "semanticDiag": *, + "suggestionDiag": *, + "file": "/home/src/myproject/src/index.ts" + } + ] + } + } + } +After running Immedidate callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-after-seeing-file-existance-on-the-disk.js b/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-after-seeing-file-existance-on-the-disk.js new file mode 100644 index 00000000000..b2693e57c3d --- /dev/null +++ b/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-after-seeing-file-existance-on-the-disk.js @@ -0,0 +1,866 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/myproject/src/index.ts] +import {} from '@/old'; + +//// [/home/src/myproject/src/old.ts] +export const x = 10; + +//// [/home/src/myproject/tsconfig.json] +{ + "compilerOptions": { + "paths": { + "@/*": [ + "./src/*" + ] + } + } +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/myproject/src/index.ts", + "projectRootPath": "/home/src/myproject" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/myproject/tsconfig.json 2000 undefined Project: /home/src/myproject/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 1, + "path": "/home/src/myproject/tsconfig.json" + } + } +Custom watchFile:: Added:: {"id":1,"path":"/home/src/myproject/tsconfig.json"} +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/myproject/tsconfig.json", + "reason": "Creating possible configured project for /home/src/myproject/src/index.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/myproject/tsconfig.json : { + "rootNames": [ + "/home/src/myproject/src/index.ts", + "/home/src/myproject/src/old.ts" + ], + "options": { + "paths": { + "@/*": [ + "./src/*" + ] + }, + "pathsBasePath": "/home/src/myproject", + "configFilePath": "/home/src/myproject/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 2, + "path": "/home/src/myproject", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/myproject/src/old.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 3, + "path": "/home/src/myproject/src/old.ts" + } + } +Custom watchFile:: Added:: {"id":3,"path":"/home/src/myproject/src/old.ts"} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 4, + "path": "/a/lib/lib.d.ts" + } + } +Custom watchFile:: Added:: {"id":4,"path":"/a/lib/lib.d.ts"} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules/@types 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 5, + "path": "/home/src/myproject/node_modules/@types", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":5,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules/@types 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/myproject/src/old.ts Text-1 "export const x = 10;" + /home/src/myproject/src/index.ts SVC-1-0 "import {} from '@/old';" + + + ../../../a/lib/lib.d.ts + Default library for target 'es5' + src/old.ts + Imported via '@/old' from file 'src/index.ts' + Matched by default include pattern '**/*' + src/index.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/myproject/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "6bb806941aafa001b31e4d631704de33d39b9ccdac64dcf4d86298a41f7f5e12", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 2, + "tsSize": 43, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "paths": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/myproject/src/index.ts", + "configFile": "/home/src/myproject/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 1, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: *new* + {"event":{"id":4,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/src/old.ts: *new* + {"event":{"id":3,"path":"/home/src/myproject/src/old.ts"}} +/home/src/myproject/tsconfig.json: *new* + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: *new* + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules/@types: *new* + {"event":{"id":5,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/old.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/myproject/src/old.ts", + "projectRootPath": "/home/src/myproject" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/myproject/src/old.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "closeFileWatcher", + "body": { + "id": 3 + } + } +Custom watchFile:: Close:: {"id":3,"path":"/home/src/myproject/src/old.ts"} +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/old.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/old.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 2, + "success": true + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"event":{"id":4,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/tsconfig.json: + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +PolledWatches *deleted*:: +/home/src/myproject/src/old.ts: + {"event":{"id":3,"path":"/home/src/myproject/src/old.ts"}} + +FsWatchesRecursive:: +/home/src/myproject: + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules/@types: + {"event":{"id":5,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/old.ts (Open) *changed* + open: true *changed* + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* + +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/old.ts deleted +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/new.ts created +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/new.ts updated +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src updated +Before request +//// [/home/src/myproject/src/new.ts] +export const x = 10; + +//// [/home/src/myproject/src/old.ts] deleted + +Info seq [hh:mm:ss:mss] request: + { + "command": "watchChange", + "arguments": { + "id": 2, + "deleted": [ + "/home/src/myproject/src/old.ts" + ], + "created": [ + "/home/src/myproject/src/new.ts" + ] + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/myproject/src/new.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/myproject/src/new.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/myproject/src/old.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/myproject/src/old.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +After request + +Timeout callback:: count: 2 +1: /home/src/myproject/tsconfig.json *new* +2: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/myproject/src/old.ts" + }, + "seq": 4, + "type": "request" + } +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "close", + "request_seq": 4, + "success": true + } +After request + +Timeout callback:: count: 2 +1: /home/src/myproject/tsconfig.json *deleted* +2: *ensureProjectForOpenFiles* *deleted* +3: /home/src/myproject/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/old.ts *deleted* + open: false *changed* + version: Text-1 + containingProjects: 0 *changed* + /home/src/myproject/tsconfig.json *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/myproject/src/new.ts", + "projectRootPath": "/home/src/myproject", + "fileContent": "export const x = 10;" + }, + "seq": 5, + "type": "request" + } +Info seq [hh:mm:ss:mss] Invoking /home/src/myproject/tsconfig.json:: wildcard for open scriptInfo:: /home/src/myproject/src/new.ts +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/new.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/src 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 6, + "path": "/home/src/myproject/src", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":6,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/src 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 7, + "path": "/home/src/myproject/node_modules", + "recursive": true + } + } +Custom watchDirectory:: Added:: {"id":7,"path":"/home/src/myproject/node_modules","recursive":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/myproject/src/index.ts SVC-1-0 "import {} from '@/old';" + /home/src/myproject/src/new.ts SVC-1-0 "export const x = 10;" + + + ../../../a/lib/lib.d.ts + Default library for target 'es5' + src/index.ts + Matched by default include pattern '**/*' + src/new.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/new.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 5, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"event":{"id":4,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/tsconfig.json: + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules: *new* + {"event":{"id":7,"path":"/home/src/myproject/node_modules","recursive":true}} +/home/src/myproject/node_modules/@types: + {"event":{"id":5,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/src: *new* + {"event":{"id":6,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true}} + +Timeout callback:: count: 2 +3: /home/src/myproject/tsconfig.json *deleted* +4: *ensureProjectForOpenFiles* *deleted* +5: /home/src/myproject/tsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 2 *changed* + dirty: false *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "getEditsForFileRename", + "arguments": { + "oldFilePath": "/home/src/myproject/src/old.ts", + "newFilePath": "/home/src/myproject/src/new.ts" + }, + "seq": 6, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "response": [ + { + "fileName": "/home/src/myproject/src/index.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 17 + }, + "end": { + "line": 1, + "offset": 22 + }, + "newText": "@/new" + } + ] + } + ], + "responseRequired": true + } +After request + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 2 + documentPositionMappers: 1 *changed* + /a/lib/lib.d.ts: identitySourceMapConsumer *new* + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + sourceMapFilePath: false *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/myproject/src/new.ts" + }, + "seq": 7, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/myproject/src/new.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 8, + "path": "/home/src/myproject/src/new.ts" + } + } +Custom watchFile:: Added:: {"id":8,"path":"/home/src/myproject/src/new.ts"} +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "close", + "request_seq": 7, + "success": true + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"event":{"id":4,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/src/new.ts: *new* + {"event":{"id":8,"path":"/home/src/myproject/src/new.ts"}} +/home/src/myproject/tsconfig.json: + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules: + {"event":{"id":7,"path":"/home/src/myproject/node_modules","recursive":true}} +/home/src/myproject/node_modules/@types: + {"event":{"id":5,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/src: + {"event":{"id":6,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true}} + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 2 + dirty: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + sourceMapFilePath: false + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts *changed* + open: false *changed* + version: SVC-1-0 + pendingReloadFromDisk: true *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + "/home/src/myproject/src/index.ts" + ] + }, + "seq": 8, + "type": "request" + } +After request + +Timeout callback:: count: 3 +5: /home/src/myproject/tsconfig.json +6: *ensureProjectForOpenFiles* +7: checkOne *new* + +Before running Timeout callback:: count: 3 +5: /home/src/myproject/tsconfig.json +6: *ensureProjectForOpenFiles* +7: checkOne + +Info seq [hh:mm:ss:mss] Running: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 structureChanged: false structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Same program as before +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/myproject/src/index.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/myproject/src/index.ts" + ] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [] + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +1: semanticCheck *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 3 + projectProgramVersion: 2 + dirty: false *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + sourceMapFilePath: false + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts *changed* + version: SVC-1-0 + pendingReloadFromDisk: false *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json + +Before running Immedidate callback:: count: 1 +1: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [ + { + "start": { + "line": 1, + "offset": 16 + }, + "end": { + "line": 1, + "offset": 23 + }, + "text": "Cannot find module '@/old' or its corresponding type declarations.", + "code": 2307, + "category": "error" + } + ] + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +2: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +2: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 8, + "performanceData": { + "diagnosticsDuration": [ + { + "syntaxDiag": *, + "semanticDiag": *, + "suggestionDiag": *, + "file": "/home/src/myproject/src/index.ts" + } + ] + } + } + } +After running Immedidate callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk-closed-before-change-with-updateOpen.js b/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk-closed-before-change-with-updateOpen.js new file mode 100644 index 00000000000..c2130013699 --- /dev/null +++ b/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk-closed-before-change-with-updateOpen.js @@ -0,0 +1,740 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/myproject/src/index.ts] +import {} from '@/old'; + +//// [/home/src/myproject/src/old.ts] +export const x = 10; + +//// [/home/src/myproject/tsconfig.json] +{ + "compilerOptions": { + "paths": { + "@/*": [ + "./src/*" + ] + } + } +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "updateOpen", + "arguments": { + "openFiles": [ + { + "file": "/home/src/myproject/src/index.ts", + "projectRootPath": "/home/src/myproject" + }, + { + "file": "/home/src/myproject/src/old.ts", + "projectRootPath": "/home/src/myproject" + } + ] + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/myproject/tsconfig.json 2000 undefined Project: /home/src/myproject/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 1, + "path": "/home/src/myproject/tsconfig.json" + } + } +Custom watchFile:: Added:: {"id":1,"path":"/home/src/myproject/tsconfig.json"} +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/myproject/tsconfig.json", + "reason": "Creating possible configured project for /home/src/myproject/src/index.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/myproject/tsconfig.json : { + "rootNames": [ + "/home/src/myproject/src/index.ts", + "/home/src/myproject/src/old.ts" + ], + "options": { + "paths": { + "@/*": [ + "./src/*" + ] + }, + "pathsBasePath": "/home/src/myproject", + "configFilePath": "/home/src/myproject/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 2, + "path": "/home/src/myproject", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 3, + "path": "/a/lib/lib.d.ts" + } + } +Custom watchFile:: Added:: {"id":3,"path":"/a/lib/lib.d.ts"} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules/@types 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 4, + "path": "/home/src/myproject/node_modules/@types", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":4,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules/@types 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/myproject/src/old.ts SVC-1-0 "export const x = 10;" + /home/src/myproject/src/index.ts SVC-1-0 "import {} from '@/old';" + + + ../../../a/lib/lib.d.ts + Default library for target 'es5' + src/old.ts + Imported via '@/old' from file 'src/index.ts' + Matched by default include pattern '**/*' + src/index.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/myproject/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "6bb806941aafa001b31e4d631704de33d39b9ccdac64dcf4d86298a41f7f5e12", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 2, + "tsSize": 43, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "paths": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/myproject/src/index.ts", + "configFile": "/home/src/myproject/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/old.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/old.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "response": true, + "responseRequired": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: *new* + {"event":{"id":3,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/tsconfig.json: *new* + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: *new* + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules/@types: *new* + {"event":{"id":4,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/old.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* + +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/old.ts deleted +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/new.ts created +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/new.ts updated +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src updated +Before request +//// [/home/src/myproject/src/new.ts] +export const x = 10; + +//// [/home/src/myproject/src/old.ts] deleted + +Info seq [hh:mm:ss:mss] request: + { + "command": "updateOpen", + "arguments": { + "openFiles": [ + { + "file": "/home/src/myproject/src/new.ts", + "fileContent": "export const x = 10;", + "projectRootPath": "/home/src/myproject" + } + ], + "closedFiles": [ + "/home/src/myproject/src/old.ts" + ] + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Invoking /home/src/myproject/tsconfig.json:: wildcard for open scriptInfo:: /home/src/myproject/src/new.ts +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/new.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/src 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 5, + "path": "/home/src/myproject/src", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":5,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/src 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 6, + "path": "/home/src/myproject/node_modules", + "recursive": true + } + } +Custom watchDirectory:: Added:: {"id":6,"path":"/home/src/myproject/node_modules","recursive":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/myproject/src/index.ts SVC-1-0 "import {} from '@/old';" + /home/src/myproject/src/new.ts SVC-1-0 "export const x = 10;" + + + ../../../a/lib/lib.d.ts + Default library for target 'es5' + src/index.ts + Matched by default include pattern '**/*' + src/new.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/new.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "response": true, + "responseRequired": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"event":{"id":3,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/tsconfig.json: + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules: *new* + {"event":{"id":6,"path":"/home/src/myproject/node_modules","recursive":true}} +/home/src/myproject/node_modules/@types: + {"event":{"id":4,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/src: *new* + {"event":{"id":5,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true}} + +Timeout callback:: count: 2 +3: /home/src/myproject/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 2 *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/old.ts *deleted* + open: false *changed* + version: SVC-1-0 + containingProjects: 0 *changed* + /home/src/myproject/tsconfig.json *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "getEditsForFileRename", + "arguments": { + "oldFilePath": "/home/src/myproject/src/old.ts", + "newFilePath": "/home/src/myproject/src/new.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "response": [ + { + "fileName": "/home/src/myproject/src/index.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 17 + }, + "end": { + "line": 1, + "offset": 22 + }, + "newText": "@/new" + } + ] + } + ], + "responseRequired": true + } +After request + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 2 + documentPositionMappers: 1 *changed* + /a/lib/lib.d.ts: identitySourceMapConsumer *new* + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + sourceMapFilePath: false *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "updateOpen", + "arguments": { + "closedFiles": [ + "/home/src/myproject/src/new.ts" + ] + }, + "seq": 4, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/myproject/src/new.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 7, + "path": "/home/src/myproject/src/new.ts" + } + } +Custom watchFile:: Added:: {"id":7,"path":"/home/src/myproject/src/new.ts"} +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "response": true, + "responseRequired": true + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"event":{"id":3,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/src/new.ts: *new* + {"event":{"id":7,"path":"/home/src/myproject/src/new.ts"}} +/home/src/myproject/tsconfig.json: + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules: + {"event":{"id":6,"path":"/home/src/myproject/node_modules","recursive":true}} +/home/src/myproject/node_modules/@types: + {"event":{"id":4,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/src: + {"event":{"id":5,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true}} + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 2 + dirty: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + sourceMapFilePath: false + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts *changed* + open: false *changed* + version: SVC-1-0 + pendingReloadFromDisk: true *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "watchChange", + "arguments": { + "id": 2, + "deleted": [ + "/home/src/myproject/src/old.ts" + ], + "created": [ + "/home/src/myproject/src/new.ts" + ] + }, + "seq": 5, + "type": "request" + } +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/myproject/src/new.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/myproject/src/new.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/myproject/src/old.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/myproject/src/old.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +After request + +Timeout callback:: count: 2 +3: /home/src/myproject/tsconfig.json *deleted* +4: *ensureProjectForOpenFiles* *deleted* +7: /home/src/myproject/tsconfig.json *new* +8: *ensureProjectForOpenFiles* *new* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + "/home/src/myproject/src/index.ts" + ] + }, + "seq": 6, + "type": "request" + } +After request + +Timeout callback:: count: 3 +7: /home/src/myproject/tsconfig.json +8: *ensureProjectForOpenFiles* +9: checkOne *new* + +Before running Timeout callback:: count: 3 +7: /home/src/myproject/tsconfig.json +8: *ensureProjectForOpenFiles* +9: checkOne + +Info seq [hh:mm:ss:mss] Running: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 structureChanged: false structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Same program as before +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/myproject/src/index.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/myproject/src/index.ts" + ] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [] + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +1: semanticCheck *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 3 + projectProgramVersion: 2 + dirty: false *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + sourceMapFilePath: false + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts *changed* + version: SVC-1-0 + pendingReloadFromDisk: false *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json + +Before running Immedidate callback:: count: 1 +1: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [ + { + "start": { + "line": 1, + "offset": 16 + }, + "end": { + "line": 1, + "offset": 23 + }, + "text": "Cannot find module '@/old' or its corresponding type declarations.", + "code": 2307, + "category": "error" + } + ] + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +2: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +2: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 6, + "performanceData": { + "diagnosticsDuration": [ + { + "syntaxDiag": *, + "semanticDiag": *, + "suggestionDiag": *, + "file": "/home/src/myproject/src/index.ts" + } + ] + } + } + } +After running Immedidate callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk-closed-before-change.js b/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk-closed-before-change.js new file mode 100644 index 00000000000..5ba56962fa9 --- /dev/null +++ b/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk-closed-before-change.js @@ -0,0 +1,868 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/myproject/src/index.ts] +import {} from '@/old'; + +//// [/home/src/myproject/src/old.ts] +export const x = 10; + +//// [/home/src/myproject/tsconfig.json] +{ + "compilerOptions": { + "paths": { + "@/*": [ + "./src/*" + ] + } + } +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/myproject/src/index.ts", + "projectRootPath": "/home/src/myproject" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/myproject/tsconfig.json 2000 undefined Project: /home/src/myproject/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 1, + "path": "/home/src/myproject/tsconfig.json" + } + } +Custom watchFile:: Added:: {"id":1,"path":"/home/src/myproject/tsconfig.json"} +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/myproject/tsconfig.json", + "reason": "Creating possible configured project for /home/src/myproject/src/index.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/myproject/tsconfig.json : { + "rootNames": [ + "/home/src/myproject/src/index.ts", + "/home/src/myproject/src/old.ts" + ], + "options": { + "paths": { + "@/*": [ + "./src/*" + ] + }, + "pathsBasePath": "/home/src/myproject", + "configFilePath": "/home/src/myproject/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 2, + "path": "/home/src/myproject", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/myproject/src/old.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 3, + "path": "/home/src/myproject/src/old.ts" + } + } +Custom watchFile:: Added:: {"id":3,"path":"/home/src/myproject/src/old.ts"} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 4, + "path": "/a/lib/lib.d.ts" + } + } +Custom watchFile:: Added:: {"id":4,"path":"/a/lib/lib.d.ts"} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules/@types 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 5, + "path": "/home/src/myproject/node_modules/@types", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":5,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules/@types 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/myproject/src/old.ts Text-1 "export const x = 10;" + /home/src/myproject/src/index.ts SVC-1-0 "import {} from '@/old';" + + + ../../../a/lib/lib.d.ts + Default library for target 'es5' + src/old.ts + Imported via '@/old' from file 'src/index.ts' + Matched by default include pattern '**/*' + src/index.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/myproject/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "6bb806941aafa001b31e4d631704de33d39b9ccdac64dcf4d86298a41f7f5e12", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 2, + "tsSize": 43, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "paths": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/myproject/src/index.ts", + "configFile": "/home/src/myproject/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 1, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: *new* + {"event":{"id":4,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/src/old.ts: *new* + {"event":{"id":3,"path":"/home/src/myproject/src/old.ts"}} +/home/src/myproject/tsconfig.json: *new* + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: *new* + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules/@types: *new* + {"event":{"id":5,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/old.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/myproject/src/old.ts", + "projectRootPath": "/home/src/myproject" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/myproject/src/old.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "closeFileWatcher", + "body": { + "id": 3 + } + } +Custom watchFile:: Close:: {"id":3,"path":"/home/src/myproject/src/old.ts"} +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/old.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/old.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 2, + "success": true + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"event":{"id":4,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/tsconfig.json: + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +PolledWatches *deleted*:: +/home/src/myproject/src/old.ts: + {"event":{"id":3,"path":"/home/src/myproject/src/old.ts"}} + +FsWatchesRecursive:: +/home/src/myproject: + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules/@types: + {"event":{"id":5,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/old.ts (Open) *changed* + open: true *changed* + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* + +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/old.ts deleted +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/new.ts created +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/new.ts updated +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src updated +Before request +//// [/home/src/myproject/src/new.ts] +export const x = 10; + +//// [/home/src/myproject/src/old.ts] deleted + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/myproject/src/old.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "close", + "request_seq": 3, + "success": true + } +After request + +Timeout callback:: count: 2 +1: /home/src/myproject/tsconfig.json *new* +2: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/old.ts *deleted* + open: false *changed* + version: Text-1 + containingProjects: 0 *changed* + /home/src/myproject/tsconfig.json *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/myproject/src/new.ts", + "projectRootPath": "/home/src/myproject", + "fileContent": "export const x = 10;" + }, + "seq": 4, + "type": "request" + } +Info seq [hh:mm:ss:mss] Invoking /home/src/myproject/tsconfig.json:: wildcard for open scriptInfo:: /home/src/myproject/src/new.ts +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/new.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/src 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 6, + "path": "/home/src/myproject/src", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":6,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/src 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 7, + "path": "/home/src/myproject/node_modules", + "recursive": true + } + } +Custom watchDirectory:: Added:: {"id":7,"path":"/home/src/myproject/node_modules","recursive":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/myproject/src/index.ts SVC-1-0 "import {} from '@/old';" + /home/src/myproject/src/new.ts SVC-1-0 "export const x = 10;" + + + ../../../a/lib/lib.d.ts + Default library for target 'es5' + src/index.ts + Matched by default include pattern '**/*' + src/new.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/new.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 4, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"event":{"id":4,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/tsconfig.json: + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules: *new* + {"event":{"id":7,"path":"/home/src/myproject/node_modules","recursive":true}} +/home/src/myproject/node_modules/@types: + {"event":{"id":5,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/src: *new* + {"event":{"id":6,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true}} + +Timeout callback:: count: 2 +1: /home/src/myproject/tsconfig.json *deleted* +2: *ensureProjectForOpenFiles* *deleted* +3: /home/src/myproject/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 2 *changed* + dirty: false *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "getEditsForFileRename", + "arguments": { + "oldFilePath": "/home/src/myproject/src/old.ts", + "newFilePath": "/home/src/myproject/src/new.ts" + }, + "seq": 5, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "response": [ + { + "fileName": "/home/src/myproject/src/index.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 17 + }, + "end": { + "line": 1, + "offset": 22 + }, + "newText": "@/new" + } + ] + } + ], + "responseRequired": true + } +After request + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 2 + documentPositionMappers: 1 *changed* + /a/lib/lib.d.ts: identitySourceMapConsumer *new* + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + sourceMapFilePath: false *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/myproject/src/new.ts" + }, + "seq": 6, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/myproject/src/new.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 8, + "path": "/home/src/myproject/src/new.ts" + } + } +Custom watchFile:: Added:: {"id":8,"path":"/home/src/myproject/src/new.ts"} +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "close", + "request_seq": 6, + "success": true + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"event":{"id":4,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/src/new.ts: *new* + {"event":{"id":8,"path":"/home/src/myproject/src/new.ts"}} +/home/src/myproject/tsconfig.json: + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules: + {"event":{"id":7,"path":"/home/src/myproject/node_modules","recursive":true}} +/home/src/myproject/node_modules/@types: + {"event":{"id":5,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/src: + {"event":{"id":6,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true}} + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 2 + dirty: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + sourceMapFilePath: false + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts *changed* + open: false *changed* + version: SVC-1-0 + pendingReloadFromDisk: true *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "watchChange", + "arguments": { + "id": 2, + "deleted": [ + "/home/src/myproject/src/old.ts" + ], + "created": [ + "/home/src/myproject/src/new.ts" + ] + }, + "seq": 7, + "type": "request" + } +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/myproject/src/new.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/myproject/src/new.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/myproject/src/old.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/myproject/src/old.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +After request + +Timeout callback:: count: 2 +3: /home/src/myproject/tsconfig.json *deleted* +4: *ensureProjectForOpenFiles* *deleted* +7: /home/src/myproject/tsconfig.json *new* +8: *ensureProjectForOpenFiles* *new* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + "/home/src/myproject/src/index.ts" + ] + }, + "seq": 8, + "type": "request" + } +After request + +Timeout callback:: count: 3 +7: /home/src/myproject/tsconfig.json +8: *ensureProjectForOpenFiles* +9: checkOne *new* + +Before running Timeout callback:: count: 3 +7: /home/src/myproject/tsconfig.json +8: *ensureProjectForOpenFiles* +9: checkOne + +Info seq [hh:mm:ss:mss] Running: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 structureChanged: false structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Same program as before +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/myproject/src/index.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/myproject/src/index.ts" + ] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [] + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +1: semanticCheck *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 3 + projectProgramVersion: 2 + dirty: false *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + sourceMapFilePath: false + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts *changed* + version: SVC-1-0 + pendingReloadFromDisk: false *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json + +Before running Immedidate callback:: count: 1 +1: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [ + { + "start": { + "line": 1, + "offset": 16 + }, + "end": { + "line": 1, + "offset": 23 + }, + "text": "Cannot find module '@/old' or its corresponding type declarations.", + "code": 2307, + "category": "error" + } + ] + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +2: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +2: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 8, + "performanceData": { + "diagnosticsDuration": [ + { + "syntaxDiag": *, + "semanticDiag": *, + "suggestionDiag": *, + "file": "/home/src/myproject/src/index.ts" + } + ] + } + } + } +After running Immedidate callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk-with-updateOpen.js b/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk-with-updateOpen.js new file mode 100644 index 00000000000..a1442f76b64 --- /dev/null +++ b/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk-with-updateOpen.js @@ -0,0 +1,738 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/myproject/src/index.ts] +import {} from '@/old'; + +//// [/home/src/myproject/src/old.ts] +export const x = 10; + +//// [/home/src/myproject/tsconfig.json] +{ + "compilerOptions": { + "paths": { + "@/*": [ + "./src/*" + ] + } + } +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "updateOpen", + "arguments": { + "openFiles": [ + { + "file": "/home/src/myproject/src/index.ts", + "projectRootPath": "/home/src/myproject" + }, + { + "file": "/home/src/myproject/src/old.ts", + "projectRootPath": "/home/src/myproject" + } + ] + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/myproject/tsconfig.json 2000 undefined Project: /home/src/myproject/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 1, + "path": "/home/src/myproject/tsconfig.json" + } + } +Custom watchFile:: Added:: {"id":1,"path":"/home/src/myproject/tsconfig.json"} +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/myproject/tsconfig.json", + "reason": "Creating possible configured project for /home/src/myproject/src/index.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/myproject/tsconfig.json : { + "rootNames": [ + "/home/src/myproject/src/index.ts", + "/home/src/myproject/src/old.ts" + ], + "options": { + "paths": { + "@/*": [ + "./src/*" + ] + }, + "pathsBasePath": "/home/src/myproject", + "configFilePath": "/home/src/myproject/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 2, + "path": "/home/src/myproject", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 3, + "path": "/a/lib/lib.d.ts" + } + } +Custom watchFile:: Added:: {"id":3,"path":"/a/lib/lib.d.ts"} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules/@types 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 4, + "path": "/home/src/myproject/node_modules/@types", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":4,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules/@types 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/myproject/src/old.ts SVC-1-0 "export const x = 10;" + /home/src/myproject/src/index.ts SVC-1-0 "import {} from '@/old';" + + + ../../../a/lib/lib.d.ts + Default library for target 'es5' + src/old.ts + Imported via '@/old' from file 'src/index.ts' + Matched by default include pattern '**/*' + src/index.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/myproject/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "6bb806941aafa001b31e4d631704de33d39b9ccdac64dcf4d86298a41f7f5e12", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 2, + "tsSize": 43, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "paths": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/myproject/src/index.ts", + "configFile": "/home/src/myproject/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/old.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/old.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "response": true, + "responseRequired": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: *new* + {"event":{"id":3,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/tsconfig.json: *new* + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: *new* + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules/@types: *new* + {"event":{"id":4,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/old.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* + +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/old.ts deleted +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/new.ts created +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/new.ts updated +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src updated +Before request +//// [/home/src/myproject/src/new.ts] +export const x = 10; + +//// [/home/src/myproject/src/old.ts] deleted + +Info seq [hh:mm:ss:mss] request: + { + "command": "updateOpen", + "arguments": { + "openFiles": [ + { + "file": "/home/src/myproject/src/new.ts", + "fileContent": "export const x = 10;", + "projectRootPath": "/home/src/myproject" + } + ], + "closedFiles": [ + "/home/src/myproject/src/old.ts" + ] + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Invoking /home/src/myproject/tsconfig.json:: wildcard for open scriptInfo:: /home/src/myproject/src/new.ts +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/new.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/src 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 5, + "path": "/home/src/myproject/src", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":5,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/src 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 6, + "path": "/home/src/myproject/node_modules", + "recursive": true + } + } +Custom watchDirectory:: Added:: {"id":6,"path":"/home/src/myproject/node_modules","recursive":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/myproject/src/index.ts SVC-1-0 "import {} from '@/old';" + /home/src/myproject/src/new.ts SVC-1-0 "export const x = 10;" + + + ../../../a/lib/lib.d.ts + Default library for target 'es5' + src/index.ts + Matched by default include pattern '**/*' + src/new.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/new.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "response": true, + "responseRequired": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"event":{"id":3,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/tsconfig.json: + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules: *new* + {"event":{"id":6,"path":"/home/src/myproject/node_modules","recursive":true}} +/home/src/myproject/node_modules/@types: + {"event":{"id":4,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/src: *new* + {"event":{"id":5,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true}} + +Timeout callback:: count: 2 +3: /home/src/myproject/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 2 *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/old.ts *deleted* + open: false *changed* + version: SVC-1-0 + containingProjects: 0 *changed* + /home/src/myproject/tsconfig.json *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "getEditsForFileRename", + "arguments": { + "oldFilePath": "/home/src/myproject/src/old.ts", + "newFilePath": "/home/src/myproject/src/new.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "response": [ + { + "fileName": "/home/src/myproject/src/index.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 17 + }, + "end": { + "line": 1, + "offset": 22 + }, + "newText": "@/new" + } + ] + } + ], + "responseRequired": true + } +After request + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 2 + documentPositionMappers: 1 *changed* + /a/lib/lib.d.ts: identitySourceMapConsumer *new* + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + sourceMapFilePath: false *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "watchChange", + "arguments": { + "id": 2, + "deleted": [ + "/home/src/myproject/src/old.ts" + ], + "created": [ + "/home/src/myproject/src/new.ts" + ] + }, + "seq": 4, + "type": "request" + } +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/myproject/src/new.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/myproject/src/new.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/myproject/src/old.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/myproject/src/old.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +After request + +Timeout callback:: count: 2 +3: /home/src/myproject/tsconfig.json *deleted* +4: *ensureProjectForOpenFiles* *deleted* +5: /home/src/myproject/tsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 2 + dirty: true *changed* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "updateOpen", + "arguments": { + "closedFiles": [ + "/home/src/myproject/src/new.ts" + ] + }, + "seq": 5, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/myproject/src/new.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 7, + "path": "/home/src/myproject/src/new.ts" + } + } +Custom watchFile:: Added:: {"id":7,"path":"/home/src/myproject/src/new.ts"} +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "response": true, + "responseRequired": true + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"event":{"id":3,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/src/new.ts: *new* + {"event":{"id":7,"path":"/home/src/myproject/src/new.ts"}} +/home/src/myproject/tsconfig.json: + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules: + {"event":{"id":6,"path":"/home/src/myproject/node_modules","recursive":true}} +/home/src/myproject/node_modules/@types: + {"event":{"id":4,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/src: + {"event":{"id":5,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true}} + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + sourceMapFilePath: false + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts *changed* + open: false *changed* + version: SVC-1-0 + pendingReloadFromDisk: true *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + "/home/src/myproject/src/index.ts" + ] + }, + "seq": 6, + "type": "request" + } +After request + +Timeout callback:: count: 3 +5: /home/src/myproject/tsconfig.json +6: *ensureProjectForOpenFiles* +7: checkOne *new* + +Before running Timeout callback:: count: 3 +5: /home/src/myproject/tsconfig.json +6: *ensureProjectForOpenFiles* +7: checkOne + +Info seq [hh:mm:ss:mss] Running: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 structureChanged: false structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Same program as before +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/myproject/src/index.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/myproject/src/index.ts" + ] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [] + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +1: semanticCheck *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 3 + projectProgramVersion: 2 + dirty: false *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + sourceMapFilePath: false + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts *changed* + version: SVC-1-0 + pendingReloadFromDisk: false *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json + +Before running Immedidate callback:: count: 1 +1: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [ + { + "start": { + "line": 1, + "offset": 16 + }, + "end": { + "line": 1, + "offset": 23 + }, + "text": "Cannot find module '@/old' or its corresponding type declarations.", + "code": 2307, + "category": "error" + } + ] + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +2: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +2: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 6, + "performanceData": { + "diagnosticsDuration": [ + { + "syntaxDiag": *, + "semanticDiag": *, + "suggestionDiag": *, + "file": "/home/src/myproject/src/index.ts" + } + ] + } + } + } +After running Immedidate callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk.js b/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk.js new file mode 100644 index 00000000000..0e223c8cffc --- /dev/null +++ b/tests/baselines/reference/tsserver/getEditsForFileRename/works-with-when-file-is-opened-before-seeing-file-existance-on-the-disk.js @@ -0,0 +1,866 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Info seq [hh:mm:ss:mss] Provided types map file "/typesMap.json" doesn't exist +Before request +//// [/home/src/myproject/src/index.ts] +import {} from '@/old'; + +//// [/home/src/myproject/src/old.ts] +export const x = 10; + +//// [/home/src/myproject/tsconfig.json] +{ + "compilerOptions": { + "paths": { + "@/*": [ + "./src/*" + ] + } + } +} + +//// [/a/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } + + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/myproject/src/index.ts", + "projectRootPath": "/home/src/myproject" + }, + "seq": 1, + "type": "request" + } +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Creating configuration project /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/myproject/tsconfig.json 2000 undefined Project: /home/src/myproject/tsconfig.json WatchType: Config file +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 1, + "path": "/home/src/myproject/tsconfig.json" + } + } +Custom watchFile:: Added:: {"id":1,"path":"/home/src/myproject/tsconfig.json"} +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingStart", + "body": { + "projectName": "/home/src/myproject/tsconfig.json", + "reason": "Creating possible configured project for /home/src/myproject/src/index.ts to open" + } + } +Info seq [hh:mm:ss:mss] Config: /home/src/myproject/tsconfig.json : { + "rootNames": [ + "/home/src/myproject/src/index.ts", + "/home/src/myproject/src/old.ts" + ], + "options": { + "paths": { + "@/*": [ + "./src/*" + ] + }, + "pathsBasePath": "/home/src/myproject", + "configFilePath": "/home/src/myproject/tsconfig.json" + } +} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 2, + "path": "/home/src/myproject", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/myproject/src/old.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 3, + "path": "/home/src/myproject/src/old.ts" + } + } +Custom watchFile:: Added:: {"id":3,"path":"/home/src/myproject/src/old.ts"} +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 4, + "path": "/a/lib/lib.d.ts" + } + } +Custom watchFile:: Added:: {"id":4,"path":"/a/lib/lib.d.ts"} +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules/@types 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 5, + "path": "/home/src/myproject/node_modules/@types", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":5,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules/@types 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Type roots +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/myproject/src/old.ts Text-1 "export const x = 10;" + /home/src/myproject/src/index.ts SVC-1-0 "import {} from '@/old';" + + + ../../../a/lib/lib.d.ts + Default library for target 'es5' + src/old.ts + Imported via '@/old' from file 'src/index.ts' + Matched by default include pattern '**/*' + src/index.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectLoadingFinish", + "body": { + "projectName": "/home/src/myproject/tsconfig.json" + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "telemetry", + "body": { + "telemetryEventName": "projectInfo", + "payload": { + "projectId": "6bb806941aafa001b31e4d631704de33d39b9ccdac64dcf4d86298a41f7f5e12", + "fileStats": { + "js": 0, + "jsSize": 0, + "jsx": 0, + "jsxSize": 0, + "ts": 2, + "tsSize": 43, + "tsx": 0, + "tsxSize": 0, + "dts": 1, + "dtsSize": 334, + "deferred": 0, + "deferredSize": 0 + }, + "compilerOptions": { + "paths": "" + }, + "typeAcquisition": { + "enable": false, + "include": false, + "exclude": false + }, + "extends": false, + "files": false, + "include": false, + "exclude": false, + "compileOnSave": false, + "configFileName": "tsconfig.json", + "projectType": "configured", + "languageServiceEnabled": true, + "version": "FakeVersion" + } + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "configFileDiag", + "body": { + "triggerFile": "/home/src/myproject/src/index.ts", + "configFile": "/home/src/myproject/tsconfig.json", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 1, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: *new* + {"event":{"id":4,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/src/old.ts: *new* + {"event":{"id":3,"path":"/home/src/myproject/src/old.ts"}} +/home/src/myproject/tsconfig.json: *new* + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: *new* + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules/@types: *new* + {"event":{"id":5,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *new* + projectStateVersion: 1 + projectProgramVersion: 1 + +ScriptInfos:: +/a/lib/lib.d.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/old.ts *new* + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/myproject/src/old.ts", + "projectRootPath": "/home/src/myproject" + }, + "seq": 2, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/myproject/src/old.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "closeFileWatcher", + "body": { + "id": 3 + } + } +Custom watchFile:: Close:: {"id":3,"path":"/home/src/myproject/src/old.ts"} +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/old.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/old.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 2, + "success": true + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"event":{"id":4,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/tsconfig.json: + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +PolledWatches *deleted*:: +/home/src/myproject/src/old.ts: + {"event":{"id":3,"path":"/home/src/myproject/src/old.ts"}} + +FsWatchesRecursive:: +/home/src/myproject: + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules/@types: + {"event":{"id":5,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/old.ts (Open) *changed* + open: true *changed* + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* + +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/old.ts deleted +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/new.ts created +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src/new.ts updated +Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}:: /home/src/myproject/src updated +Before request +//// [/home/src/myproject/src/new.ts] +export const x = 10; + +//// [/home/src/myproject/src/old.ts] deleted + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/myproject/src/old.ts" + }, + "seq": 3, + "type": "request" + } +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "close", + "request_seq": 3, + "success": true + } +After request + +Timeout callback:: count: 2 +1: /home/src/myproject/tsconfig.json *new* +2: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 *changed* + projectProgramVersion: 1 + dirty: true *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/old.ts *deleted* + open: false *changed* + version: Text-1 + containingProjects: 0 *changed* + /home/src/myproject/tsconfig.json *deleted* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "open", + "arguments": { + "file": "/home/src/myproject/src/new.ts", + "projectRootPath": "/home/src/myproject", + "fileContent": "export const x = 10;" + }, + "seq": 4, + "type": "request" + } +Info seq [hh:mm:ss:mss] Invoking /home/src/myproject/tsconfig.json:: wildcard for open scriptInfo:: /home/src/myproject/src/new.ts +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/src/myproject/src/new.ts ProjectRootPath: /home/src/myproject:: Result: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/src 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 6, + "path": "/home/src/myproject/src", + "recursive": true, + "ignoreUpdate": true + } + } +Custom watchDirectory:: Added:: {"id":6,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/src 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createDirectoryWatcher", + "body": { + "id": 7, + "path": "/home/src/myproject/node_modules", + "recursive": true + } + } +Custom watchDirectory:: Added:: {"id":7,"path":"/home/src/myproject/node_modules","recursive":true} +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/myproject/node_modules 1 undefined Project: /home/src/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" + /home/src/myproject/src/index.ts SVC-1-0 "import {} from '@/old';" + /home/src/myproject/src/new.ts SVC-1-0 "export const x = 10;" + + + ../../../a/lib/lib.d.ts + Default library for target 'es5' + src/index.ts + Matched by default include pattern '**/*' + src/new.ts + Matched by default include pattern '**/*' + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/new.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "open", + "request_seq": 4, + "success": true, + "performanceData": { + "updateGraphDurationMs": * + } + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"event":{"id":4,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/tsconfig.json: + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules: *new* + {"event":{"id":7,"path":"/home/src/myproject/node_modules","recursive":true}} +/home/src/myproject/node_modules/@types: + {"event":{"id":5,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/src: *new* + {"event":{"id":6,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true}} + +Timeout callback:: count: 2 +1: /home/src/myproject/tsconfig.json *deleted* +2: *ensureProjectForOpenFiles* *deleted* +3: /home/src/myproject/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 2 *changed* + dirty: false *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts (Open) *new* + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "getEditsForFileRename", + "arguments": { + "oldFilePath": "/home/src/myproject/src/old.ts", + "newFilePath": "/home/src/myproject/src/new.ts" + }, + "seq": 5, + "type": "request" + } +Info seq [hh:mm:ss:mss] response: + { + "response": [ + { + "fileName": "/home/src/myproject/src/index.ts", + "textChanges": [ + { + "start": { + "line": 1, + "offset": 17 + }, + "end": { + "line": 1, + "offset": 22 + }, + "newText": "@/new" + } + ] + } + ], + "responseRequired": true + } +After request + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 2 + projectProgramVersion: 2 + documentPositionMappers: 1 *changed* + /a/lib/lib.d.ts: identitySourceMapConsumer *new* + +ScriptInfos:: +/a/lib/lib.d.ts *changed* + version: Text-1 + sourceMapFilePath: false *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "watchChange", + "arguments": { + "id": 2, + "deleted": [ + "/home/src/myproject/src/old.ts" + ], + "created": [ + "/home/src/myproject/src/new.ts" + ] + }, + "seq": 6, + "type": "request" + } +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/myproject/src/new.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/myproject/src/new.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/src/myproject/src/old.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] Scheduled: /home/src/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/src/myproject/src/old.ts :: WatchInfo: /home/src/myproject 1 undefined Config: /home/src/myproject/tsconfig.json WatchType: Wild card directory +After request + +Timeout callback:: count: 2 +3: /home/src/myproject/tsconfig.json *deleted* +4: *ensureProjectForOpenFiles* *deleted* +5: /home/src/myproject/tsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 3 *changed* + projectProgramVersion: 2 + dirty: true *changed* + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "close", + "arguments": { + "file": "/home/src/myproject/src/new.ts" + }, + "seq": 7, + "type": "request" + } +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/myproject/src/new.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 8, + "path": "/home/src/myproject/src/new.ts" + } + } +Custom watchFile:: Added:: {"id":8,"path":"/home/src/myproject/src/new.ts"} +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] response: + { + "seq": 0, + "type": "response", + "command": "close", + "request_seq": 7, + "success": true + } +After request + +PolledWatches:: +/a/lib/lib.d.ts: + {"event":{"id":4,"path":"/a/lib/lib.d.ts"}} +/home/src/myproject/src/new.ts: *new* + {"event":{"id":8,"path":"/home/src/myproject/src/new.ts"}} +/home/src/myproject/tsconfig.json: + {"event":{"id":1,"path":"/home/src/myproject/tsconfig.json"}} + +FsWatchesRecursive:: +/home/src/myproject: + {"event":{"id":2,"path":"/home/src/myproject","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/node_modules: + {"event":{"id":7,"path":"/home/src/myproject/node_modules","recursive":true}} +/home/src/myproject/node_modules/@types: + {"event":{"id":5,"path":"/home/src/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} +/home/src/myproject/src: + {"event":{"id":6,"path":"/home/src/myproject/src","recursive":true,"ignoreUpdate":true}} + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + sourceMapFilePath: false + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts *changed* + open: false *changed* + version: SVC-1-0 + pendingReloadFromDisk: true *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json + +Before request + +Info seq [hh:mm:ss:mss] request: + { + "command": "geterr", + "arguments": { + "delay": 0, + "files": [ + "/home/src/myproject/src/index.ts" + ] + }, + "seq": 8, + "type": "request" + } +After request + +Timeout callback:: count: 3 +5: /home/src/myproject/tsconfig.json +6: *ensureProjectForOpenFiles* +7: checkOne *new* + +Before running Timeout callback:: count: 3 +5: /home/src/myproject/tsconfig.json +6: *ensureProjectForOpenFiles* +7: checkOne + +Info seq [hh:mm:ss:mss] Running: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/myproject/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 structureChanged: false structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Same program as before +Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* +Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: +Info seq [hh:mm:ss:mss] Project '/home/src/myproject/tsconfig.json' (Configured) +Info seq [hh:mm:ss:mss] Files (3) + +Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] Open files: +Info seq [hh:mm:ss:mss] FileName: /home/src/myproject/src/index.ts ProjectRootPath: /home/src/myproject +Info seq [hh:mm:ss:mss] Projects: /home/src/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] got projects updated in background /home/src/myproject/src/index.ts +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "projectsUpdatedInBackground", + "body": { + "openFiles": [ + "/home/src/myproject/src/index.ts" + ] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "syntaxDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [] + } + } +After running Timeout callback:: count: 0 + +Immedidate callback:: count: 1 +1: semanticCheck *new* + +Projects:: +/home/src/myproject/tsconfig.json (Configured) *changed* + projectStateVersion: 3 + projectProgramVersion: 2 + dirty: false *changed* + +ScriptInfos:: +/a/lib/lib.d.ts + version: Text-1 + sourceMapFilePath: false + containingProjects: 1 + /home/src/myproject/tsconfig.json +/home/src/myproject/src/index.ts (Open) + version: SVC-1-0 + containingProjects: 1 + /home/src/myproject/tsconfig.json *default* +/home/src/myproject/src/new.ts *changed* + version: SVC-1-0 + pendingReloadFromDisk: false *changed* + containingProjects: 1 + /home/src/myproject/tsconfig.json + +Before running Immedidate callback:: count: 1 +1: semanticCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "semanticDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [ + { + "start": { + "line": 1, + "offset": 16 + }, + "end": { + "line": 1, + "offset": 23 + }, + "text": "Cannot find module '@/old' or its corresponding type declarations.", + "code": 2307, + "category": "error" + } + ] + } + } +After running Immedidate callback:: count: 1 + +Immedidate callback:: count: 1 +2: suggestionCheck *new* + +Before running Immedidate callback:: count: 1 +2: suggestionCheck + +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "suggestionDiag", + "body": { + "file": "/home/src/myproject/src/index.ts", + "diagnostics": [] + } + } +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "requestCompleted", + "body": { + "request_seq": 8, + "performanceData": { + "diagnosticsDuration": [ + { + "syntaxDiag": *, + "semanticDiag": *, + "suggestionDiag": *, + "file": "/home/src/myproject/src/index.ts" + } + ] + } + } + } +After running Immedidate callback:: count: 0 diff --git a/tests/baselines/reference/tsserver/inferredProjects/should-still-retain-configured-project-created-while-opening-the-file.js b/tests/baselines/reference/tsserver/inferredProjects/should-still-retain-configured-project-created-while-opening-the-file.js index 7f0c79f1084..77174ec907f 100644 --- a/tests/baselines/reference/tsserver/inferredProjects/should-still-retain-configured-project-created-while-opening-the-file.js +++ b/tests/baselines/reference/tsserver/inferredProjects/should-still-retain-configured-project-created-while-opening-the-file.js @@ -475,6 +475,8 @@ Info seq [hh:mm:ss:mss] request: "seq": 3, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/jsFile2.js +Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/jsFile2.js Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/jsFile2.js ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: @@ -682,6 +684,8 @@ Info seq [hh:mm:ss:mss] request: "seq": 4, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /user/username/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/username/projects/myproject/jsFile1.js +Info seq [hh:mm:ss:mss] Project: /user/username/projects/myproject/tsconfig.json Detected file add/remove of non supported extension: /user/username/projects/myproject/jsFile1.js Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/jsFile1.js ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: diff --git a/tests/baselines/reference/tsserver/openfile/uses-existing-project-even-if-project-refresh-is-pending.js b/tests/baselines/reference/tsserver/openfile/uses-existing-project-even-if-project-refresh-is-pending.js index 1e5f3c478eb..9e47bd56560 100644 --- a/tests/baselines/reference/tsserver/openfile/uses-existing-project-even-if-project-refresh-is-pending.js +++ b/tests/baselines/reference/tsserver/openfile/uses-existing-project-even-if-project-refresh-is-pending.js @@ -214,6 +214,9 @@ Info seq [hh:mm:ss:mss] request: "seq": 2, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /user/someuser/projects/myproject/tsconfig.json:: wildcard for open scriptInfo:: /user/someuser/projects/myproject/src/b.ts +Info seq [hh:mm:ss:mss] Scheduled: /user/someuser/projects/myproject/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/someuser/projects/myproject/src/b.ts ProjectRootPath: /user/someuser/projects/myproject:: Result: /user/someuser/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/someuser/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/someuser/projects/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms @@ -254,6 +257,12 @@ Info seq [hh:mm:ss:mss] response: } After request +Timeout callback:: count: 2 +1: /user/someuser/projects/myproject/tsconfig.json *deleted* +2: *ensureProjectForOpenFiles* *deleted* +3: /user/someuser/projects/myproject/tsconfig.json *new* +4: *ensureProjectForOpenFiles* *new* + Projects:: /user/someuser/projects/myproject/tsconfig.json (Configured) *changed* projectStateVersion: 2 diff --git a/tests/baselines/reference/tsserver/projectErrors/file-rename-on-wsl2.js b/tests/baselines/reference/tsserver/projectErrors/file-rename-on-wsl2.js index 1383cf14357..e2f14e34bd7 100644 --- a/tests/baselines/reference/tsserver/projectErrors/file-rename-on-wsl2.js +++ b/tests/baselines/reference/tsserver/projectErrors/file-rename-on-wsl2.js @@ -269,92 +269,37 @@ Info seq [hh:mm:ss:mss] request: "seq": 2, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /home/username/project/tsconfig.json:: wildcard for open scriptInfo:: /home/username/project/src/c.ts +Info seq [hh:mm:ss:mss] Scheduled: /home/username/project/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/username/project/src/c.ts ProjectRootPath: /home/username/project:: Result: /home/username/project/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/username/project/tsconfig.json -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/username/project/src/b.ts 500 undefined Project: /home/username/project/tsconfig.json WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/username/project/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/home/username/project/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (2) +Info seq [hh:mm:ss:mss] Files (3) /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" /home/username/project/src/a.ts SVC-1-0 "export const a = 10;" + /home/username/project/src/c.ts SVC-1-0 "export const b = 10;" ../../../a/lib/lib.d.ts Default library for target 'es5' src/a.ts Matched by include pattern 'src/**/*.ts' in 'tsconfig.json' - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/home/username/project/src/c.ts", - "configFile": "/home/username/project/tsconfig.json", - "diagnostics": [ - { - "text": "File '/home/username/project/src/b.ts' not found.\n The file is in the program because:\n Matched by include pattern 'src/**/*.ts' in '/home/username/project/tsconfig.json'", - "code": 6053, - "category": "error", - "relatedInformation": [ - { - "span": { - "start": { - "line": 6, - "offset": 5 - }, - "end": { - "line": 6, - "offset": 18 - }, - "file": "/home/username/project/tsconfig.json" - }, - "message": "File is matched by include pattern specified here.", - "category": "message", - "code": 1408 - } - ] - } - ] - } - } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /home/username/project/tsconfig.json ProjectRootPath: /home/username/project:: Result: undefined -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/username/project/src/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/username/project/src/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/username/project/src/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/username/project/src/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/username/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/username/project/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) -Info seq [hh:mm:ss:mss] Files (2) - /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" - /home/username/project/src/c.ts SVC-1-0 "export const b = 10;" - - - ../../../../a/lib/lib.d.ts - Default library for target 'es5' - c.ts - Root file specified for compilation + src/c.ts + Matched by include pattern 'src/**/*.ts' in 'tsconfig.json' Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/username/project/src/b.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Project '/home/username/project/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (2) - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) -Info seq [hh:mm:ss:mss] Files (2) +Info seq [hh:mm:ss:mss] Files (3) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /home/username/project/src/a.ts ProjectRootPath: /home/username/project Info seq [hh:mm:ss:mss] Projects: /home/username/project/tsconfig.json Info seq [hh:mm:ss:mss] FileName: /home/username/project/src/c.ts ProjectRootPath: /home/username/project -Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] Projects: /home/username/project/tsconfig.json Info seq [hh:mm:ss:mss] response: { "seq": 0, @@ -371,14 +316,10 @@ After request PolledWatches:: /home/username/project/node_modules/@types: {"pollingInterval":500} + +PolledWatches *deleted*:: /home/username/project/src/b.ts: {"pollingInterval":500} -/home/username/project/src/jsconfig.json: *new* - {"pollingInterval":2000} -/home/username/project/src/node_modules/@types: *new* - {"pollingInterval":500} -/home/username/project/src/tsconfig.json: *new* - {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -388,21 +329,24 @@ FsWatches:: /home/username/project/tsconfig.json: {"inode":7} +Timeout callback:: count: 3 +1: /home/username/project/tsconfig.json *deleted* +2: *ensureProjectForOpenFiles* *deleted* +4: timerToUpdateChildWatches +5: /home/username/project/tsconfig.json *new* +6: *ensureProjectForOpenFiles* *new* + Projects:: -/dev/null/inferredProject1* (Inferred) *new* - projectStateVersion: 1 - projectProgramVersion: 1 /home/username/project/tsconfig.json (Configured) *changed* projectStateVersion: 2 projectProgramVersion: 2 *changed* dirty: false *changed* ScriptInfos:: -/a/lib/lib.d.ts *changed* +/a/lib/lib.d.ts version: Text-1 - containingProjects: 2 *changed* + containingProjects: 1 /home/username/project/tsconfig.json - /dev/null/inferredProject1* *new* /home/username/project/src/a.ts (Open) version: SVC-1-0 containingProjects: 1 @@ -415,77 +359,31 @@ ScriptInfos:: /home/username/project/src/c.ts (Open) *new* version: SVC-1-0 containingProjects: 1 - /dev/null/inferredProject1* *default* + /home/username/project/tsconfig.json *default* Before running Timeout callback:: count: 3 -1: /home/username/project/tsconfig.json -2: *ensureProjectForOpenFiles* 4: timerToUpdateChildWatches +5: /home/username/project/tsconfig.json +6: *ensureProjectForOpenFiles* -Info seq [hh:mm:ss:mss] Running: /home/username/project/tsconfig.json -Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* -Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: -Info seq [hh:mm:ss:mss] Project '/home/username/project/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (2) - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) -Info seq [hh:mm:ss:mss] Files (2) - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Open files: -Info seq [hh:mm:ss:mss] FileName: /home/username/project/src/a.ts ProjectRootPath: /home/username/project -Info seq [hh:mm:ss:mss] Projects: /home/username/project/tsconfig.json -Info seq [hh:mm:ss:mss] FileName: /home/username/project/src/c.ts ProjectRootPath: /home/username/project -Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* -Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: -Info seq [hh:mm:ss:mss] Project '/home/username/project/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (2) - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) -Info seq [hh:mm:ss:mss] Files (2) - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Open files: -Info seq [hh:mm:ss:mss] FileName: /home/username/project/src/a.ts ProjectRootPath: /home/username/project -Info seq [hh:mm:ss:mss] Projects: /home/username/project/tsconfig.json -Info seq [hh:mm:ss:mss] FileName: /home/username/project/src/c.ts ProjectRootPath: /home/username/project -Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* -Info seq [hh:mm:ss:mss] got projects updated in background /home/username/project/src/a.ts,/home/username/project/src/c.ts -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "projectsUpdatedInBackground", - "body": { - "openFiles": [ - "/home/username/project/src/a.ts", - "/home/username/project/src/c.ts" - ] - } - } Info seq [hh:mm:ss:mss] sysLog:: onTimerToUpdateChildWatches:: 1 Info seq [hh:mm:ss:mss] sysLog:: invokingWatchers:: Elapsed:: *ms:: 0 Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/username/project/src/b.ts 0:: WatchInfo: /home/username/project/src 1 undefined Config: /home/username/project/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] Scheduled: /home/username/project/tsconfig.json -Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* -Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/username/project/src/b.ts 0:: WatchInfo: /home/username/project/src 1 undefined Config: /home/username/project/tsconfig.json WatchType: Wild card directory -Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/username/project/src/c.ts 1:: WatchInfo: /home/username/project/src 1 undefined Config: /home/username/project/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Scheduled: /home/username/project/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one +Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/username/project/src/b.ts 0:: WatchInfo: /home/username/project/src 1 undefined Config: /home/username/project/tsconfig.json WatchType: Wild card directory +Info seq [hh:mm:ss:mss] DirectoryWatcher:: Triggered with /home/username/project/src/c.ts 1:: WatchInfo: /home/username/project/src 1 undefined Config: /home/username/project/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Triggered with /home/username/project/src/c.ts 1:: WatchInfo: /home/username/project/src 1 undefined Config: /home/username/project/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] sysLog:: Elapsed:: *ms:: onTimerToUpdateChildWatches:: 0 undefined After running Timeout callback:: count: 2 Timeout callback:: count: 2 +5: /home/username/project/tsconfig.json *deleted* +6: *ensureProjectForOpenFiles* *deleted* 7: /home/username/project/tsconfig.json *new* 8: *ensureProjectForOpenFiles* *new* Projects:: -/dev/null/inferredProject1* (Inferred) - projectStateVersion: 1 - projectProgramVersion: 1 /home/username/project/tsconfig.json (Configured) *changed* projectStateVersion: 3 *changed* projectProgramVersion: 2 @@ -496,68 +394,24 @@ Before running Timeout callback:: count: 2 8: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Running: /home/username/project/tsconfig.json -Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/username/project/src/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root -Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/username/project/src/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/username/project/tsconfig.json -Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/username/project/src/b.ts 500 undefined Project: /home/username/project/tsconfig.json WatchType: Missing file -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/username/project/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/home/username/project/tsconfig.json' (Configured) -Info seq [hh:mm:ss:mss] Files (3) - /a/lib/lib.d.ts Text-1 "/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }" - /home/username/project/src/a.ts SVC-1-0 "export const a = 10;" - /home/username/project/src/c.ts SVC-1-0 "export const b = 10;" - - - ../../../a/lib/lib.d.ts - Default library for target 'es5' - src/a.ts - Matched by include pattern 'src/**/*.ts' in 'tsconfig.json' - src/c.ts - Matched by include pattern 'src/**/*.ts' in 'tsconfig.json' - -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/home/username/project/tsconfig.json", - "configFile": "/home/username/project/tsconfig.json", - "diagnostics": [] - } - } +Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/username/project/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 structureChanged: false structureIsReused:: Not Elapsed:: *ms +Info seq [hh:mm:ss:mss] Same program as before Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Before ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/home/username/project/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) -Info seq [hh:mm:ss:mss] Files (2) - Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /home/username/project/src/a.ts ProjectRootPath: /home/username/project Info seq [hh:mm:ss:mss] Projects: /home/username/project/tsconfig.json Info seq [hh:mm:ss:mss] FileName: /home/username/project/src/c.ts ProjectRootPath: /home/username/project Info seq [hh:mm:ss:mss] Projects: /home/username/project/tsconfig.json -Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* -Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms -Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) -Info seq [hh:mm:ss:mss] Files (0) - - - -Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] After ensureProjectForOpenFiles: Info seq [hh:mm:ss:mss] Project '/home/username/project/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) -Info seq [hh:mm:ss:mss] Files (0) - Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /home/username/project/src/a.ts ProjectRootPath: /home/username/project @@ -579,54 +433,12 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 -PolledWatches:: -/home/username/project/node_modules/@types: - {"pollingInterval":500} -/home/username/project/src/node_modules/@types: - {"pollingInterval":500} - -PolledWatches *deleted*:: -/home/username/project/src/b.ts: - {"pollingInterval":500} -/home/username/project/src/jsconfig.json: - {"pollingInterval":2000} -/home/username/project/src/tsconfig.json: - {"pollingInterval":2000} - -FsWatches:: -/a/lib/lib.d.ts: - {"inode":10} -/home/username/project/src: - {"inode":4} -/home/username/project/tsconfig.json: - {"inode":7} - Projects:: -/dev/null/inferredProject1* (Inferred) *changed* - projectStateVersion: 2 *changed* - projectProgramVersion: 2 *changed* - isOrphan: true *changed* /home/username/project/tsconfig.json (Configured) *changed* projectStateVersion: 3 - projectProgramVersion: 3 *changed* + projectProgramVersion: 2 dirty: false *changed* -ScriptInfos:: -/a/lib/lib.d.ts *changed* - version: Text-1 - containingProjects: 1 *changed* - /home/username/project/tsconfig.json - /dev/null/inferredProject1* *deleted* -/home/username/project/src/a.ts (Open) - version: SVC-1-0 - containingProjects: 1 - /home/username/project/tsconfig.json *default* -/home/username/project/src/c.ts (Open) *changed* - version: SVC-1-0 - containingProjects: 1 *changed* - /home/username/project/tsconfig.json *default* *new* - /dev/null/inferredProject1* *deleted* - Before request Info seq [hh:mm:ss:mss] request: @@ -642,10 +454,6 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/username/project Info seq [hh:mm:ss:mss] Project '/home/username/project/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) -Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) -Info seq [hh:mm:ss:mss] Files (0) - Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Open files: Info seq [hh:mm:ss:mss] FileName: /home/username/project/src/a.ts ProjectRootPath: /home/username/project @@ -663,8 +471,6 @@ After request PolledWatches:: /home/username/project/node_modules/@types: {"pollingInterval":500} -/home/username/project/src/node_modules/@types: - {"pollingInterval":500} FsWatches:: /a/lib/lib.d.ts: @@ -677,13 +483,9 @@ FsWatches:: {"inode":7} Projects:: -/dev/null/inferredProject1* (Inferred) - projectStateVersion: 2 - projectProgramVersion: 2 - isOrphan: true /home/username/project/tsconfig.json (Configured) *changed* projectStateVersion: 4 *changed* - projectProgramVersion: 3 + projectProgramVersion: 2 dirty: true *changed* ScriptInfos:: diff --git a/tests/baselines/reference/tsserver/projects/handles-delayed-directory-watch-invoke-on-file-creation.js b/tests/baselines/reference/tsserver/projects/handles-delayed-directory-watch-invoke-on-file-creation.js index 209ff035d7f..ad74a6b9f1d 100644 --- a/tests/baselines/reference/tsserver/projects/handles-delayed-directory-watch-invoke-on-file-creation.js +++ b/tests/baselines/reference/tsserver/projects/handles-delayed-directory-watch-invoke-on-file-creation.js @@ -358,6 +358,9 @@ Info seq [hh:mm:ss:mss] request: "seq": 4, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /users/username/projects/project/tsconfig.json:: wildcard for open scriptInfo:: /users/username/projects/project/a.ts +Info seq [hh:mm:ss:mss] Scheduled: /users/username/projects/project/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /users/username/projects/project/a.ts ProjectRootPath: /users/username/projects/project:: Result: /users/username/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /users/username/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /users/username/projects/project/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms @@ -398,6 +401,12 @@ Info seq [hh:mm:ss:mss] response: } After request +Timeout callback:: count: 2 +5: /users/username/projects/project/tsconfig.json *deleted* +6: *ensureProjectForOpenFiles* *deleted* +7: /users/username/projects/project/tsconfig.json *new* +8: *ensureProjectForOpenFiles* *new* + Projects:: /users/username/projects/project/tsconfig.json (Configured) *changed* projectStateVersion: 2 @@ -419,8 +428,8 @@ ScriptInfos:: /users/username/projects/project/tsconfig.json *default* Before running Timeout callback:: count: 2 -5: /users/username/projects/project/tsconfig.json -6: *ensureProjectForOpenFiles* +7: /users/username/projects/project/tsconfig.json +8: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Running: /users/username/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* @@ -490,8 +499,8 @@ Info seq [hh:mm:ss:mss] response: After request Timeout callback:: count: 2 -7: /users/username/projects/project/tsconfig.json *new* -8: *ensureProjectForOpenFiles* *new* +9: /users/username/projects/project/tsconfig.json *new* +10: *ensureProjectForOpenFiles* *new* Projects:: /users/username/projects/project/tsconfig.json (Configured) *changed* @@ -526,9 +535,11 @@ Info seq [hh:mm:ss:mss] request: "seq": 6, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /users/username/projects/project/tsconfig.json:: wildcard for open scriptInfo:: /users/username/projects/project/sub/a.ts +Info seq [hh:mm:ss:mss] Scheduled: /users/username/projects/project/tsconfig.json, Cancelled earlier one +Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /users/username/projects/project/sub/a.ts ProjectRootPath: /users/username/projects/project:: Result: /users/username/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /users/username/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/project/a.ts 500 undefined Project: /users/username/projects/project/tsconfig.json WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /users/username/projects/project/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) @@ -542,6 +553,7 @@ Info seq [hh:mm:ss:mss] Files (2) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /users/username/projects/project/tsconfig.json ProjectRootPath: /users/username/projects/project:: Result: undefined Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -550,16 +562,9 @@ Info seq [hh:mm:ss:mss] event: "body": { "triggerFile": "/users/username/projects/project/sub/a.ts", "configFile": "/users/username/projects/project/tsconfig.json", - "diagnostics": [ - { - "text": "File '/users/username/projects/project/a.ts' not found.\n The file is in the program because:\n Matched by default include pattern '**/*'", - "code": 6053, - "category": "error" - } - ] + "diagnostics": [] } } -Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /users/username/projects/project/tsconfig.json ProjectRootPath: /users/username/projects/project:: Result: undefined Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/project/sub/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/project/sub/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/project/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root @@ -612,8 +617,6 @@ After request PolledWatches:: /users/username/projects/node_modules/@types: {"pollingInterval":500} -/users/username/projects/project/a.ts: *new* - {"pollingInterval":500} /users/username/projects/project/jsconfig.json: *new* {"pollingInterval":2000} /users/username/projects/project/node_modules/@types: @@ -635,6 +638,12 @@ FsWatchesRecursive:: /users/username/projects/project: {} +Timeout callback:: count: 2 +9: /users/username/projects/project/tsconfig.json *deleted* +10: *ensureProjectForOpenFiles* *deleted* +11: /users/username/projects/project/tsconfig.json *new* +12: *ensureProjectForOpenFiles* *new* + Projects:: /dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 @@ -660,8 +669,8 @@ ScriptInfos:: /dev/null/inferredProject1* *default* Before running Timeout callback:: count: 2 -7: /users/username/projects/project/tsconfig.json -8: *ensureProjectForOpenFiles* +11: /users/username/projects/project/tsconfig.json +12: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Running: /users/username/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] Running: *ensureProjectForOpenFiles* @@ -727,8 +736,8 @@ export const a = 10; //// [/users/username/projects/project/a.ts] deleted Timeout callback:: count: 2 -13: /users/username/projects/project/tsconfig.json *new* -14: *ensureProjectForOpenFiles* *new* +17: /users/username/projects/project/tsconfig.json *new* +18: *ensureProjectForOpenFiles* *new* Projects:: /dev/null/inferredProject1* (Inferred) @@ -755,21 +764,20 @@ Info seq [hh:mm:ss:mss] request: After request Timeout callback:: count: 3 -13: /users/username/projects/project/tsconfig.json -14: *ensureProjectForOpenFiles* -15: checkOne *new* +17: /users/username/projects/project/tsconfig.json +18: *ensureProjectForOpenFiles* +19: checkOne *new* Before running Timeout callback:: count: 3 -13: /users/username/projects/project/tsconfig.json -14: *ensureProjectForOpenFiles* -15: checkOne +17: /users/username/projects/project/tsconfig.json +18: *ensureProjectForOpenFiles* +19: checkOne -Invoking Timeout callback:: timeoutId:: 15:: checkOne +Invoking Timeout callback:: timeoutId:: 19:: checkOne Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /users/username/projects/project/sub/tsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /users/username/projects/project/sub/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /users/username/projects/project/jsconfig.json 2000 undefined WatchType: Config file for the inferred project root Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /users/username/projects/project/tsconfig.json -Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /users/username/projects/project/a.ts 500 undefined Project: /users/username/projects/project/tsconfig.json WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /users/username/projects/project/tsconfig.json projectStateVersion: 4 projectProgramVersion: 3 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) @@ -786,17 +794,6 @@ Info seq [hh:mm:ss:mss] Files (3) Matched by default include pattern '**/*' Info seq [hh:mm:ss:mss] ----------------------------------------------- -Info seq [hh:mm:ss:mss] event: - { - "seq": 0, - "type": "event", - "event": "configFileDiag", - "body": { - "triggerFile": "/users/username/projects/project/tsconfig.json", - "configFile": "/users/username/projects/project/tsconfig.json", - "diagnostics": [] - } - } Info seq [hh:mm:ss:mss] event: { "seq": 0, @@ -818,8 +815,6 @@ PolledWatches:: {"pollingInterval":500} PolledWatches *deleted*:: -/users/username/projects/project/a.ts: - {"pollingInterval":500} /users/username/projects/project/jsconfig.json: {"pollingInterval":2000} /users/username/projects/project/sub/jsconfig.json: @@ -901,16 +896,16 @@ Info seq [hh:mm:ss:mss] event: After running Immedidate callback:: count: 0 Timeout callback:: count: 3 -13: /users/username/projects/project/tsconfig.json -14: *ensureProjectForOpenFiles* -16: checkOne *new* +17: /users/username/projects/project/tsconfig.json +18: *ensureProjectForOpenFiles* +20: checkOne *new* Before running Timeout callback:: count: 3 -13: /users/username/projects/project/tsconfig.json -14: *ensureProjectForOpenFiles* -16: checkOne +17: /users/username/projects/project/tsconfig.json +18: *ensureProjectForOpenFiles* +20: checkOne -Invoking Timeout callback:: timeoutId:: 16:: checkOne +Invoking Timeout callback:: timeoutId:: 20:: checkOne Info seq [hh:mm:ss:mss] event: { "seq": 0, diff --git a/tests/baselines/reference/tsserver/projects/loading-files-with-correct-priority.js b/tests/baselines/reference/tsserver/projects/loading-files-with-correct-priority.js index eb310f72273..c4a7a020c8f 100644 --- a/tests/baselines/reference/tsserver/projects/loading-files-with-correct-priority.js +++ b/tests/baselines/reference/tsserver/projects/loading-files-with-correct-priority.js @@ -318,6 +318,8 @@ Info seq [hh:mm:ss:mss] request: "seq": 4, "type": "request" } +Info seq [hh:mm:ss:mss] Invoking /a/tsconfig.json:: wildcard for open scriptInfo:: /a/main.js +Info seq [hh:mm:ss:mss] Project: /a/tsconfig.json Detected output file: /a/main.js Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/main.js ProjectRootPath: undefined:: Result: /a/tsconfig.json Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] event: From 107a007a9a42ee72b85f5ed067fb7804f9058405 Mon Sep 17 00:00:00 2001 From: Isabel Duan Date: Thu, 25 Jul 2024 16:28:19 -0700 Subject: [PATCH 65/89] `organizeImports` makes no changes if there are parse errors in the sourceFile (#58903) --- src/services/services.ts | 3 +- .../unittests/services/organizeImports.ts | 62 ++++++++++++++----- .../organizeImports/JsxFactoryUsedTs.ts | 6 +- .../organizeImports/Syntax_Error_Body.ts | 8 +-- ...x_Error_Body_skipDestructiveCodeActions.ts | 9 +-- .../organizeImports/Syntax_Error_Imports.ts | 8 +-- ...rror_Imports_skipDestructiveCodeActions.ts | 9 +-- .../reference/organizeImports/parseErrors.ts | 20 ++++++ tests/cases/fourslash/organizeImports17.ts | 4 +- 9 files changed, 77 insertions(+), 52 deletions(-) create mode 100644 tests/baselines/reference/organizeImports/parseErrors.ts diff --git a/src/services/services.ts b/src/services/services.ts index 6a189b4b217..f20e99cc88c 100644 --- a/src/services/services.ts +++ b/src/services/services.ts @@ -2674,8 +2674,9 @@ export function createLanguageService( synchronizeHostData(); Debug.assert(args.type === "file"); const sourceFile = getValidSourceFile(args.fileName); - const formatContext = formatting.getFormatContext(formatOptions, host); + if (containsParseError(sourceFile)) return emptyArray; + const formatContext = formatting.getFormatContext(formatOptions, host); const mode = args.mode ?? (args.skipDestructiveCodeActions ? OrganizeImportsMode.SortAndCombine : OrganizeImportsMode.All); return OrganizeImports.organizeImports(sourceFile, formatContext, host, program, preferences, mode); } diff --git a/src/testRunner/unittests/services/organizeImports.ts b/src/testRunner/unittests/services/organizeImports.ts index 23ce1cafe4c..b7bac1ef850 100644 --- a/src/testRunner/unittests/services/organizeImports.ts +++ b/src/testRunner/unittests/services/organizeImports.ts @@ -470,6 +470,28 @@ console.log(A, B, a, b);`, console.log(A, B, a, b);`, }); + testOrganizeImports("parseErrors", /*skipDestructiveCodeActions*/ false, { + path: "/test.js", + content: `declare module 'mod1' { + declare export type P = {| + |}; + declare export type F = {| + ...$Exact, + await?: Span, + |}; + declare export type S = {| + |}; + declare export type C = {| + |}; +} + +declare module 'mod2' { + import type { + U, + } from 'mod1'; +}`, + }); + testOrganizeImports("Renamed_used", /*skipDestructiveCodeActions*/ false, { path: "/test.ts", content: ` @@ -822,8 +844,7 @@ import { React, Other } from "react"; `, }, reactLibFile); - // TS files are not JSX contexts, so the parser does not treat - // `
` as a JSX element. + // TS files are not JSX contexts, so the parser does not treat `
` as a JSX element. testOrganizeImports("JsxFactoryUsedTs", /*skipDestructiveCodeActions*/ false, { path: "/test.ts", content: ` @@ -1049,19 +1070,32 @@ export * from "lib"; const { path: testPath, content: testContent } = testFile; const languageService = makeLanguageService(testFile, ...otherFiles); const changes = languageService.organizeImports({ skipDestructiveCodeActions, type: "file", fileName: testPath }, ts.testFormatSettings, ts.emptyOptions); - assert.equal(changes.length, 1); - assert.equal(changes[0].fileName, testPath); - const newText = ts.textChanges.applyChanges(testContent, changes[0].textChanges); - Harness.Baseline.runBaseline( - baselinePath, - [ - "// ==ORIGINAL==", - testContent, - "// ==ORGANIZED==", - newText, - ].join(newLineCharacter), - ); + if (changes.length !== 0) { + assert.equal(changes.length, 1); + assert.equal(changes[0].fileName, testPath); + + const newText = ts.textChanges.applyChanges(testContent, changes[0].textChanges); + Harness.Baseline.runBaseline( + baselinePath, + [ + "// ==ORIGINAL==", + testContent, + "// ==ORGANIZED==", + newText, + ].join(newLineCharacter), + ); + } + else { + Harness.Baseline.runBaseline( + baselinePath, + [ + "// ==ORIGINAL==", + "// ==NO CHANGES==", + testContent, + ].join(newLineCharacter), + ); + } } function testDetectionBaseline(testName: string, skipDestructiveCodeActions: boolean, testFile: File, ...otherFiles: File[]) { diff --git a/tests/baselines/reference/organizeImports/JsxFactoryUsedTs.ts b/tests/baselines/reference/organizeImports/JsxFactoryUsedTs.ts index 74da2f99139..9447618c2c6 100644 --- a/tests/baselines/reference/organizeImports/JsxFactoryUsedTs.ts +++ b/tests/baselines/reference/organizeImports/JsxFactoryUsedTs.ts @@ -1,10 +1,6 @@ // ==ORIGINAL== +// ==NO CHANGES== import { React, Other } from "react"; -
; - -// ==ORGANIZED== - -
; diff --git a/tests/baselines/reference/organizeImports/Syntax_Error_Body.ts b/tests/baselines/reference/organizeImports/Syntax_Error_Body.ts index a3c8577ad00..70cb86ac68a 100644 --- a/tests/baselines/reference/organizeImports/Syntax_Error_Body.ts +++ b/tests/baselines/reference/organizeImports/Syntax_Error_Body.ts @@ -1,4 +1,5 @@ // ==ORIGINAL== +// ==NO CHANGES== import { F1, F2 } from "lib"; import * as NS from "lib"; @@ -6,10 +7,3 @@ import D from "lib"; class class class; D; - -// ==ORGANIZED== - -import D from "lib"; - -class class class; -D; diff --git a/tests/baselines/reference/organizeImports/Syntax_Error_Body_skipDestructiveCodeActions.ts b/tests/baselines/reference/organizeImports/Syntax_Error_Body_skipDestructiveCodeActions.ts index d48280a6cb9..70cb86ac68a 100644 --- a/tests/baselines/reference/organizeImports/Syntax_Error_Body_skipDestructiveCodeActions.ts +++ b/tests/baselines/reference/organizeImports/Syntax_Error_Body_skipDestructiveCodeActions.ts @@ -1,4 +1,5 @@ // ==ORIGINAL== +// ==NO CHANGES== import { F1, F2 } from "lib"; import * as NS from "lib"; @@ -6,11 +7,3 @@ import D from "lib"; class class class; D; - -// ==ORGANIZED== - -import * as NS from "lib"; -import D, { F1, F2 } from "lib"; - -class class class; -D; diff --git a/tests/baselines/reference/organizeImports/Syntax_Error_Imports.ts b/tests/baselines/reference/organizeImports/Syntax_Error_Imports.ts index 56a20f7aa56..6eb0b692de1 100644 --- a/tests/baselines/reference/organizeImports/Syntax_Error_Imports.ts +++ b/tests/baselines/reference/organizeImports/Syntax_Error_Imports.ts @@ -1,4 +1,5 @@ // ==ORIGINAL== +// ==NO CHANGES== import { F1, F2 class class class; } from "lib"; import * as NS from "lib"; @@ -6,10 +7,3 @@ class class class; import D from "lib"; D; - -// ==ORGANIZED== - -import D from "lib"; -class class class; - -D; diff --git a/tests/baselines/reference/organizeImports/Syntax_Error_Imports_skipDestructiveCodeActions.ts b/tests/baselines/reference/organizeImports/Syntax_Error_Imports_skipDestructiveCodeActions.ts index da5102320fe..6eb0b692de1 100644 --- a/tests/baselines/reference/organizeImports/Syntax_Error_Imports_skipDestructiveCodeActions.ts +++ b/tests/baselines/reference/organizeImports/Syntax_Error_Imports_skipDestructiveCodeActions.ts @@ -1,4 +1,5 @@ // ==ORIGINAL== +// ==NO CHANGES== import { F1, F2 class class class; } from "lib"; import * as NS from "lib"; @@ -6,11 +7,3 @@ class class class; import D from "lib"; D; - -// ==ORGANIZED== - -import * as NS from "lib"; -import D, { F1, F2, class, class, class } from "lib"; -class class class; - -D; diff --git a/tests/baselines/reference/organizeImports/parseErrors.ts b/tests/baselines/reference/organizeImports/parseErrors.ts new file mode 100644 index 00000000000..756652e2bd6 --- /dev/null +++ b/tests/baselines/reference/organizeImports/parseErrors.ts @@ -0,0 +1,20 @@ +// ==ORIGINAL== +// ==NO CHANGES== +declare module 'mod1' { + declare export type P = {| + |}; + declare export type F = {| + ...$Exact, + await?: Span, + |}; + declare export type S = {| + |}; + declare export type C = {| + |}; +} + +declare module 'mod2' { + import type { + U, + } from 'mod1'; +} \ No newline at end of file diff --git a/tests/cases/fourslash/organizeImports17.ts b/tests/cases/fourslash/organizeImports17.ts index a72a7a054e7..28e3baea056 100644 --- a/tests/cases/fourslash/organizeImports17.ts +++ b/tests/cases/fourslash/organizeImports17.ts @@ -1,10 +1,10 @@ /// //// import { Both } from "module-specifiers-unsorted"; -//// import { case, Insensitively, sorted } from "aardvark"; +//// import { aa, CaseInsensitively, sorted } from "aardvark"; verify.organizeImports( -`import { case, Insensitively, sorted } from "aardvark"; +`import { aa, CaseInsensitively, sorted } from "aardvark"; import { Both } from "module-specifiers-unsorted"; `, ts.OrganizeImportsMode.SortAndCombine, From 12ae799eda74aca6a4051f1ebee4d2d0c8d817a2 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Thu, 25 Jul 2024 17:30:19 -0700 Subject: [PATCH 66/89] Don't include "this is a crash" as a version in the bug template (#59427) --- .github/ISSUE_TEMPLATE/bug_report.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index acca35abe99..6987fee6a9e 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -38,7 +38,6 @@ body: Please keep and fill in the line that best applies. value: | - - This is a crash - This changed between versions ______ and _______ - This changed in commit or PR _______ - This is the behavior in every version I tried, and I reviewed the FAQ for entries about _________ From 74cefa848c2aa50484f465e019194daef77f5791 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Fri, 26 Jul 2024 10:08:40 -0700 Subject: [PATCH 67/89] Tighten signature of append (#59426) --- src/compiler/core.ts | 25 ++++++++----------- src/server/session.ts | 2 +- .../tsbuildWatch/watchEnvironment.ts | 2 +- 3 files changed, 12 insertions(+), 17 deletions(-) diff --git a/src/compiler/core.ts b/src/compiler/core.ts index e2238766ee5..fc692f1a65d 100644 --- a/src/compiler/core.ts +++ b/src/compiler/core.ts @@ -396,7 +396,7 @@ export function flatten(array: T[][] | readonly (T | readonly T[] | undefined * * @internal */ -export function flatMap(array: readonly T[] | undefined, mapfn: (x: T, i: number) => U | readonly U[] | undefined): readonly U[] { +export function flatMap(array: readonly T[] | undefined, mapfn: (x: T, i: number) => U | readonly U[] | undefined): readonly U[] { let result: U[] | undefined; if (array !== undefined) { for (let i = 0; i < array.length; i++) { @@ -917,18 +917,13 @@ export function relativeComplement(arrayA: T[] | undefined, arrayB: T[] | und * * @internal */ -export function append[number] | undefined>(to: TArray, value: TValue): [undefined, undefined] extends [TArray, TValue] ? TArray : NonNullable[number][]; +export function append(to: T[], value: T | undefined): T[]; /** @internal */ -export function append(to: T[], value: T | undefined): T[]; +export function append(to: T[] | undefined, value: T): T[]; /** @internal */ -export function append(to: T[] | undefined, value: T): T[]; -/** @internal */ -export function append(to: T[] | undefined, value: T | undefined): T[] | undefined; -/** @internal */ -export function append(to: T[], value: T | undefined): void; -/** @internal */ -export function append(to: T[] | undefined, value: T | undefined): T[] | undefined { - if (value === undefined) return to as T[]; +export function append(to: T[] | undefined, value: T | undefined): T[] | undefined; +export function append(to: T[] | undefined, value: T | undefined): T[] | undefined { + if (value === undefined) return to; if (to === undefined) return [value]; to.push(value); return to; @@ -948,13 +943,13 @@ export function append(to: T[] | undefined, value: T | undefined): T[] | unde * * @internal */ -export function combine(xs: T[] | undefined, ys: T[] | undefined): T[] | undefined; +export function combine(xs: T[] | undefined, ys: T[] | undefined): T[] | undefined; /** @internal */ -export function combine(xs: T | readonly T[] | undefined, ys: T | readonly T[] | undefined): T | readonly T[] | undefined; +export function combine(xs: T | readonly T[] | undefined, ys: T | readonly T[] | undefined): T | readonly T[] | undefined; /** @internal */ -export function combine(xs: T | T[] | undefined, ys: T | T[] | undefined): T | T[] | undefined; +export function combine(xs: T | T[] | undefined, ys: T | T[] | undefined): T | T[] | undefined; /** @internal */ -export function combine(xs: T | T[] | undefined, ys: T | T[] | undefined) { +export function combine(xs: T | T[] | undefined, ys: T | T[] | undefined) { if (xs === undefined) return ys; if (ys === undefined) return xs; if (isArray(xs)) return isArray(ys) ? concatenate(xs, ys) : append(xs, ys); diff --git a/src/server/session.ts b/src/server/session.ts index 40640d052be..fd0ed26586d 100644 --- a/src/server/session.ts +++ b/src/server/session.ts @@ -486,7 +486,7 @@ type Projects = readonly Project[] | { /** * This helper function processes a list of projects and return the concatenated, sortd and deduplicated output of processing each project. */ -function combineProjectOutput( +function combineProjectOutput( defaultValue: T, getValue: (path: Path) => T, projects: Projects, diff --git a/src/testRunner/unittests/tsbuildWatch/watchEnvironment.ts b/src/testRunner/unittests/tsbuildWatch/watchEnvironment.ts index ad830d0d92a..d8c76df25df 100644 --- a/src/testRunner/unittests/tsbuildWatch/watchEnvironment.ts +++ b/src/testRunner/unittests/tsbuildWatch/watchEnvironment.ts @@ -80,7 +80,7 @@ describe("unittests:: tsbuildWatch:: watchEnvironment:: tsbuild:: watchMode:: wi watchOrSolution: solutionBuilder, }); - function flatArray(arr: T[][]): readonly T[] { + function flatArray(arr: T[][]): readonly T[] { return ts.flatMap(arr, ts.identity); } function pkgs(cb: (index: number) => T): T[] { From 1da9630a34981601a11ecbafff5f1afaef136031 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Fri, 26 Jul 2024 19:09:02 +0200 Subject: [PATCH 68/89] Bailout early from `isFunctionObjectType` for evolving arrays (#58049) Co-authored-by: Jake Bailey <5341706+jakebailey@users.noreply.github.com> --- src/compiler/checker.ts | 3 + ...ontainmentEvolvingArrayNoCrash1.errors.txt | 25 +++++++ ...inContainmentEvolvingArrayNoCrash1.symbols | 36 ++++++++++ ...hainContainmentEvolvingArrayNoCrash1.types | 68 +++++++++++++++++++ ...alChainContainmentEvolvingArrayNoCrash1.ts | 18 +++++ 5 files changed, 150 insertions(+) create mode 100644 tests/baselines/reference/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.errors.txt create mode 100644 tests/baselines/reference/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.symbols create mode 100644 tests/baselines/reference/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.types create mode 100644 tests/cases/compiler/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 7f05c9b40df..78cee25efc9 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -27381,6 +27381,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function isFunctionObjectType(type: ObjectType): boolean { + if (getObjectFlags(type) & ObjectFlags.EvolvingArray) { + return false; + } // We do a quick check for a "bind" property before performing the more expensive subtype // check. This gives us a quicker out in the common case where an object type is not a function. const resolved = resolveStructuredTypeMembers(type); diff --git a/tests/baselines/reference/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.errors.txt b/tests/baselines/reference/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.errors.txt new file mode 100644 index 00000000000..d503ac8d760 --- /dev/null +++ b/tests/baselines/reference/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.errors.txt @@ -0,0 +1,25 @@ +narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts(1,5): error TS7034: Variable 'foo' implicitly has type 'any[]' in some locations where its type cannot be determined. +narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts(5,5): error TS7005: Variable 'foo' implicitly has an 'any[]' type. + + +==== narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts (2 errors) ==== + let foo = []; + ~~~ +!!! error TS7034: Variable 'foo' implicitly has type 'any[]' in some locations where its type cannot be determined. + + switch (foo?.length) { + case 1: + foo[0]; + ~~~ +!!! error TS7005: Variable 'foo' implicitly has an 'any[]' type. + } + + let bar = []; + + switch (bar?.length) { + case 1: { + bar.push("baz"); + const arr: string[] = bar; + } + } + \ No newline at end of file diff --git a/tests/baselines/reference/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.symbols b/tests/baselines/reference/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.symbols new file mode 100644 index 00000000000..d766eadf659 --- /dev/null +++ b/tests/baselines/reference/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.symbols @@ -0,0 +1,36 @@ +//// [tests/cases/compiler/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts] //// + +=== narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts === +let foo = []; +>foo : Symbol(foo, Decl(narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts, 0, 3)) + +switch (foo?.length) { +>foo?.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) +>foo : Symbol(foo, Decl(narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts, 0, 3)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) + + case 1: + foo[0]; +>foo : Symbol(foo, Decl(narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts, 0, 3)) +} + +let bar = []; +>bar : Symbol(bar, Decl(narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts, 7, 3)) + +switch (bar?.length) { +>bar?.length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) +>bar : Symbol(bar, Decl(narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts, 7, 3)) +>length : Symbol(Array.length, Decl(lib.es5.d.ts, --, --)) + + case 1: { + bar.push("baz"); +>bar.push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) +>bar : Symbol(bar, Decl(narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts, 7, 3)) +>push : Symbol(Array.push, Decl(lib.es5.d.ts, --, --)) + + const arr: string[] = bar; +>arr : Symbol(arr, Decl(narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts, 12, 9)) +>bar : Symbol(bar, Decl(narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts, 7, 3)) + } +} + diff --git a/tests/baselines/reference/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.types b/tests/baselines/reference/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.types new file mode 100644 index 00000000000..0a5d8998007 --- /dev/null +++ b/tests/baselines/reference/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.types @@ -0,0 +1,68 @@ +//// [tests/cases/compiler/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts] //// + +=== narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts === +let foo = []; +>foo : any[] +> : ^^^^^ +>[] : never[] +> : ^^^^^^^ + +switch (foo?.length) { +>foo?.length : number +> : ^^^^^^ +>foo : any[] +> : ^^^^^ +>length : number +> : ^^^^^^ + + case 1: +>1 : 1 +> : ^ + + foo[0]; +>foo[0] : any +> : ^^^ +>foo : any[] +> : ^^^^^ +>0 : 0 +> : ^ +} + +let bar = []; +>bar : any[] +> : ^^^^^ +>[] : never[] +> : ^^^^^^^ + +switch (bar?.length) { +>bar?.length : number +> : ^^^^^^ +>bar : any[] +> : ^^^^^ +>length : number +> : ^^^^^^ + + case 1: { +>1 : 1 +> : ^ + + bar.push("baz"); +>bar.push("baz") : number +> : ^^^^^^ +>bar.push : (...items: any[]) => number +> : ^^^^ ^^^^^^^^^^^^ +>bar : any[] +> : ^^^^^ +>push : (...items: any[]) => number +> : ^^^^ ^^^^^^^^^^^^ +>"baz" : "baz" +> : ^^^^^ + + const arr: string[] = bar; +>arr : string[] +> : ^^^^^^^^ +>bar : string[] +> : ^^^^^^^^ + } +} + diff --git a/tests/cases/compiler/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts b/tests/cases/compiler/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts new file mode 100644 index 00000000000..d20c1c1160f --- /dev/null +++ b/tests/cases/compiler/narrowSwitchOptionalChainContainmentEvolvingArrayNoCrash1.ts @@ -0,0 +1,18 @@ +// @strict: true +// @noEmit: true + +let foo = []; + +switch (foo?.length) { + case 1: + foo[0]; +} + +let bar = []; + +switch (bar?.length) { + case 1: { + bar.push("baz"); + const arr: string[] = bar; + } +} From 451388cfd5b0d086c5f69b9ff5675b650feef623 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Fri, 26 Jul 2024 19:21:18 +0200 Subject: [PATCH 69/89] Fixed quick fixes for inferred type predicates (#58958) --- src/compiler/checker.ts | 1 + src/compiler/types.ts | 1 + .../fixMissingTypeAnnotationOnExports.ts | 59 ++++++++++++++----- src/services/codefixes/helpers.ts | 15 +++++ .../refactors/inferFunctionReturnType.ts | 40 ++++++++----- ...ngTypeAnnotationOnExportsTypePredicate1.ts | 17 ++++++ ...factorInferFunctionReturnTypePredicate1.ts | 16 +++++ 7 files changed, 120 insertions(+), 29 deletions(-) create mode 100644 tests/cases/fourslash/codeFixMissingTypeAnnotationOnExportsTypePredicate1.ts create mode 100644 tests/cases/fourslash/refactorInferFunctionReturnTypePredicate1.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 78cee25efc9..f18a0b2a32a 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1653,6 +1653,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { getNonOptionalType: removeOptionalTypeMarker, getTypeArguments, typeToTypeNode: nodeBuilder.typeToTypeNode, + typePredicateToTypePredicateNode: nodeBuilder.typePredicateToTypePredicateNode, indexInfoToIndexSignatureDeclaration: nodeBuilder.indexInfoToIndexSignatureDeclaration, signatureToSignatureDeclaration: nodeBuilder.signatureToSignatureDeclaration, symbolToEntityName: nodeBuilder.symbolToEntityName, diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 18064995d1d..564fa64e129 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -5074,6 +5074,7 @@ export interface TypeChecker { /** Note that the resulting nodes cannot be checked. */ typeToTypeNode(type: Type, enclosingDeclaration: Node | undefined, flags: NodeBuilderFlags | undefined): TypeNode | undefined; /** @internal */ typeToTypeNode(type: Type, enclosingDeclaration: Node | undefined, flags: NodeBuilderFlags | undefined, tracker?: SymbolTracker): TypeNode | undefined; // eslint-disable-line @typescript-eslint/unified-signatures + /** @internal */ typePredicateToTypePredicateNode(typePredicate: TypePredicate, enclosingDeclaration: Node | undefined, flags: NodeBuilderFlags | undefined, tracker?: SymbolTracker): TypePredicateNode | undefined; /** Note that the resulting nodes cannot be checked. */ signatureToSignatureDeclaration(signature: Signature, kind: SyntaxKind, enclosingDeclaration: Node | undefined, flags: NodeBuilderFlags | undefined): SignatureDeclaration & { typeArguments?: NodeArray; } | undefined; /** @internal */ signatureToSignatureDeclaration(signature: Signature, kind: SyntaxKind, enclosingDeclaration: Node | undefined, flags: NodeBuilderFlags | undefined, tracker?: SymbolTracker): SignatureDeclaration & { typeArguments?: NodeArray; } | undefined; // eslint-disable-line @typescript-eslint/unified-signatures diff --git a/src/services/codefixes/fixMissingTypeAnnotationOnExports.ts b/src/services/codefixes/fixMissingTypeAnnotationOnExports.ts index 440fc4d05c4..db117935dea 100644 --- a/src/services/codefixes/fixMissingTypeAnnotationOnExports.ts +++ b/src/services/codefixes/fixMissingTypeAnnotationOnExports.ts @@ -91,6 +91,7 @@ import { TypeChecker, TypeFlags, TypeNode, + TypePredicate, UnionReduction, VariableDeclaration, VariableStatement, @@ -103,6 +104,7 @@ import { createImportAdder, eachDiagnostic, registerCodeFix, + typePredicateToAutoImportableTypeNode, typeToAutoImportableTypeNode, } from "../_namespaces/ts.codefix.js"; import { getIdentifierForNode } from "../refactors/helpers.js"; @@ -872,9 +874,28 @@ function withContext( return relativeType(node); } - let type = isValueSignatureDeclaration(node) ? - tryGetReturnType(node) : - typeChecker.getTypeAtLocation(node); + let type: Type | undefined; + + if (isValueSignatureDeclaration(node)) { + const signature = typeChecker.getSignatureFromDeclaration(node); + if (signature) { + const typePredicate = typeChecker.getTypePredicateOfSignature(signature); + if (typePredicate) { + if (!typePredicate.type) { + return emptyInferenceResult; + } + return { + typeNode: typePredicateToTypeNode(typePredicate, findAncestor(node, isDeclaration) ?? sourceFile, getFlags(typePredicate.type)), + mutatedTarget: false, + }; + } + type = typeChecker.getReturnTypeOfSignature(signature); + } + } + else { + type = typeChecker.getTypeAtLocation(node); + } + if (!type) { return emptyInferenceResult; } @@ -895,15 +916,18 @@ function withContext( if (isParameter(node) && typeChecker.requiresAddingImplicitUndefined(node)) { type = typeChecker.getUnionType([typeChecker.getUndefinedType(), type], UnionReduction.None); } - const flags = ( - isVariableDeclaration(node) || - (isPropertyDeclaration(node) && hasSyntacticModifier(node, ModifierFlags.Static | ModifierFlags.Readonly)) - ) && type.flags & TypeFlags.UniqueESSymbol ? - NodeBuilderFlags.AllowUniqueESSymbolType : NodeBuilderFlags.None; return { - typeNode: typeToTypeNode(type, findAncestor(node, isDeclaration) ?? sourceFile, flags), + typeNode: typeToTypeNode(type, findAncestor(node, isDeclaration) ?? sourceFile, getFlags(type)), mutatedTarget: false, }; + + function getFlags(type: Type) { + return ( + isVariableDeclaration(node) || + (isPropertyDeclaration(node) && hasSyntacticModifier(node, ModifierFlags.Static | ModifierFlags.Readonly)) + ) && type.flags & TypeFlags.UniqueESSymbol ? + NodeBuilderFlags.AllowUniqueESSymbolType : NodeBuilderFlags.None; + } } function createTypeOfFromEntityNameExpression(node: EntityNameExpression) { @@ -1084,11 +1108,18 @@ function withContext( return isTruncated ? factory.createKeywordTypeNode(SyntaxKind.AnyKeyword) : result; } - function tryGetReturnType(node: SignatureDeclaration): Type | undefined { - const signature = typeChecker.getSignatureFromDeclaration(node); - if (signature) { - return typeChecker.getReturnTypeOfSignature(signature); - } + function typePredicateToTypeNode(typePredicate: TypePredicate, enclosingDeclaration: Node, flags = NodeBuilderFlags.None): TypeNode | undefined { + let isTruncated = false; + const result = typePredicateToAutoImportableTypeNode(typeChecker, importAdder, typePredicate, enclosingDeclaration, scriptTarget, declarationEmitNodeBuilderFlags | flags, { + moduleResolverHost: program, + trackSymbol() { + return true; + }, + reportTruncationError() { + isTruncated = true; + }, + }); + return isTruncated ? factory.createKeywordTypeNode(SyntaxKind.AnyKeyword) : result; } function addTypeToVariableLike(decl: ParameterDeclaration | VariableDeclaration | PropertyDeclaration): DiagnosticOrDiagnosticAndArguments | undefined { diff --git a/src/services/codefixes/helpers.ts b/src/services/codefixes/helpers.ts index 0c4db514f8c..05240805205 100644 --- a/src/services/codefixes/helpers.ts +++ b/src/services/codefixes/helpers.ts @@ -105,6 +105,7 @@ import { TypeFlags, TypeNode, TypeParameterDeclaration, + TypePredicate, unescapeLeadingUnderscores, UnionType, UserPreferences, @@ -602,6 +603,20 @@ export function typeToAutoImportableTypeNode(checker: TypeChecker, importAdder: return getSynthesizedDeepClone(typeNode); } +/** @internal */ +export function typePredicateToAutoImportableTypeNode(checker: TypeChecker, importAdder: ImportAdder, typePredicate: TypePredicate, contextNode: Node | undefined, scriptTarget: ScriptTarget, flags?: NodeBuilderFlags, tracker?: SymbolTracker): TypeNode | undefined { + let typePredicateNode = checker.typePredicateToTypePredicateNode(typePredicate, contextNode, flags, tracker); + if (typePredicateNode?.type && isImportTypeNode(typePredicateNode.type)) { + const importableReference = tryGetAutoImportableReferenceFromTypeNode(typePredicateNode.type, scriptTarget); + if (importableReference) { + importSymbols(importAdder, importableReference.symbols); + typePredicateNode = factory.updateTypePredicateNode(typePredicateNode, typePredicateNode.assertsModifier, typePredicateNode.parameterName, importableReference.typeNode); + } + } + // Ensure nodes are fresh so they can have different positions when going through formatting. + return getSynthesizedDeepClone(typePredicateNode); +} + function typeContainsTypeParameter(type: Type) { if (type.isUnionOrIntersection()) { return type.types.some(typeContainsTypeParameter); diff --git a/src/services/refactors/inferFunctionReturnType.ts b/src/services/refactors/inferFunctionReturnType.ts index 3bf9bdb1afa..42607e3888b 100644 --- a/src/services/refactors/inferFunctionReturnType.ts +++ b/src/services/refactors/inferFunctionReturnType.ts @@ -24,7 +24,6 @@ import { SyntaxKind, textChanges, Type, - TypeChecker, TypeNode, } from "../_namespaces/ts.js"; import { @@ -113,7 +112,31 @@ function getInfo(context: RefactorContext): FunctionInfo | RefactorErrorInfo | u } const typeChecker = context.program.getTypeChecker(); - const returnType = tryGetReturnType(typeChecker, declaration); + + let returnType: Type | undefined; + + if (typeChecker.isImplementationOfOverload(declaration)) { + const signatures = typeChecker.getTypeAtLocation(declaration).getCallSignatures(); + if (signatures.length > 1) { + returnType = typeChecker.getUnionType(mapDefined(signatures, s => s.getReturnType())); + } + } + if (!returnType) { + const signature = typeChecker.getSignatureFromDeclaration(declaration); + if (signature) { + const typePredicate = typeChecker.getTypePredicateOfSignature(signature); + if (typePredicate && typePredicate.type) { + const typePredicateTypeNode = typeChecker.typePredicateToTypePredicateNode(typePredicate, declaration, NodeBuilderFlags.NoTruncation); + if (typePredicateTypeNode) { + return { declaration, returnTypeNode: typePredicateTypeNode }; + } + } + else { + returnType = typeChecker.getReturnTypeOfSignature(signature); + } + } + } + if (!returnType) { return { error: getLocaleSpecificMessage(Diagnostics.Could_not_determine_function_return_type) }; } @@ -135,16 +158,3 @@ function isConvertibleDeclaration(node: Node): node is ConvertibleDeclaration { return false; } } - -function tryGetReturnType(typeChecker: TypeChecker, node: ConvertibleDeclaration): Type | undefined { - if (typeChecker.isImplementationOfOverload(node)) { - const signatures = typeChecker.getTypeAtLocation(node).getCallSignatures(); - if (signatures.length > 1) { - return typeChecker.getUnionType(mapDefined(signatures, s => s.getReturnType())); - } - } - const signature = typeChecker.getSignatureFromDeclaration(node); - if (signature) { - return typeChecker.getReturnTypeOfSignature(signature); - } -} diff --git a/tests/cases/fourslash/codeFixMissingTypeAnnotationOnExportsTypePredicate1.ts b/tests/cases/fourslash/codeFixMissingTypeAnnotationOnExportsTypePredicate1.ts new file mode 100644 index 00000000000..de1fe5fa1f3 --- /dev/null +++ b/tests/cases/fourslash/codeFixMissingTypeAnnotationOnExportsTypePredicate1.ts @@ -0,0 +1,17 @@ +/// + +// @isolatedDeclarations: true +// @declaration: true + +// @filename: index.ts +//// export function isString(value: unknown) { +//// return typeof value === "string"; +//// } + +verify.codeFix({ + description: `Add return type 'value is string'`, + index: 0, + newFileContent: `export function isString(value: unknown): value is string { + return typeof value === "string"; +}`, +}); diff --git a/tests/cases/fourslash/refactorInferFunctionReturnTypePredicate1.ts b/tests/cases/fourslash/refactorInferFunctionReturnTypePredicate1.ts new file mode 100644 index 00000000000..b0225622ac1 --- /dev/null +++ b/tests/cases/fourslash/refactorInferFunctionReturnTypePredicate1.ts @@ -0,0 +1,16 @@ +/// + +//// function /*a*//*b*/isString(value: unknown) { +//// return typeof value === "string"; +//// } + +goTo.select("a", "b"); +edit.applyRefactor({ + refactorName: "Infer function return type", + actionName: "Infer function return type", + actionDescription: "Infer function return type", + newContent: +`function isString(value: unknown): value is string { + return typeof value === "string"; +}` +}); From 574ae44fd49bbe9606438d45a79044ecaa6d0a58 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Fri, 26 Jul 2024 14:24:32 -0700 Subject: [PATCH 70/89] Bring back exported defaultInitCompilerOptions (#59436) --- src/compiler/commandLineParser.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/compiler/commandLineParser.ts b/src/compiler/commandLineParser.ts index 13764554943..1775bce7123 100644 --- a/src/compiler/commandLineParser.ts +++ b/src/compiler/commandLineParser.ts @@ -259,6 +259,8 @@ export const libs = libEntries.map(entry => entry[0]); export const libMap = new Map(libEntries); // Watch related options + +// Do not delete this without updating the website's tsconfig generation. /** @internal */ export const optionsForWatch: CommandLineOption[] = [ { @@ -1619,6 +1621,7 @@ const commandOptionsWithoutBuild: CommandLineOption[] = [ }, ]; +// Do not delete this without updating the website's tsconfig generation. /** @internal */ export const optionDeclarations: CommandLineOption[] = [ ...commonOptionsWithBuild, @@ -1702,6 +1705,7 @@ export const buildOpts: CommandLineOption[] = [ ...optionsForBuild, ]; +// Do not delete this without updating the website's tsconfig generation. /** @internal */ export const typeAcquisitionDeclarations: CommandLineOption[] = [ { @@ -1764,7 +1768,9 @@ const compilerOptionsAlternateMode: AlternateModeDiagnostics = { getOptionsNameMap: getBuildOptionsNameMap, }; -const defaultInitCompilerOptions: CompilerOptions = { +// Do not delete this without updating the website's tsconfig generation. +/** @internal @knipignore */ +export const defaultInitCompilerOptions: CompilerOptions = { module: ModuleKind.CommonJS, target: ScriptTarget.ES2016, strict: true, From 9757109cafcb771a35ad9fe09855373cdd82005a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Fri, 26 Jul 2024 23:34:48 +0200 Subject: [PATCH 71/89] Fixed crashed related to emptied labeled statements in converted loop bodies (#59434) --- src/compiler/transformers/es2015.ts | 2 +- src/compiler/transformers/module/module.ts | 2 +- .../capturedLetConstInLoop14.errors.txt | 21 +++++ .../reference/capturedLetConstInLoop14.js | 34 +++++++++ ...ntDeclarationListInLoopNoCrash1.errors.txt | 12 +++ ...dStatementDeclarationListInLoopNoCrash1.js | 22 ++++++ ...dStatementDeclarationListInLoopNoCrash2.js | 22 ++++++ ...ntDeclarationListInLoopNoCrash3.errors.txt | 76 +++++++++++++++++++ ...dStatementDeclarationListInLoopNoCrash3.js | 63 +++++++++++++++ ...ntDeclarationListInLoopNoCrash4.errors.txt | 72 ++++++++++++++++++ ...dStatementDeclarationListInLoopNoCrash4.js | 55 ++++++++++++++ .../compiler/capturedLetConstInLoop14.ts | 17 +++++ ...dStatementDeclarationListInLoopNoCrash1.ts | 9 +++ ...dStatementDeclarationListInLoopNoCrash2.ts | 9 +++ ...dStatementDeclarationListInLoopNoCrash3.ts | 25 ++++++ ...dStatementDeclarationListInLoopNoCrash4.ts | 23 ++++++ 16 files changed, 462 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/capturedLetConstInLoop14.errors.txt create mode 100644 tests/baselines/reference/capturedLetConstInLoop14.js create mode 100644 tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash1.errors.txt create mode 100644 tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash1.js create mode 100644 tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash2.js create mode 100644 tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash3.errors.txt create mode 100644 tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash3.js create mode 100644 tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash4.errors.txt create mode 100644 tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash4.js create mode 100644 tests/cases/compiler/capturedLetConstInLoop14.ts create mode 100644 tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash1.ts create mode 100644 tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash2.ts create mode 100644 tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash3.ts create mode 100644 tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash4.ts diff --git a/src/compiler/transformers/es2015.ts b/src/compiler/transformers/es2015.ts index 6973b1aef26..e8dffceda4d 100644 --- a/src/compiler/transformers/es2015.ts +++ b/src/compiler/transformers/es2015.ts @@ -2946,7 +2946,7 @@ export function transformES2015(context: TransformationContext): (x: SourceFile const statement = unwrapInnermostStatementOfLabel(node, convertedLoopState && recordLabel); return isIterationStatement(statement, /*lookInLabeledStatements*/ false) ? visitIterationStatement(statement, /*outermostLabeledStatement*/ node) - : factory.restoreEnclosingLabel(Debug.checkDefined(visitNode(statement, visitor, isStatement, factory.liftToBlock)), node, convertedLoopState && resetLabel); + : factory.restoreEnclosingLabel(visitNode(statement, visitor, isStatement, factory.liftToBlock) ?? setTextRange(factory.createEmptyStatement(), statement), node, convertedLoopState && resetLabel); } function visitIterationStatement(node: IterationStatement, outermostLabeledStatement: LabeledStatement) { diff --git a/src/compiler/transformers/module/module.ts b/src/compiler/transformers/module/module.ts index ca8f46cf226..be0cf4bdf85 100644 --- a/src/compiler/transformers/module/module.ts +++ b/src/compiler/transformers/module/module.ts @@ -993,7 +993,7 @@ export function transformModule(context: TransformationContext): (x: SourceFile return factory.updateLabeledStatement( node, node.label, - visitNode(node.statement, topLevelNestedVisitor, isStatement, factory.liftToBlock) ?? factory.createExpressionStatement(factory.createIdentifier("")), + visitNode(node.statement, topLevelNestedVisitor, isStatement, factory.liftToBlock) ?? setTextRange(factory.createEmptyStatement(), node.statement), ); } diff --git a/tests/baselines/reference/capturedLetConstInLoop14.errors.txt b/tests/baselines/reference/capturedLetConstInLoop14.errors.txt new file mode 100644 index 00000000000..ab5b98288ac --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop14.errors.txt @@ -0,0 +1,21 @@ +capturedLetConstInLoop14.ts(7,9): error TS2403: Subsequent variable declarations must have the same type. Variable 'v' must be of type 'number', but here has type 'any'. + + +==== capturedLetConstInLoop14.ts (1 errors) ==== + function use(v: number) {} + + function foo(x: number) { + var v = 1; + do { + let x = v; + var v; + ~ +!!! error TS2403: Subsequent variable declarations must have the same type. Variable 'v' must be of type 'number', but here has type 'any'. +!!! related TS6203 capturedLetConstInLoop14.ts:4:7: 'v' was also declared here. + var v = 2; + () => x + v; + } while (false); + + use(v); + } + \ No newline at end of file diff --git a/tests/baselines/reference/capturedLetConstInLoop14.js b/tests/baselines/reference/capturedLetConstInLoop14.js new file mode 100644 index 00000000000..cbf8119def9 --- /dev/null +++ b/tests/baselines/reference/capturedLetConstInLoop14.js @@ -0,0 +1,34 @@ +//// [tests/cases/compiler/capturedLetConstInLoop14.ts] //// + +//// [capturedLetConstInLoop14.ts] +function use(v: number) {} + +function foo(x: number) { + var v = 1; + do { + let x = v; + var v; + var v = 2; + () => x + v; + } while (false); + + use(v); +} + + +//// [capturedLetConstInLoop14.js] +"use strict"; +function use(v) { } +function foo(x) { + var v = 1; + var _loop_1 = function () { + var x_1 = v; + v = 2; + (function () { return x_1 + v; }); + }; + var v, v; + do { + _loop_1(); + } while (false); + use(v); +} diff --git a/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash1.errors.txt b/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash1.errors.txt new file mode 100644 index 00000000000..35cdc3ccea0 --- /dev/null +++ b/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash1.errors.txt @@ -0,0 +1,12 @@ +labeledStatementDeclarationListInLoopNoCrash1.ts(3,11): error TS1123: Variable declaration list cannot be empty. + + +==== labeledStatementDeclarationListInLoopNoCrash1.ts (1 errors) ==== + for (let x of []) { + var v0 = x; + foo: var; + +!!! error TS1123: Variable declaration list cannot be empty. + (function() { return x + v0}); + } + \ No newline at end of file diff --git a/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash1.js b/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash1.js new file mode 100644 index 00000000000..985b5ea0008 --- /dev/null +++ b/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash1.js @@ -0,0 +1,22 @@ +//// [tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash1.ts] //// + +//// [labeledStatementDeclarationListInLoopNoCrash1.ts] +for (let x of []) { + var v0 = x; + foo: var; + (function() { return x + v0}); +} + + +//// [labeledStatementDeclarationListInLoopNoCrash1.js] +"use strict"; +var _loop_1 = function (x) { + v0 = x; + foo: ; + (function () { return x + v0; }); +}; +var v0; +for (var _i = 0, _a = []; _i < _a.length; _i++) { + var x = _a[_i]; + _loop_1(x); +} diff --git a/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash2.js b/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash2.js new file mode 100644 index 00000000000..a95cecfa2f7 --- /dev/null +++ b/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash2.js @@ -0,0 +1,22 @@ +//// [tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash2.ts] //// + +//// [labeledStatementDeclarationListInLoopNoCrash2.ts] +for (let x of []) { + var v0 = x; + foo: var y; + (function() { return x + v0}); +} + + +//// [labeledStatementDeclarationListInLoopNoCrash2.js] +"use strict"; +var _loop_1 = function (x) { + v0 = x; + foo: ; + (function () { return x + v0; }); +}; +var v0, y; +for (var _i = 0, _a = []; _i < _a.length; _i++) { + var x = _a[_i]; + _loop_1(x); +} diff --git a/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash3.errors.txt b/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash3.errors.txt new file mode 100644 index 00000000000..075f135a3b8 --- /dev/null +++ b/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash3.errors.txt @@ -0,0 +1,76 @@ +labeledStatementDeclarationListInLoopNoCrash3.ts(9,12): error TS2339: Property 'classFormat' does not exist on type 'ParseThemeData'. +labeledStatementDeclarationListInLoopNoCrash3.ts(15,12): error TS1005: ',' expected. +labeledStatementDeclarationListInLoopNoCrash3.ts(15,12): error TS2304: Cannot find name 'font'. +labeledStatementDeclarationListInLoopNoCrash3.ts(15,21): error TS1005: ',' expected. +labeledStatementDeclarationListInLoopNoCrash3.ts(15,23): error TS1135: Argument expression expected. +labeledStatementDeclarationListInLoopNoCrash3.ts(15,26): error TS1134: Variable declaration expected. +labeledStatementDeclarationListInLoopNoCrash3.ts(15,41): error TS2581: Cannot find name '$'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`. +labeledStatementDeclarationListInLoopNoCrash3.ts(15,42): error TS1005: ')' expected. +labeledStatementDeclarationListInLoopNoCrash3.ts(15,53): error TS2304: Cannot find name 'fontSize'. +labeledStatementDeclarationListInLoopNoCrash3.ts(15,61): error TS1005: ';' expected. +labeledStatementDeclarationListInLoopNoCrash3.ts(16,12): error TS1005: ';' expected. +labeledStatementDeclarationListInLoopNoCrash3.ts(16,23): error TS1134: Variable declaration expected. +labeledStatementDeclarationListInLoopNoCrash3.ts(16,38): error TS2581: Cannot find name '$'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`. +labeledStatementDeclarationListInLoopNoCrash3.ts(16,39): error TS1005: ')' expected. +labeledStatementDeclarationListInLoopNoCrash3.ts(16,50): error TS2304: Cannot find name 'height'. +labeledStatementDeclarationListInLoopNoCrash3.ts(16,56): error TS1005: ';' expected. +labeledStatementDeclarationListInLoopNoCrash3.ts(22,1): error TS1160: Unterminated template literal. + + +==== labeledStatementDeclarationListInLoopNoCrash3.ts (17 errors) ==== + // https://github.com/microsoft/TypeScript/issues/59345 + + export class ParseThemeData { + parseButton(button: any) { + const {type, size} = button; + for (let item of type) { + const fontType = item.type; + const style = (state: string) => `color: var(--button-${fontType}-${state}-font-color)`; + this.classFormat(`${style('active')}); + ~~~~~~~~~~~ +!!! error TS2339: Property 'classFormat' does not exist on type 'ParseThemeData'. + } + for (let item of size) { + const fontType = item.type; + this.classFormat( + [ + `font-size: var(--button-size-${fontType}-fontSize)`, + ~~~~ +!!! error TS1005: ',' expected. + ~~~~ +!!! error TS2304: Cannot find name 'font'. + ~ +!!! error TS1005: ',' expected. + ~~~ +!!! error TS1135: Argument expression expected. + ~ +!!! error TS1134: Variable declaration expected. + ~ +!!! error TS2581: Cannot find name '$'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`. + ~ +!!! error TS1005: ')' expected. + ~~~~~~~~ +!!! error TS2304: Cannot find name 'fontSize'. + ~ +!!! error TS1005: ';' expected. + `height: var(--button-size-${fontType}-height)`, + ~~~~~~ +!!! error TS1005: ';' expected. + ~ +!!! error TS1134: Variable declaration expected. + ~ +!!! error TS2581: Cannot find name '$'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`. + ~ +!!! error TS1005: ')' expected. + ~~~~~~ +!!! error TS2304: Cannot find name 'height'. + ~ +!!! error TS1005: ';' expected. + ].join(';') + ); + } + } + } + + +!!! error TS1160: Unterminated template literal. \ No newline at end of file diff --git a/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash3.js b/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash3.js new file mode 100644 index 00000000000..ee5a48513f0 --- /dev/null +++ b/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash3.js @@ -0,0 +1,63 @@ +//// [tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash3.ts] //// + +//// [labeledStatementDeclarationListInLoopNoCrash3.ts] +// https://github.com/microsoft/TypeScript/issues/59345 + +export class ParseThemeData { + parseButton(button: any) { + const {type, size} = button; + for (let item of type) { + const fontType = item.type; + const style = (state: string) => `color: var(--button-${fontType}-${state}-font-color)`; + this.classFormat(`${style('active')}); + } + for (let item of size) { + const fontType = item.type; + this.classFormat( + [ + `font-size: var(--button-size-${fontType}-fontSize)`, + `height: var(--button-size-${fontType}-height)`, + ].join(';') + ); + } + } +} + + +//// [labeledStatementDeclarationListInLoopNoCrash3.js] +"use strict"; +// https://github.com/microsoft/TypeScript/issues/59345 +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ParseThemeData = void 0; +var ParseThemeData = /** @class */ (function () { + function ParseThemeData() { + } + ParseThemeData.prototype.parseButton = function (button) { + var type = button.type, size = button.size; + var _loop_1 = function (item) { + var fontType = item.type; + var style = function (state) { return "color: var(--button-".concat(fontType, "-").concat(state, "-font-color)"); }; + this_1.classFormat("".concat(style('active'), ");\n }\n for (let item of size) {\n const fontType = item.type;\n this.classFormat(\n [\n "), font - size); + (--button - size - $); + { + fontType; + } + -fontSize; + ",\n "; + height: ; + (--button - size - $); + { + fontType; + } + -height; + ",\n ].join(';')\n );\n }\n }\n}\n"; + }; + var this_1 = this; + for (var _i = 0, type_1 = type; _i < type_1.length; _i++) { + var item = type_1[_i]; + _loop_1(item); + } + }; + return ParseThemeData; +}()); +exports.ParseThemeData = ParseThemeData; diff --git a/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash4.errors.txt b/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash4.errors.txt new file mode 100644 index 00000000000..8d20a6b2ac1 --- /dev/null +++ b/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash4.errors.txt @@ -0,0 +1,72 @@ +labeledStatementDeclarationListInLoopNoCrash4.ts(7,12): error TS2339: Property 'classFormat' does not exist on type 'ParseThemeData'. +labeledStatementDeclarationListInLoopNoCrash4.ts(13,12): error TS1005: ',' expected. +labeledStatementDeclarationListInLoopNoCrash4.ts(13,12): error TS2304: Cannot find name 'font'. +labeledStatementDeclarationListInLoopNoCrash4.ts(13,21): error TS1005: ',' expected. +labeledStatementDeclarationListInLoopNoCrash4.ts(13,23): error TS1135: Argument expression expected. +labeledStatementDeclarationListInLoopNoCrash4.ts(13,26): error TS1134: Variable declaration expected. +labeledStatementDeclarationListInLoopNoCrash4.ts(13,41): error TS2581: Cannot find name '$'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`. +labeledStatementDeclarationListInLoopNoCrash4.ts(13,42): error TS1005: ')' expected. +labeledStatementDeclarationListInLoopNoCrash4.ts(13,53): error TS2304: Cannot find name 'fontSize'. +labeledStatementDeclarationListInLoopNoCrash4.ts(13,61): error TS1005: ';' expected. +labeledStatementDeclarationListInLoopNoCrash4.ts(14,12): error TS1005: ';' expected. +labeledStatementDeclarationListInLoopNoCrash4.ts(14,27): error TS1005: ',' expected. +labeledStatementDeclarationListInLoopNoCrash4.ts(20,1): error TS1005: '}' expected. +labeledStatementDeclarationListInLoopNoCrash4.ts(20,1): error TS1160: Unterminated template literal. + + +==== labeledStatementDeclarationListInLoopNoCrash4.ts (14 errors) ==== + export class ParseThemeData { + parseButton(button: any) { + const {type, size} = button; + for (let item of type) { + const fontType = item.type; + const style = (state: string) => `color: var(--button-${fontType}-${state}-font-color)`; + this.classFormat(`${style('active')}); + ~~~~~~~~~~~ +!!! error TS2339: Property 'classFormat' does not exist on type 'ParseThemeData'. + } + for (let item of size) { + const fontType = item.type; + this.classFormat( + [ + `font-size: var(--button-size-${fontType}-fontSize)`, + ~~~~ +!!! error TS1005: ',' expected. + ~~~~ +!!! error TS2304: Cannot find name 'font'. + ~ +!!! error TS1005: ',' expected. + ~~~ +!!! error TS1135: Argument expression expected. + ~ +!!! error TS1134: Variable declaration expected. + ~ +!!! error TS2581: Cannot find name '$'. Do you need to install type definitions for jQuery? Try `npm i --save-dev @types/jquery`. + ~ +!!! error TS1005: ')' expected. + ~~~~~~~~ +!!! error TS2304: Cannot find name 'fontSize'. + ~ +!!! error TS1005: ';' expected. + `height: var foo`, + ~~~~~~ +!!! error TS1005: ';' expected. + ~~ + ].join(';') + ~~~~~~~~~~~~~~~~~~~ + ); + ~~~~~~~~ + } + ~~~~~ + } + ~~~ + } + ~ + + +!!! error TS1005: ',' expected. + +!!! error TS1005: '}' expected. +!!! related TS1007 labeledStatementDeclarationListInLoopNoCrash4.ts:4:28: The parser expected to find a '}' to match the '{' token here. + +!!! error TS1160: Unterminated template literal. \ No newline at end of file diff --git a/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash4.js b/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash4.js new file mode 100644 index 00000000000..0ac3a9e0a34 --- /dev/null +++ b/tests/baselines/reference/labeledStatementDeclarationListInLoopNoCrash4.js @@ -0,0 +1,55 @@ +//// [tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash4.ts] //// + +//// [labeledStatementDeclarationListInLoopNoCrash4.ts] +export class ParseThemeData { + parseButton(button: any) { + const {type, size} = button; + for (let item of type) { + const fontType = item.type; + const style = (state: string) => `color: var(--button-${fontType}-${state}-font-color)`; + this.classFormat(`${style('active')}); + } + for (let item of size) { + const fontType = item.type; + this.classFormat( + [ + `font-size: var(--button-size-${fontType}-fontSize)`, + `height: var foo`, + ].join(';') + ); + } + } +} + + +//// [labeledStatementDeclarationListInLoopNoCrash4.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ParseThemeData = void 0; +var ParseThemeData = /** @class */ (function () { + function ParseThemeData() { + } + ParseThemeData.prototype.parseButton = function (button) { + var type = button.type, size = button.size; + var _loop_1 = function (item) { + var fontType = item.type; + var style = function (state) { return "color: var(--button-".concat(fontType, "-").concat(state, "-font-color)"); }; + this_1.classFormat("".concat(style('active'), ");\n }\n for (let item of size) {\n const fontType = item.type;\n this.classFormat(\n [\n "), font - size); + (--button - size - $); + { + fontType; + } + -fontSize; + ",\n "; + height: ; + ",\n ].join(';')\n );\n }\n }\n}\n"; + }; + var this_1 = this, foo; + for (var _i = 0, type_1 = type; _i < type_1.length; _i++) { + var item = type_1[_i]; + _loop_1(item); + } + }; + return ParseThemeData; +}()); +exports.ParseThemeData = ParseThemeData; diff --git a/tests/cases/compiler/capturedLetConstInLoop14.ts b/tests/cases/compiler/capturedLetConstInLoop14.ts new file mode 100644 index 00000000000..9c4d94def6c --- /dev/null +++ b/tests/cases/compiler/capturedLetConstInLoop14.ts @@ -0,0 +1,17 @@ +// @strict: true +// @target: es5 +// @noTypesAndSymbols: true + +function use(v: number) {} + +function foo(x: number) { + var v = 1; + do { + let x = v; + var v; + var v = 2; + () => x + v; + } while (false); + + use(v); +} diff --git a/tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash1.ts b/tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash1.ts new file mode 100644 index 00000000000..74265116f75 --- /dev/null +++ b/tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash1.ts @@ -0,0 +1,9 @@ +// @strict: true +// @target: es5 +// @noTypesAndSymbols: true + +for (let x of []) { + var v0 = x; + foo: var; + (function() { return x + v0}); +} diff --git a/tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash2.ts b/tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash2.ts new file mode 100644 index 00000000000..048775ea293 --- /dev/null +++ b/tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash2.ts @@ -0,0 +1,9 @@ +// @strict: true +// @target: es5 +// @noTypesAndSymbols: true + +for (let x of []) { + var v0 = x; + foo: var y; + (function() { return x + v0}); +} diff --git a/tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash3.ts b/tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash3.ts new file mode 100644 index 00000000000..0fc7d951d2c --- /dev/null +++ b/tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash3.ts @@ -0,0 +1,25 @@ +// @strict: true +// @target: es5 +// @noTypesAndSymbols: true + +// https://github.com/microsoft/TypeScript/issues/59345 + +export class ParseThemeData { + parseButton(button: any) { + const {type, size} = button; + for (let item of type) { + const fontType = item.type; + const style = (state: string) => `color: var(--button-${fontType}-${state}-font-color)`; + this.classFormat(`${style('active')}); + } + for (let item of size) { + const fontType = item.type; + this.classFormat( + [ + `font-size: var(--button-size-${fontType}-fontSize)`, + `height: var(--button-size-${fontType}-height)`, + ].join(';') + ); + } + } +} diff --git a/tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash4.ts b/tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash4.ts new file mode 100644 index 00000000000..53d7e6d263f --- /dev/null +++ b/tests/cases/conformance/statements/labeledStatements/labeledStatementDeclarationListInLoopNoCrash4.ts @@ -0,0 +1,23 @@ +// @strict: true +// @target: es5 +// @noTypesAndSymbols: true + +export class ParseThemeData { + parseButton(button: any) { + const {type, size} = button; + for (let item of type) { + const fontType = item.type; + const style = (state: string) => `color: var(--button-${fontType}-${state}-font-color)`; + this.classFormat(`${style('active')}); + } + for (let item of size) { + const fontType = item.type; + this.classFormat( + [ + `font-size: var(--button-size-${fontType}-fontSize)`, + `height: var foo`, + ].join(';') + ); + } + } +} From 9405f21622dd6cbc636c44d7b45183463d0d34f6 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Mon, 29 Jul 2024 09:20:42 -0700 Subject: [PATCH 72/89] =?UTF-8?q?Don=E2=80=99t=20enforce=20export/declare?= =?UTF-8?q?=20overload=20modifier=20consistency=20across=20module=20augmen?= =?UTF-8?q?tations=20(#59416)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/compiler/checker.ts | 44 +++++++++++++------ .../missingFunctionImplementation2.errors.txt | 5 +-- .../reference/parserStrictMode8.errors.txt | 5 +-- .../crossFileOverloadModifierConsistency.ts | 23 ++++++++++ 4 files changed, 55 insertions(+), 22 deletions(-) create mode 100644 tests/cases/compiler/crossFileOverloadModifierConsistency.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index f18a0b2a32a..3a540359d81 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -41906,7 +41906,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function checkFunctionOrConstructorSymbolWorker(symbol: Symbol): void { - function getCanonicalOverload(overloads: Declaration[], implementation: FunctionLikeDeclaration | undefined): Declaration { + function getCanonicalOverload(overloads: readonly Declaration[], implementation: FunctionLikeDeclaration | undefined): Declaration { // Consider the canonical set of flags to be the flags of the bodyDeclaration or the first declaration // Error on all deviations from this canonical set of flags // The caveat is that if some overloads are defined in lib.d.ts, we don't want to @@ -41922,19 +41922,35 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { const someButNotAllOverloadFlags = someOverloadFlags ^ allOverloadFlags; if (someButNotAllOverloadFlags !== 0) { const canonicalFlags = getEffectiveDeclarationFlags(getCanonicalOverload(overloads, implementation), flagsToCheck); - forEach(overloads, o => { - const deviation = getEffectiveDeclarationFlags(o, flagsToCheck) ^ canonicalFlags; - if (deviation & ModifierFlags.Export) { - error(getNameOfDeclaration(o), Diagnostics.Overload_signatures_must_all_be_exported_or_non_exported); - } - else if (deviation & ModifierFlags.Ambient) { - error(getNameOfDeclaration(o), Diagnostics.Overload_signatures_must_all_be_ambient_or_non_ambient); - } - else if (deviation & (ModifierFlags.Private | ModifierFlags.Protected)) { - error(getNameOfDeclaration(o) || o, Diagnostics.Overload_signatures_must_all_be_public_private_or_protected); - } - else if (deviation & ModifierFlags.Abstract) { - error(getNameOfDeclaration(o), Diagnostics.Overload_signatures_must_all_be_abstract_or_non_abstract); + group(overloads, o => getSourceFileOfNode(o).fileName).forEach(overloadsInFile => { + const canonicalFlagsForFile = getEffectiveDeclarationFlags(getCanonicalOverload(overloadsInFile, implementation), flagsToCheck); + for (const o of overloadsInFile) { + const deviation = getEffectiveDeclarationFlags(o, flagsToCheck) ^ canonicalFlags; + const deviationInFile = getEffectiveDeclarationFlags(o, flagsToCheck) ^ canonicalFlagsForFile; + if (deviationInFile & ModifierFlags.Export) { + // Overloads in different files need not all have export modifiers. This is ok: + // // lib.d.ts + // declare function foo(s: number): string; + // declare function foo(s: string): number; + // export { foo }; + // + // // app.ts + // declare module "lib" { + // export function foo(s: boolean): boolean; + // } + error(getNameOfDeclaration(o), Diagnostics.Overload_signatures_must_all_be_exported_or_non_exported); + } + else if (deviationInFile & ModifierFlags.Ambient) { + // Though rare, a module augmentation (necessarily ambient) is allowed to add overloads + // to a non-ambient function in an implementation file. + error(getNameOfDeclaration(o), Diagnostics.Overload_signatures_must_all_be_ambient_or_non_ambient); + } + else if (deviation & (ModifierFlags.Private | ModifierFlags.Protected)) { + error(getNameOfDeclaration(o) || o, Diagnostics.Overload_signatures_must_all_be_public_private_or_protected); + } + else if (deviation & ModifierFlags.Abstract) { + error(getNameOfDeclaration(o), Diagnostics.Overload_signatures_must_all_be_abstract_or_non_abstract); + } } }); } diff --git a/tests/baselines/reference/missingFunctionImplementation2.errors.txt b/tests/baselines/reference/missingFunctionImplementation2.errors.txt index 603b52fbc06..cc1ff5dc844 100644 --- a/tests/baselines/reference/missingFunctionImplementation2.errors.txt +++ b/tests/baselines/reference/missingFunctionImplementation2.errors.txt @@ -1,13 +1,10 @@ -missingFunctionImplementation2_a.ts(3,19): error TS2384: Overload signatures must all be ambient or non-ambient. missingFunctionImplementation2_b.ts(1,17): error TS2391: Function implementation is missing or not immediately following the declaration. -==== missingFunctionImplementation2_a.ts (1 errors) ==== +==== missingFunctionImplementation2_a.ts (0 errors) ==== export {}; declare module "./missingFunctionImplementation2_b" { export function f(a, b): void; - ~ -!!! error TS2384: Overload signatures must all be ambient or non-ambient. } ==== missingFunctionImplementation2_b.ts (1 errors) ==== diff --git a/tests/baselines/reference/parserStrictMode8.errors.txt b/tests/baselines/reference/parserStrictMode8.errors.txt index cc7d5379674..a0bd3dc208e 100644 --- a/tests/baselines/reference/parserStrictMode8.errors.txt +++ b/tests/baselines/reference/parserStrictMode8.errors.txt @@ -1,12 +1,9 @@ parserStrictMode8.ts(2,10): error TS1100: Invalid use of 'eval' in strict mode. -parserStrictMode8.ts(2,10): error TS2384: Overload signatures must all be ambient or non-ambient. -==== parserStrictMode8.ts (2 errors) ==== +==== parserStrictMode8.ts (1 errors) ==== "use strict"; function eval() { ~~~~ !!! error TS1100: Invalid use of 'eval' in strict mode. - ~~~~ -!!! error TS2384: Overload signatures must all be ambient or non-ambient. } \ No newline at end of file diff --git a/tests/cases/compiler/crossFileOverloadModifierConsistency.ts b/tests/cases/compiler/crossFileOverloadModifierConsistency.ts new file mode 100644 index 00000000000..83ef887c86d --- /dev/null +++ b/tests/cases/compiler/crossFileOverloadModifierConsistency.ts @@ -0,0 +1,23 @@ +// @strict: true +// @module: preserve +// @noEmit: true +// @noTypesAndSymbols: true + +// @Filename: node_modules/library/index.d.ts +declare function get(): string; + +export { get }; + +// @Filename: node_modules/non-ambient/index.ts +export function real(arg?: string): any {} + +// @Filename: augmentations.d.ts +export {}; + +declare module "library" { + export function get(): string | null; +} + +declare module "non-ambient" { + export function real(arg: string): string; +} From 2daa5027a3b4c684266a35a132dd6cf6a828b2e1 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 29 Jul 2024 09:55:12 -0700 Subject: [PATCH 73/89] Bump the github-actions group with 2 updates (#59454) Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/codeql.yml | 6 +++--- .github/workflows/scorecard.yml | 4 ++-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/codeql.yml b/.github/workflows/codeql.yml index 5c75fdb9d5b..109abe69c3d 100644 --- a/.github/workflows/codeql.yml +++ b/.github/workflows/codeql.yml @@ -46,7 +46,7 @@ jobs: # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL - uses: github/codeql-action/init@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13 + uses: github/codeql-action/init@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15 with: config-file: ./.github/codeql/codeql-configuration.yml # Override language selection by uncommenting this and choosing your languages @@ -56,7 +56,7 @@ jobs: # Autobuild attempts to build any compiled languages (C/C++, C#, or Java). # If this step fails, then you should remove it and run the build manually (see below). - name: Autobuild - uses: github/codeql-action/autobuild@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13 + uses: github/codeql-action/autobuild@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15 # ℹ️ Command-line programs to run using the OS shell. # 📚 See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun @@ -70,4 +70,4 @@ jobs: # make release - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13 + uses: github/codeql-action/analyze@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15 diff --git a/.github/workflows/scorecard.yml b/.github/workflows/scorecard.yml index 1507aa453f2..12f97ba49e1 100644 --- a/.github/workflows/scorecard.yml +++ b/.github/workflows/scorecard.yml @@ -34,7 +34,7 @@ jobs: persist-credentials: false - name: 'Run analysis' - uses: ossf/scorecard-action@dc50aa9510b46c811795eb24b2f1ba02a914e534 # v2.3.3 + uses: ossf/scorecard-action@62b2cac7ed8198b15735ed49ab1e5cf35480ba46 # v2.4.0 with: results_file: results.sarif results_format: sarif @@ -55,6 +55,6 @@ jobs: # Upload the results to GitHub's code scanning dashboard. - name: 'Upload to code-scanning' - uses: github/codeql-action/upload-sarif@2d790406f505036ef40ecba973cc774a50395aac # v3.25.13 + uses: github/codeql-action/upload-sarif@afb54ba388a7dca6ecae48f608c4ff05ff4cc77a # v3.25.15 with: sarif_file: results.sarif From 68648256f819489b720bded3582df28f0e436785 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Mon, 29 Jul 2024 13:31:16 -0700 Subject: [PATCH 74/89] Fixed crash related to creating file diagnostics outside of the source file range in `checkPotentialUncheckedRenamedBindingElementsInTypes` (#59428) --- src/compiler/checker.ts | 2 +- .../parametersSyntaxErrorNoCrash1.errors.txt | 42 +++++++++++++++++++ .../parametersSyntaxErrorNoCrash2.errors.txt | 35 ++++++++++++++++ .../parametersSyntaxErrorNoCrash3.errors.txt | 37 ++++++++++++++++ .../compiler/parametersSyntaxErrorNoCrash1.ts | 9 ++++ .../compiler/parametersSyntaxErrorNoCrash2.ts | 7 ++++ .../compiler/parametersSyntaxErrorNoCrash3.ts | 9 ++++ 7 files changed, 140 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/parametersSyntaxErrorNoCrash1.errors.txt create mode 100644 tests/baselines/reference/parametersSyntaxErrorNoCrash2.errors.txt create mode 100644 tests/baselines/reference/parametersSyntaxErrorNoCrash3.errors.txt create mode 100644 tests/cases/compiler/parametersSyntaxErrorNoCrash1.ts create mode 100644 tests/cases/compiler/parametersSyntaxErrorNoCrash2.ts create mode 100644 tests/cases/compiler/parametersSyntaxErrorNoCrash3.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 3a540359d81..2578ba4c4df 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -43552,7 +43552,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // entire parameter does not have type annotation, suggest adding an annotation addRelatedInfo( diagnostic, - createFileDiagnostic(getSourceFileOfNode(wrappingDeclaration), wrappingDeclaration.end, 1, Diagnostics.We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here, declarationNameToString(node.propertyName)), + createFileDiagnostic(getSourceFileOfNode(wrappingDeclaration), wrappingDeclaration.end, 0, Diagnostics.We_can_only_write_a_type_for_0_by_adding_a_type_for_the_entire_parameter_here, declarationNameToString(node.propertyName)), ); } diagnostics.add(diagnostic); diff --git a/tests/baselines/reference/parametersSyntaxErrorNoCrash1.errors.txt b/tests/baselines/reference/parametersSyntaxErrorNoCrash1.errors.txt new file mode 100644 index 00000000000..19991af5050 --- /dev/null +++ b/tests/baselines/reference/parametersSyntaxErrorNoCrash1.errors.txt @@ -0,0 +1,42 @@ +parametersSyntaxErrorNoCrash1.ts(3,10): error TS2391: Function implementation is missing or not immediately following the declaration. +parametersSyntaxErrorNoCrash1.ts(3,10): error TS7010: 'identity', which lacks return-type annotation, implicitly has an 'any' return type. +parametersSyntaxErrorNoCrash1.ts(3,22): error TS2300: Duplicate identifier 'arg'. +parametersSyntaxErrorNoCrash1.ts(3,28): error TS1005: ',' expected. +parametersSyntaxErrorNoCrash1.ts(3,30): error TS7006: Parameter 'T' implicitly has an 'any' type. +parametersSyntaxErrorNoCrash1.ts(3,32): error TS1005: ',' expected. +parametersSyntaxErrorNoCrash1.ts(4,12): error TS1005: ':' expected. +parametersSyntaxErrorNoCrash1.ts(4,12): error TS2300: Duplicate identifier 'arg'. +parametersSyntaxErrorNoCrash1.ts(4,12): error TS2842: 'arg' is an unused renaming of 'return'. Did you intend to use it as a type annotation? +parametersSyntaxErrorNoCrash1.ts(4,15): error TS1005: ',' expected. +parametersSyntaxErrorNoCrash1.ts(5,2): error TS1005: ')' expected. + + +==== parametersSyntaxErrorNoCrash1.ts (11 errors) ==== + // https://github.com/microsoft/TypeScript/issues/59422 + + function identity(arg: T: T { + ~~~~~~~~ +!!! error TS2391: Function implementation is missing or not immediately following the declaration. + ~~~~~~~~ +!!! error TS7010: 'identity', which lacks return-type annotation, implicitly has an 'any' return type. + ~~~ +!!! error TS2300: Duplicate identifier 'arg'. + ~ +!!! error TS1005: ',' expected. + ~ +!!! error TS7006: Parameter 'T' implicitly has an 'any' type. + ~ +!!! error TS1005: ',' expected. + return arg; + ~~~ +!!! error TS1005: ':' expected. + ~~~ +!!! error TS2300: Duplicate identifier 'arg'. + ~~~ +!!! error TS2842: 'arg' is an unused renaming of 'return'. Did you intend to use it as a type annotation? +!!! related TS2843 parametersSyntaxErrorNoCrash1.ts:5:2: We can only write a type for 'return' by adding a type for the entire parameter here. + ~ +!!! error TS1005: ',' expected. + } + +!!! error TS1005: ')' expected. \ No newline at end of file diff --git a/tests/baselines/reference/parametersSyntaxErrorNoCrash2.errors.txt b/tests/baselines/reference/parametersSyntaxErrorNoCrash2.errors.txt new file mode 100644 index 00000000000..4df2a2a5dda --- /dev/null +++ b/tests/baselines/reference/parametersSyntaxErrorNoCrash2.errors.txt @@ -0,0 +1,35 @@ +parametersSyntaxErrorNoCrash2.ts(3,25): error TS2391: Function implementation is missing or not immediately following the declaration. +parametersSyntaxErrorNoCrash2.ts(3,25): error TS7010: 'getThing', which lacks return-type annotation, implicitly has an 'any' return type. +parametersSyntaxErrorNoCrash2.ts(3,43): error TS2300: Duplicate identifier '(Missing)'. +parametersSyntaxErrorNoCrash2.ts(3,43): error TS2842: '(Missing)' is an unused renaming of 'return'. Did you intend to use it as a type annotation? +parametersSyntaxErrorNoCrash2.ts(3,44): error TS1005: ':' expected. +parametersSyntaxErrorNoCrash2.ts(3,51): error TS2300: Duplicate identifier '(Missing)'. +parametersSyntaxErrorNoCrash2.ts(3,51): error TS2842: '(Missing)' is an unused renaming of ''thing''. Did you intend to use it as a type annotation? +parametersSyntaxErrorNoCrash2.ts(3,51): error TS1005: ':' expected. +parametersSyntaxErrorNoCrash2.ts(3,54): error TS1005: ')' expected. + + +==== parametersSyntaxErrorNoCrash2.ts (9 errors) ==== + // https://github.com/microsoft/TypeScript/issues/59353 + + export default function getThing( { return 'thing'; } + ~~~~~~~~ +!!! error TS2391: Function implementation is missing or not immediately following the declaration. + ~~~~~~~~ +!!! error TS7010: 'getThing', which lacks return-type annotation, implicitly has an 'any' return type. + +!!! error TS2300: Duplicate identifier '(Missing)'. + +!!! error TS2842: '(Missing)' is an unused renaming of 'return'. Did you intend to use it as a type annotation? +!!! related TS2843 parametersSyntaxErrorNoCrash2.ts:3:54: We can only write a type for 'return' by adding a type for the entire parameter here. + ~~~~~~~ +!!! error TS1005: ':' expected. + +!!! error TS2300: Duplicate identifier '(Missing)'. + +!!! error TS2842: '(Missing)' is an unused renaming of ''thing''. Did you intend to use it as a type annotation? +!!! related TS2843 parametersSyntaxErrorNoCrash2.ts:3:54: We can only write a type for ''thing'' by adding a type for the entire parameter here. + ~ +!!! error TS1005: ':' expected. + +!!! error TS1005: ')' expected. \ No newline at end of file diff --git a/tests/baselines/reference/parametersSyntaxErrorNoCrash3.errors.txt b/tests/baselines/reference/parametersSyntaxErrorNoCrash3.errors.txt new file mode 100644 index 00000000000..7af7ce2b628 --- /dev/null +++ b/tests/baselines/reference/parametersSyntaxErrorNoCrash3.errors.txt @@ -0,0 +1,37 @@ +parametersSyntaxErrorNoCrash3.ts(3,17): error TS2391: Function implementation is missing or not immediately following the declaration. +parametersSyntaxErrorNoCrash3.ts(3,17): error TS7010: 'getHtml', which lacks return-type annotation, implicitly has an 'any' return type. +parametersSyntaxErrorNoCrash3.ts(4,11): error TS2300: Duplicate identifier '(Missing)'. +parametersSyntaxErrorNoCrash3.ts(4,11): error TS2842: '(Missing)' is an unused renaming of 'return'. Did you intend to use it as a type annotation? +parametersSyntaxErrorNoCrash3.ts(4,13): error TS1005: ':' expected. +parametersSyntaxErrorNoCrash3.ts(4,22): error TS2300: Duplicate identifier '(Missing)'. +parametersSyntaxErrorNoCrash3.ts(4,22): error TS2842: '(Missing)' is an unused renaming of '" string"'. Did you intend to use it as a type annotation? +parametersSyntaxErrorNoCrash3.ts(5,1): error TS1005: ':' expected. +parametersSyntaxErrorNoCrash3.ts(5,2): error TS1005: ')' expected. + + +==== parametersSyntaxErrorNoCrash3.ts (9 errors) ==== + // https://github.com/microsoft/TypeScript/issues/59449 + + export function getHtml({ + ~~~~~~~ +!!! error TS2391: Function implementation is missing or not immediately following the declaration. + ~~~~~~~ +!!! error TS7010: 'getHtml', which lacks return-type annotation, implicitly has an 'any' return type. + return " string" // a long string; + +!!! error TS2300: Duplicate identifier '(Missing)'. + +!!! error TS2842: '(Missing)' is an unused renaming of 'return'. Did you intend to use it as a type annotation? +!!! related TS2843 parametersSyntaxErrorNoCrash3.ts:5:2: We can only write a type for 'return' by adding a type for the entire parameter here. + ~~~~~~~~~ +!!! error TS1005: ':' expected. + +!!! error TS2300: Duplicate identifier '(Missing)'. + +!!! error TS2842: '(Missing)' is an unused renaming of '" string"'. Did you intend to use it as a type annotation? +!!! related TS2843 parametersSyntaxErrorNoCrash3.ts:5:2: We can only write a type for '" string"' by adding a type for the entire parameter here. + } + ~ +!!! error TS1005: ':' expected. + +!!! error TS1005: ')' expected. \ No newline at end of file diff --git a/tests/cases/compiler/parametersSyntaxErrorNoCrash1.ts b/tests/cases/compiler/parametersSyntaxErrorNoCrash1.ts new file mode 100644 index 00000000000..6c2e86ea475 --- /dev/null +++ b/tests/cases/compiler/parametersSyntaxErrorNoCrash1.ts @@ -0,0 +1,9 @@ +// @strict: true +// @noEmit: true +// @noTypesAndSymbols: true + +// https://github.com/microsoft/TypeScript/issues/59422 + +function identity(arg: T: T { + return arg; +} \ No newline at end of file diff --git a/tests/cases/compiler/parametersSyntaxErrorNoCrash2.ts b/tests/cases/compiler/parametersSyntaxErrorNoCrash2.ts new file mode 100644 index 00000000000..353b2f3eaf8 --- /dev/null +++ b/tests/cases/compiler/parametersSyntaxErrorNoCrash2.ts @@ -0,0 +1,7 @@ +// @strict: true +// @noEmit: true +// @noTypesAndSymbols: true + +// https://github.com/microsoft/TypeScript/issues/59353 + +export default function getThing( { return 'thing'; } \ No newline at end of file diff --git a/tests/cases/compiler/parametersSyntaxErrorNoCrash3.ts b/tests/cases/compiler/parametersSyntaxErrorNoCrash3.ts new file mode 100644 index 00000000000..5575d753f5d --- /dev/null +++ b/tests/cases/compiler/parametersSyntaxErrorNoCrash3.ts @@ -0,0 +1,9 @@ +// @strict: true +// @noEmit: true +// @noTypesAndSymbols: true + +// https://github.com/microsoft/TypeScript/issues/59449 + +export function getHtml({ + return " string" // a long string; +} \ No newline at end of file From d7ff565b6c3057f844d007d5417ec84d5aafda87 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Mateusz=20Burzy=C5=84ski?= Date: Mon, 29 Jul 2024 16:25:36 -0700 Subject: [PATCH 75/89] Fixed inlay hints for inferred type predicates (#59441) --- src/services/inlayHints.ts | 40 ++++++++++++++++++- .../inlayHintsInferredTypePredicate1.baseline | 9 +++++ ...InteractiveInferredTypePredicate1.baseline | 23 +++++++++++ .../inlayHintsInferredTypePredicate1.ts | 11 +++++ ...yHintsInteractiveInferredTypePredicate1.ts | 12 ++++++ 5 files changed, 93 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/inlayHintsInferredTypePredicate1.baseline create mode 100644 tests/baselines/reference/inlayHintsInteractiveInferredTypePredicate1.baseline create mode 100644 tests/cases/fourslash/inlayHintsInferredTypePredicate1.ts create mode 100644 tests/cases/fourslash/inlayHintsInteractiveInferredTypePredicate1.ts diff --git a/src/services/inlayHints.ts b/src/services/inlayHints.ts index ce779052a05..a3e54cf2378 100644 --- a/src/services/inlayHints.ts +++ b/src/services/inlayHints.ts @@ -119,6 +119,7 @@ import { TupleTypeReference, Type, TypeFlags, + TypePredicate, unescapeLeadingUnderscores, UserPreferences, usingSingleLineStringWriter, @@ -405,6 +406,16 @@ export function provideInlayHints(context: InlayHintsContext): InlayHint[] { return; } + const typePredicate = checker.getTypePredicateOfSignature(signature); + + if (typePredicate?.type) { + const hintParts = typePredicateToInlayHintParts(typePredicate); + if (hintParts) { + addTypeHints(hintParts, getTypeAnnotationPosition(decl)); + return; + } + } + const returnType = checker.getReturnTypeOfSignature(signature); if (isModuleReferenceType(returnType)) { return; @@ -474,6 +485,17 @@ export function provideInlayHints(context: InlayHintsContext): InlayHint[] { }); } + function printTypePredicateInSingleLine(typePredicate: TypePredicate) { + const flags = NodeBuilderFlags.IgnoreErrors | NodeBuilderFlags.AllowUniqueESSymbolType | NodeBuilderFlags.UseAliasDefinedOutsideCurrentScope; + const printer = createPrinterWithRemoveComments(); + + return usingSingleLineStringWriter(writer => { + const typePredicateNode = checker.typePredicateToTypePredicateNode(typePredicate, /*enclosingDeclaration*/ undefined, flags); + Debug.assertIsDefined(typePredicateNode, "should always get typePredicateNode"); + printer.writeNode(EmitHint.Unspecified, typePredicateNode, /*sourceFile*/ file, writer); + }); + } + function typeToInlayHintParts(type: Type): InlayHintDisplayPart[] | string { if (!shouldUseInteractiveInlayHints(preferences)) { return printTypeInSingleLine(type); @@ -481,10 +503,24 @@ export function provideInlayHints(context: InlayHintsContext): InlayHint[] { const flags = NodeBuilderFlags.IgnoreErrors | NodeBuilderFlags.AllowUniqueESSymbolType | NodeBuilderFlags.UseAliasDefinedOutsideCurrentScope; const typeNode = checker.typeToTypeNode(type, /*enclosingDeclaration*/ undefined, flags); - Debug.assertIsDefined(typeNode, "should always get typenode"); + Debug.assertIsDefined(typeNode, "should always get typeNode"); + return getInlayHintDisplayParts(typeNode); + } + function typePredicateToInlayHintParts(typePredicate: TypePredicate): InlayHintDisplayPart[] | string { + if (!shouldUseInteractiveInlayHints(preferences)) { + return printTypePredicateInSingleLine(typePredicate); + } + + const flags = NodeBuilderFlags.IgnoreErrors | NodeBuilderFlags.AllowUniqueESSymbolType | NodeBuilderFlags.UseAliasDefinedOutsideCurrentScope; + const typeNode = checker.typePredicateToTypePredicateNode(typePredicate, /*enclosingDeclaration*/ undefined, flags); + Debug.assertIsDefined(typeNode, "should always get typenode"); + return getInlayHintDisplayParts(typeNode); + } + + function getInlayHintDisplayParts(node: Node) { const parts: InlayHintDisplayPart[] = []; - visitForDisplayParts(typeNode); + visitForDisplayParts(node); return parts; function visitForDisplayParts(node: Node) { diff --git a/tests/baselines/reference/inlayHintsInferredTypePredicate1.baseline b/tests/baselines/reference/inlayHintsInferredTypePredicate1.baseline new file mode 100644 index 00000000000..df607df5111 --- /dev/null +++ b/tests/baselines/reference/inlayHintsInferredTypePredicate1.baseline @@ -0,0 +1,9 @@ +// === Inlay Hints === +function test(x: unknown) { + ^ +{ + "text": ": x is number", + "position": 25, + "kind": "Type", + "whitespaceBefore": true +} \ No newline at end of file diff --git a/tests/baselines/reference/inlayHintsInteractiveInferredTypePredicate1.baseline b/tests/baselines/reference/inlayHintsInteractiveInferredTypePredicate1.baseline new file mode 100644 index 00000000000..7bc4345bf09 --- /dev/null +++ b/tests/baselines/reference/inlayHintsInteractiveInferredTypePredicate1.baseline @@ -0,0 +1,23 @@ +// === Inlay Hints === +function test(x: unknown) { + ^ +{ + "text": "", + "displayParts": [ + { + "text": ": " + }, + { + "text": "x" + }, + { + "text": " is " + }, + { + "text": "number" + } + ], + "position": 25, + "kind": "Type", + "whitespaceBefore": true +} \ No newline at end of file diff --git a/tests/cases/fourslash/inlayHintsInferredTypePredicate1.ts b/tests/cases/fourslash/inlayHintsInferredTypePredicate1.ts new file mode 100644 index 00000000000..fd1de15cd9f --- /dev/null +++ b/tests/cases/fourslash/inlayHintsInferredTypePredicate1.ts @@ -0,0 +1,11 @@ +/// + +// @strict: true + +//// function test(x: unknown) { +//// return typeof x === 'number'; +//// } + +verify.baselineInlayHints(undefined, { + includeInlayFunctionLikeReturnTypeHints: true, +}); diff --git a/tests/cases/fourslash/inlayHintsInteractiveInferredTypePredicate1.ts b/tests/cases/fourslash/inlayHintsInteractiveInferredTypePredicate1.ts new file mode 100644 index 00000000000..88282cf849e --- /dev/null +++ b/tests/cases/fourslash/inlayHintsInteractiveInferredTypePredicate1.ts @@ -0,0 +1,12 @@ +/// + +// @strict: true + +//// function test(x: unknown) { +//// return typeof x === 'number'; +//// } + +verify.baselineInlayHints(undefined, { + interactiveInlayHints: true, + includeInlayFunctionLikeReturnTypeHints: true, +}); \ No newline at end of file From 356867908c2dc9efc627925abdb9d3b510e0a34a Mon Sep 17 00:00:00 2001 From: "CSIGS@microsoft.com" Date: Tue, 30 Jul 2024 10:14:18 -0700 Subject: [PATCH 76/89] LEGO: Pull request from lego/hb_5378966c-b857-470a-8675-daebef4a6da1_20240730011406039 to main (#59468) --- .../diagnosticMessages.generated.json.lcl | 2702 +++++++++++++--- .../diagnosticMessages.generated.json.lcl | 2067 +++++++++---- .../diagnosticMessages.generated.json.lcl | 2704 ++++++++++++++--- .../diagnosticMessages.generated.json.lcl | 2702 +++++++++++++--- .../diagnosticMessages.generated.json.lcl | 2700 +++++++++++++--- .../diagnosticMessages.generated.json.lcl | 2704 ++++++++++++++--- .../diagnosticMessages.generated.json.lcl | 2702 +++++++++++++--- .../diagnosticMessages.generated.json.lcl | 2702 +++++++++++++--- .../diagnosticMessages.generated.json.lcl | 2698 +++++++++++++--- .../diagnosticMessages.generated.json.lcl | 2696 +++++++++++++--- .../diagnosticMessages.generated.json.lcl | 2702 +++++++++++++--- .../diagnosticMessages.generated.json.lcl | 2704 ++++++++++++++--- .../diagnosticMessages.generated.json.lcl | 2702 +++++++++++++--- 13 files changed, 28485 insertions(+), 6000 deletions(-) diff --git a/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl index 10158c5a673..231ee78aee9 100644 --- a/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/chs/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -48,6 +48,15 @@ + + + + + + + + + @@ -57,6 +66,15 @@ + + + + + + + + + @@ -102,6 +120,24 @@ + + + + + + + + + + + + + + + + + + @@ -120,6 +156,24 @@ + + + + + + + + + + + + + + + + + + @@ -279,6 +333,15 @@ + + + + + + + + + @@ -342,15 +405,12 @@ - + - + - + - - - @@ -393,11 +453,11 @@ - + - + - + @@ -564,15 +624,6 @@ - - - - - - - - - @@ -882,6 +933,15 @@ + + + + + + + + + @@ -1017,6 +1077,15 @@ + + + + + + + + + @@ -1071,6 +1140,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1134,6 +1275,15 @@ + + + + + + + + + @@ -1161,6 +1311,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1326,6 +1503,15 @@ + + + + + + + + + @@ -1362,6 +1548,24 @@ + + + + + + + + + + + + + + + + + + @@ -1401,6 +1605,24 @@ + + + + + + + + + + + + + + + + + + @@ -1437,6 +1659,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1662,6 +1911,15 @@ + + + + + + + + + @@ -1797,15 +2055,12 @@ - + - + - + - - - @@ -1938,6 +2193,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1995,6 +2286,15 @@ + + + + + + + + + @@ -2031,11 +2331,11 @@ - + - + - + @@ -2157,11 +2457,11 @@ - + - + - + @@ -2229,6 +2529,15 @@ + + + + + + + + + @@ -2283,6 +2592,15 @@ + + + + + + + + + @@ -2301,6 +2619,24 @@ + + + + + + + + + + + + + + + + + + @@ -2376,6 +2712,15 @@ + + + + + + + + + @@ -2394,6 +2739,15 @@ + + + + + + + + + @@ -2403,6 +2757,15 @@ + + + + + + + + + @@ -2430,15 +2793,6 @@ - - - - - - - - - @@ -2520,6 +2874,15 @@ + + + + + + + + + @@ -2577,6 +2940,15 @@ + + + + + + + + + @@ -2643,15 +3015,6 @@ - - - - - - - - - @@ -2679,11 +3042,11 @@ - + - + - + @@ -2697,11 +3060,20 @@ - + - + - + + + + + + + + + + @@ -2946,11 +3318,11 @@ - + - + - + @@ -3033,6 +3405,24 @@ + + + + + + + + + + + + + + + + + + @@ -3213,11 +3603,20 @@ - + - + - + + + + + + + + + + @@ -3282,15 +3681,6 @@ - - - - - - - - - @@ -3300,11 +3690,11 @@ - + - + - + @@ -3462,6 +3852,15 @@ + + + + + + + + + @@ -3621,6 +4020,15 @@ + + + + + + + + + @@ -3705,6 +4113,15 @@ + + + + + + + + + @@ -3828,6 +4245,15 @@ + + + + + + + + + @@ -3837,6 +4263,15 @@ + + + + + + + + + @@ -3855,11 +4290,11 @@ - + - + - + @@ -4035,15 +4470,6 @@ - - - - - - - - - @@ -4107,6 +4533,15 @@ + + + + + + + + + @@ -4323,11 +4758,11 @@ - + - + - + @@ -4458,6 +4893,15 @@ + + + + + + + + + @@ -4515,6 +4959,24 @@ + + + + + + + + + + + + + + + + + + @@ -4524,6 +4986,15 @@ + + + + + + + + + @@ -4542,6 +5013,15 @@ + + + + + + + + + @@ -4571,10 +5051,13 @@ - + + + + @@ -4689,6 +5172,15 @@ + + + + + + + + + @@ -4707,11 +5199,11 @@ - + - + - + @@ -4743,6 +5235,15 @@ + + + + + + + + + @@ -5037,6 +5538,15 @@ + + + + + + + + + @@ -5301,6 +5811,15 @@ + + + + + + + + + @@ -5430,6 +5949,15 @@ + + + + + + + + + @@ -5451,20 +5979,47 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5715,11 +6270,20 @@ - + - + - + + + + + + + + + + @@ -5895,6 +6459,15 @@ + + + + + + + + + @@ -5967,6 +6540,24 @@ + + + + + + + + + + + + + + + + + + @@ -5988,15 +6579,6 @@ - - - - - - - - - @@ -6006,6 +6588,15 @@ + + + + + + + + + @@ -6015,6 +6606,15 @@ + + + + + + + + + @@ -6024,6 +6624,15 @@ + + + + + + + + + @@ -6078,6 +6687,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6123,18 +6777,6 @@ - - - - - - - - - - - - @@ -6282,6 +6924,15 @@ + + + + + + + + + @@ -6336,6 +6987,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6345,6 +7041,15 @@ + + + + + + + + + @@ -6408,6 +7113,15 @@ + + + + + + + + + @@ -6435,11 +7149,20 @@ - + - + - + + + + + + + + + + @@ -6471,15 +7194,6 @@ - - - - - - - - - @@ -6489,6 +7203,15 @@ + + + + + + + + + @@ -6498,15 +7221,6 @@ - - - - - - - - - @@ -6561,6 +7275,15 @@ + + + + + + + + + @@ -6735,6 +7458,15 @@ + + + + + + + + + @@ -6819,11 +7551,11 @@ - + - + - + @@ -6882,11 +7614,11 @@ - + - + - + @@ -6900,29 +7632,38 @@ - + - + - + - + - + - + - + - + - + + + + + + + + + + @@ -6972,6 +7713,15 @@ + + + + + + + + + @@ -7293,6 +8043,15 @@ + + + + + + + + + @@ -7398,6 +8157,24 @@ + + + + + + + + + + + + + + + + + + @@ -7416,20 +8193,20 @@ - + - + - + - + - + - + @@ -7452,6 +8229,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7665,6 +8478,15 @@ + + + + + + + + + @@ -7743,6 +8565,15 @@ + + + + + + + + + @@ -7785,15 +8616,6 @@ - - - - - - - - - @@ -7812,6 +8634,15 @@ + + + + + + + + + @@ -7959,6 +8790,15 @@ + + + + + + + + + @@ -7986,6 +8826,15 @@ + + + + + + + + + @@ -8049,6 +8898,15 @@ + + + + + + + + + @@ -8094,6 +8952,15 @@ + + + + + + + + + @@ -8103,6 +8970,15 @@ + + + + + + + + + @@ -8376,20 +9252,20 @@ - + - + - + - + - + - + @@ -8478,6 +9354,15 @@ + + + + + + + + + @@ -8577,6 +9462,15 @@ + + + + + + + + + @@ -8718,15 +9612,6 @@ - - - - - - - - - @@ -8736,6 +9621,15 @@ + + + + + + + + + @@ -8838,6 +9732,15 @@ + + + + + + + + + @@ -8847,6 +9750,15 @@ + + + + + + + + + @@ -8883,6 +9795,24 @@ + + + + + + + + + + + + + + + + + + @@ -8919,6 +9849,24 @@ + + + + + + + + + + + + + + + + + + @@ -9020,9 +9968,30 @@ - + - + + + + + + + + + + + + + + + + + + + + + + @@ -9036,6 +10005,24 @@ + + + + + + + + + + + + + + + + + + @@ -9090,6 +10077,15 @@ + + + + + + + + + @@ -9171,6 +10167,24 @@ + + + + + + + + + + + + + + + + + + @@ -9180,38 +10194,38 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -9261,6 +10275,15 @@ + + + + + + + + + @@ -9270,24 +10293,6 @@ - - - - - - - - - - - - - - - - - - @@ -9324,6 +10329,15 @@ + + + + + + + + + @@ -9333,6 +10347,24 @@ + + + + + + + + + + + + + + + + + + @@ -9351,6 +10383,15 @@ + + + + + + + + + @@ -9360,6 +10401,24 @@ + + + + + + + + + + + + + + + + + + @@ -9369,15 +10428,6 @@ - - - - - - - - - @@ -9405,6 +10455,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9435,20 +10521,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -9462,20 +10557,38 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + @@ -9525,15 +10638,6 @@ - - - - - - - - - @@ -9912,6 +11016,15 @@ + + + + + + + + + @@ -10146,6 +11259,15 @@ + + + + + + + + + @@ -10203,24 +11325,6 @@ - - - - - - - - - - - - - - - - - - @@ -10230,6 +11334,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10239,6 +11370,15 @@ + + + + + + + + + @@ -10275,15 +11415,6 @@ - - - - - - - - - @@ -10659,11 +11790,11 @@ - + - + - + @@ -10731,6 +11862,15 @@ + + + + + + + + + @@ -10749,11 +11889,11 @@ - + - + - + @@ -10905,11 +12045,29 @@ - + - + - + + + + + + + + + + + + + + + + + + + @@ -10959,27 +12117,21 @@ - + - + - + - - - - + - + - + - - - @@ -11289,6 +12441,15 @@ + + + + + + + + + @@ -11325,6 +12486,24 @@ + + + + + + + + + + + + + + + + + + @@ -11334,6 +12513,15 @@ + + + + + + + + + @@ -11418,6 +12606,15 @@ + + + + + + + + + @@ -11823,6 +13020,15 @@ + + + + + + + + + @@ -11877,6 +13083,24 @@ + + + + + + + + + + + + + + + + + + @@ -11994,6 +13218,15 @@ + + + + + + + + + @@ -12021,20 +13254,11 @@ - + - + - - - - - - - - - - + @@ -12243,15 +13467,6 @@ - - - - - - - - - @@ -12612,6 +13827,15 @@ + + + + + + + + + @@ -12633,6 +13857,15 @@ + + + + + + + + + @@ -12798,6 +14031,15 @@ + + + + + + + + + @@ -12852,20 +14094,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -13110,6 +14361,24 @@ + + + + + + + + + + + + + + + + + + @@ -13173,6 +14442,24 @@ + + + + + + + + + + + + + + + + + + @@ -13272,6 +14559,15 @@ + + + + + + + + + @@ -13398,15 +14694,6 @@ - - - - - - - - - @@ -13434,6 +14721,15 @@ + + + type.]]> + + 类型。]]> + + + + type. Did you mean to write 'Promise<{0}>'?]]> @@ -13461,11 +14757,20 @@ - + - + - + + + + + + + + + + @@ -13479,6 +14784,24 @@ + + + + + + + + + + + + + + + + + + @@ -13590,15 +14913,6 @@ - - - - - - - - - @@ -13680,6 +14994,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13698,6 +15048,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13752,6 +15138,15 @@ + + + + + + + + + @@ -13788,15 +15183,6 @@ - - - - - - - - - @@ -13806,6 +15192,24 @@ + + + + + + + + + + + + + + + + + + @@ -13914,6 +15318,15 @@ + + + + + + + + + @@ -13950,6 +15363,24 @@ + + + + + + + + + + + + + + + + + + @@ -14060,9 +15491,21 @@ - + - + + + + + + + + + + + + + @@ -14078,10 +15521,13 @@ - + - + + + + @@ -14133,15 +15579,6 @@ - - - - - - - - - @@ -14250,6 +15687,15 @@ + + + + + + + + + @@ -14277,11 +15723,11 @@ - + - + - + @@ -14358,6 +15804,15 @@ + + + + + + + + + @@ -14535,15 +15990,6 @@ - - - - - - - - - @@ -14580,6 +16026,15 @@ + + + + + + + + + @@ -14607,6 +16062,15 @@ + + + + + + + + + @@ -15015,6 +16479,24 @@ + + + + + + + + + + + + + + + + + + @@ -15087,6 +16569,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15141,6 +16677,15 @@ + + + + + + + + + @@ -15267,11 +16812,11 @@ - + - + - + @@ -15303,6 +16848,15 @@ + + + + + + + + + @@ -15330,6 +16884,15 @@ + + + + + + + + + @@ -15339,6 +16902,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15474,6 +17064,24 @@ + + + + + + + + + + + + + + + + + + @@ -15594,6 +17202,15 @@ + + + + + + + + + @@ -15621,6 +17238,15 @@ + + + + + + + + + @@ -15729,6 +17355,24 @@ + + + + + + + + + + + + + + + + + + @@ -15783,15 +17427,6 @@ - - - - - - - - - @@ -15837,6 +17472,15 @@ + + + + + + + + + @@ -15846,6 +17490,24 @@ + + + + + + + + + + + + + + + + + + @@ -15855,6 +17517,15 @@ + + + + + + + + + @@ -15927,11 +17598,11 @@ - + - + - + @@ -16137,6 +17808,15 @@ + + + + + + + + + @@ -16182,6 +17862,24 @@ + + + + + + + + + + + + + + + + + + @@ -16248,6 +17946,15 @@ + + + + + + + + + @@ -16314,20 +18021,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16443,6 +18186,15 @@ + + + + + + + + + @@ -16479,6 +18231,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16491,6 +18270,15 @@ + + + + + + + + + @@ -16518,27 +18306,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -16557,11 +18324,11 @@ - + - + - + @@ -16731,6 +18498,15 @@ + + + + + + + + + @@ -16785,11 +18561,11 @@ - + - + - + @@ -16920,6 +18696,15 @@ + + + + + + + + + @@ -16983,6 +18768,24 @@ + + + + + + + + + + + + + + + + + + @@ -17010,24 +18813,6 @@ - - - - - - - - - - - - - - - - - - @@ -17046,6 +18831,15 @@ + + + + + + + + + @@ -17184,15 +18978,6 @@ - - - - - - - - - @@ -17229,6 +19014,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl index 052c89527e7..6910094eaea 100644 --- a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -48,6 +48,12 @@ + + + + + + @@ -57,6 +63,12 @@ + + + + + + @@ -102,6 +114,18 @@ + + + + + + + + + + + + @@ -120,6 +144,18 @@ + + + + + + + + + + + + @@ -279,6 +315,12 @@ + + + + + + @@ -342,15 +384,9 @@ - + - - - - - - - + @@ -393,12 +429,9 @@ - + - - - - + @@ -564,15 +597,6 @@ - - - - - - - - - @@ -882,6 +906,12 @@ + + + + + + @@ -1017,6 +1047,12 @@ + + + + + + @@ -1071,6 +1107,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1134,6 +1218,12 @@ + + + + + + @@ -1161,6 +1251,24 @@ + + + + + + + + + + + + + + + + + + @@ -1326,6 +1434,12 @@ + + + + + + @@ -1362,6 +1476,18 @@ + + + + + + + + + + + + @@ -1401,6 +1527,21 @@ + + + + + + + + + + + + + + + @@ -1437,6 +1578,24 @@ + + + + + + + + + + + + + + + + + + @@ -1662,6 +1821,12 @@ + + + + + + @@ -1797,15 +1962,9 @@ - + - - - - - - - + @@ -1938,6 +2097,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -1995,6 +2178,12 @@ + + + + + + @@ -2031,12 +2220,9 @@ - + - - - - + @@ -2157,12 +2343,9 @@ - + - - - - + @@ -2229,6 +2412,12 @@ + + + + + + @@ -2283,6 +2472,12 @@ + + + + + + @@ -2301,6 +2496,18 @@ + + + + + + + + + + + + @@ -2376,6 +2583,12 @@ + + + + + + @@ -2394,6 +2607,12 @@ + + + + + + @@ -2403,6 +2622,12 @@ + + + + + + @@ -2430,15 +2655,6 @@ - - - - - - - - - @@ -2520,6 +2736,12 @@ + + + + + + @@ -2577,6 +2799,12 @@ + + + + + + @@ -2643,15 +2871,6 @@ - - - - - - - - - @@ -2679,12 +2898,9 @@ - + - - - - + @@ -2697,12 +2913,15 @@ - + - - - - + + + + + + + @@ -2946,12 +3165,9 @@ - + - - - - + @@ -3033,6 +3249,18 @@ + + + + + + + + + + + + @@ -3213,12 +3441,15 @@ - + - - - - + + + + + + + @@ -3282,15 +3513,6 @@ - - - - - - - - - @@ -3300,12 +3522,9 @@ - + - - - - + @@ -3462,6 +3681,12 @@ + + + + + + @@ -3621,6 +3846,12 @@ + + + + + + @@ -3705,6 +3936,12 @@ + + + + + + @@ -3828,6 +4065,12 @@ + + + + + + @@ -3837,6 +4080,12 @@ + + + + + + @@ -3855,12 +4104,9 @@ - + - - - - + @@ -4035,15 +4281,6 @@ - - - - - - - - - @@ -4107,6 +4344,12 @@ + + + + + + @@ -4323,12 +4566,9 @@ - + - - - - + @@ -4458,6 +4698,12 @@ + + + + + + @@ -4515,6 +4761,18 @@ + + + + + + + + + + + + @@ -4524,6 +4782,12 @@ + + + + + + @@ -4542,6 +4806,12 @@ + + + + + + @@ -4571,10 +4841,13 @@ - - + + + + + @@ -4689,6 +4962,12 @@ + + + + + + @@ -4707,12 +4986,9 @@ - + - - - - + @@ -4743,6 +5019,12 @@ + + + + + + @@ -5037,6 +5319,12 @@ + + + + + + @@ -5301,6 +5589,12 @@ + + + + + + @@ -5430,6 +5724,12 @@ + + + + + + @@ -5451,21 +5751,33 @@ - + - - - - + - + - - - - + + + + + + + + + + + + + + + + + + + @@ -5715,12 +6027,15 @@ - + - - - - + + + + + + + @@ -5895,6 +6210,12 @@ + + + + + + @@ -5967,6 +6288,18 @@ + + + + + + + + + + + + @@ -5988,15 +6321,6 @@ - - - - - - - - - @@ -6006,6 +6330,12 @@ + + + + + + @@ -6015,6 +6345,12 @@ + + + + + + @@ -6024,6 +6360,12 @@ + + + + + + @@ -6078,6 +6420,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6123,18 +6495,6 @@ - - - - - - - - - - - - @@ -6282,6 +6642,12 @@ + + + + + + @@ -6336,6 +6702,36 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6345,6 +6741,12 @@ + + + + + + @@ -6408,6 +6810,12 @@ + + + + + + @@ -6435,12 +6843,15 @@ - + - - - - + + + + + + + @@ -6471,15 +6882,6 @@ - - - - - - - - - @@ -6489,6 +6891,12 @@ + + + + + + @@ -6498,15 +6906,6 @@ - - - - - - - - - @@ -6561,6 +6960,12 @@ + + + + + + @@ -6735,6 +7140,12 @@ + + + + + + @@ -6819,12 +7230,9 @@ - + - - - - + @@ -6882,12 +7290,9 @@ - + - - - - + @@ -6900,30 +7305,27 @@ - + - - - - + - + - - - - + - + - - - - + + + + + + + @@ -6972,6 +7374,12 @@ + + + + + + @@ -7293,6 +7701,12 @@ + + + + + + @@ -7398,6 +7812,18 @@ + + + + + + + + + + + + @@ -7416,21 +7842,15 @@ - + - - - - + - + - - - - + @@ -7452,6 +7872,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -7665,6 +8109,12 @@ + + + + + + @@ -7743,6 +8193,12 @@ + + + + + + @@ -7785,15 +8241,6 @@ - - - - - - - - - @@ -7812,6 +8259,12 @@ + + + + + + @@ -7959,6 +8412,12 @@ + + + + + + @@ -7986,6 +8445,12 @@ + + + + + + @@ -8049,6 +8514,12 @@ + + + + + + @@ -8094,6 +8565,12 @@ + + + + + + @@ -8103,6 +8580,12 @@ + + + + + + @@ -8376,21 +8859,15 @@ - + - - - - + - + - - - - + @@ -8478,6 +8955,12 @@ + + + + + + @@ -8577,6 +9060,12 @@ + + + + + + @@ -8718,15 +9207,6 @@ - - - - - - - - - @@ -8736,6 +9216,12 @@ + + + + + + @@ -8838,6 +9324,12 @@ + + + + + + @@ -8847,6 +9339,12 @@ + + + + + + @@ -8883,6 +9381,18 @@ + + + + + + + + + + + + @@ -8919,6 +9429,18 @@ + + + + + + + + + + + + @@ -9020,10 +9542,25 @@ - - + + + + + + + + + + + + + + + + + @@ -9036,6 +9573,18 @@ + + + + + + + + + + + + @@ -9090,6 +9639,12 @@ + + + + + + @@ -9171,6 +9726,18 @@ + + + + + + + + + + + + @@ -9180,39 +9747,27 @@ - + - - - - + - + - - - - + - + - - - - + - + - - - - + @@ -9261,6 +9816,12 @@ + + + + + + @@ -9270,24 +9831,6 @@ - - - - - - - - - - - - - - - - - - @@ -9324,6 +9867,12 @@ + + + + + + @@ -9333,6 +9882,18 @@ + + + + + + + + + + + + @@ -9351,6 +9912,12 @@ + + + + + + @@ -9360,6 +9927,18 @@ + + + + + + + + + + + + @@ -9369,15 +9948,6 @@ - - - - - - - - - @@ -9405,6 +9975,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -9435,21 +10029,21 @@ - + - - - - + - + - - - - + + + + + + + @@ -9462,21 +10056,27 @@ - + - - - - + - + - - - - + + + + + + + + + + + + + @@ -9525,15 +10125,6 @@ - - - - - - - - - @@ -9912,6 +10503,12 @@ + + + + + + @@ -10146,6 +10743,12 @@ + + + + + + @@ -10203,24 +10806,6 @@ - - - - - - - - - - - - - - - - - - @@ -10230,6 +10815,24 @@ + + + + + + + + + + + + + + + + + + @@ -10239,6 +10842,12 @@ + + + + + + @@ -10275,15 +10884,6 @@ - - - - - - - - - @@ -10659,12 +11259,9 @@ - + - - - - + @@ -10731,6 +11328,12 @@ + + + + + + @@ -10749,12 +11352,9 @@ - + - - - - + @@ -10905,12 +11505,21 @@ - + - - - - + + + + + + + + + + + + + @@ -10959,27 +11568,15 @@ - + - - - - - - - + - + - - - - - - - + @@ -11289,6 +11886,12 @@ + + + + + + @@ -11325,6 +11928,18 @@ + + + + + + + + + + + + @@ -11334,6 +11949,12 @@ + + + + + + @@ -11418,6 +12039,12 @@ + + + + + + @@ -11823,6 +12450,12 @@ + + + + + + @@ -11877,6 +12510,18 @@ + + + + + + + + + + + + @@ -11994,6 +12639,12 @@ + + + + + + @@ -12021,21 +12672,9 @@ - + - - - - - - - - - - - - - + @@ -12243,15 +12882,6 @@ - - - - - - - - - @@ -12612,6 +13242,12 @@ + + + + + + @@ -12633,6 +13269,12 @@ + + + + + + @@ -12798,6 +13440,12 @@ + + + + + + @@ -12852,21 +13500,21 @@ - + - - - - + - + - - - - + + + + + + + @@ -13110,6 +13758,18 @@ + + + + + + + + + + + + @@ -13173,6 +13833,18 @@ + + + + + + + + + + + + @@ -13272,6 +13944,12 @@ + + + + + + @@ -13398,15 +14076,6 @@ - - - - - - - - - @@ -13434,6 +14103,15 @@ + + + type.]]> + + 類型。]]> + + + + type. Did you mean to write 'Promise<{0}>'?]]> @@ -13461,12 +14139,15 @@ - + - - - - + + + + + + + @@ -13479,6 +14160,18 @@ + + + + + + + + + + + + @@ -13590,15 +14283,6 @@ - - - - - - - - - @@ -13680,6 +14364,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -13698,6 +14406,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -13752,6 +14484,12 @@ + + + + + + @@ -13788,15 +14526,6 @@ - - - - - - - - - @@ -13806,6 +14535,18 @@ + + + + + + + + + + + + @@ -13914,6 +14655,12 @@ + + + + + + @@ -13950,6 +14697,18 @@ + + + + + + + + + + + + @@ -14060,10 +14819,19 @@ - - + + + + + + + + + + + @@ -14078,10 +14846,13 @@ - - + + + + + @@ -14133,15 +14904,6 @@ - - - - - - - - - @@ -14250,6 +15012,12 @@ + + + + + + @@ -14277,12 +15045,9 @@ - + - - - - + @@ -14358,6 +15123,12 @@ + + + + + + @@ -14535,15 +15306,6 @@ - - - - - - - - - @@ -14580,6 +15342,12 @@ + + + + + + @@ -14607,6 +15375,12 @@ + + + + + + @@ -15015,6 +15789,18 @@ + + + + + + + + + + + + @@ -15087,6 +15873,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15141,6 +15963,12 @@ + + + + + + @@ -15267,12 +16095,9 @@ - + - - - - + @@ -15303,6 +16128,12 @@ + + + + + + @@ -15330,6 +16161,12 @@ + + + + + + @@ -15339,6 +16176,24 @@ + + + + + + + + + + + + + + + + + + @@ -15474,6 +16329,18 @@ + + + + + + + + + + + + @@ -15594,6 +16461,12 @@ + + + + + + @@ -15621,6 +16494,12 @@ + + + + + + @@ -15729,6 +16608,18 @@ + + + + + + + + + + + + @@ -15783,15 +16674,6 @@ - - - - - - - - - @@ -15837,6 +16719,12 @@ + + + + + + @@ -15846,6 +16734,18 @@ + + + + + + + + + + + + @@ -15855,6 +16755,12 @@ + + + + + + @@ -15927,12 +16833,9 @@ - + - - - - + @@ -16137,6 +17040,12 @@ + + + + + + @@ -16182,6 +17091,18 @@ + + + + + + + + + + + + @@ -16248,6 +17169,12 @@ + + + + + + @@ -16314,21 +17241,39 @@ - + - - - - + - + - - - - + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16443,6 +17388,12 @@ + + + + + + @@ -16479,6 +17430,24 @@ + + + + + + + + + + + + + + + + + + @@ -16491,6 +17460,12 @@ + + + + + + @@ -16518,27 +17493,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -16557,12 +17511,9 @@ - + - - - - + @@ -16731,6 +17682,12 @@ + + + + + + @@ -16785,12 +17742,9 @@ - + - - - - + @@ -16920,6 +17874,12 @@ + + + + + + @@ -16983,6 +17943,18 @@ + + + + + + + + + + + + @@ -17010,24 +17982,6 @@ - - - - - - - - - - - - - - - - - - @@ -17046,6 +18000,12 @@ + + + + + + @@ -17184,15 +18144,6 @@ - - - - - - - - - @@ -17229,6 +18180,12 @@ + + + + + + diff --git a/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl index 5662c6c06c2..967590bbbd5 100644 --- a/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/csy/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -57,6 +57,15 @@ + + + + + + + + + @@ -66,6 +75,15 @@ + + + + + + + + + @@ -111,6 +129,24 @@ + + + + + + + + + + + + + + + + + + @@ -129,6 +165,24 @@ + + + + + + + + + + + + + + + + + + @@ -288,6 +342,15 @@ + + + + + + + + + @@ -351,15 +414,12 @@ - + - + - + - - - @@ -402,11 +462,11 @@ - + - + - + @@ -573,15 +633,6 @@ - - - - - - - - - @@ -891,6 +942,15 @@ + + + + + + + + + @@ -1026,6 +1086,15 @@ + + + + + + + + + @@ -1080,6 +1149,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1143,6 +1284,15 @@ + + + + + + + + + @@ -1170,6 +1320,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1335,6 +1512,15 @@ + + + + + + + + + @@ -1371,6 +1557,24 @@ + + + + + + + + + + + + + + + + + + @@ -1410,6 +1614,24 @@ + + + + + + + + + + + + + + + + + + @@ -1446,6 +1668,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1671,6 +1920,15 @@ + + + + + + + + + @@ -1806,15 +2064,12 @@ - + - + - + - - - @@ -1947,6 +2202,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2004,6 +2295,15 @@ + + + + + + + + + @@ -2040,11 +2340,11 @@ - + - + - + @@ -2166,11 +2466,11 @@ - + - + - + @@ -2238,6 +2538,15 @@ + + + + + + + + + @@ -2292,6 +2601,15 @@ + + + + + + + + + @@ -2310,6 +2628,24 @@ + + + + + + + + + + + + + + + + + + @@ -2385,6 +2721,15 @@ + + + + + + + + + @@ -2403,6 +2748,15 @@ + + + + + + + + + @@ -2412,6 +2766,15 @@ + + + + + + + + + @@ -2439,15 +2802,6 @@ - - - - - - - - - @@ -2529,6 +2883,15 @@ + + + + + + + + + @@ -2586,6 +2949,15 @@ + + + + + + + + + @@ -2652,15 +3024,6 @@ - - - - - - - - - @@ -2688,11 +3051,11 @@ - + - + - + @@ -2706,11 +3069,20 @@ - + - + - + + + + + + + + + + @@ -2955,11 +3327,11 @@ - + - + - + @@ -3042,6 +3414,24 @@ + + + + + + + + + + + + + + + + + + @@ -3222,11 +3612,20 @@ - + - + - + + + + + + + + + + @@ -3291,15 +3690,6 @@ - - - - - - - - - @@ -3309,11 +3699,11 @@ - + - + - + @@ -3471,6 +3861,15 @@ + + + + + + + + + @@ -3630,6 +4029,15 @@ + + + + + + + + + @@ -3714,6 +4122,15 @@ + + + + + + + + + @@ -3837,6 +4254,15 @@ + + + + + + + + + @@ -3846,6 +4272,15 @@ + + + + + + + + + @@ -3864,11 +4299,11 @@ - + - + - + @@ -4044,15 +4479,6 @@ - - - - - - - - - @@ -4116,6 +4542,15 @@ + + + + + + + + + @@ -4332,11 +4767,11 @@ - + - + - + @@ -4467,6 +4902,15 @@ + + + + + + + + + @@ -4524,6 +4968,24 @@ + + + + + + + + + + + + + + + + + + @@ -4533,6 +4995,15 @@ + + + + + + + + + @@ -4551,6 +5022,15 @@ + + + + + + + + + @@ -4580,10 +5060,13 @@ - + - + + + + @@ -4698,6 +5181,15 @@ + + + + + + + + + @@ -4716,11 +5208,11 @@ - + - + - + @@ -4752,6 +5244,15 @@ + + + + + + + + + @@ -5046,6 +5547,15 @@ + + + + + + + + + @@ -5310,6 +5820,15 @@ + + + + + + + + + @@ -5439,6 +5958,15 @@ + + + + + + + + + @@ -5460,20 +5988,47 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5724,11 +6279,20 @@ - + - + - + + + + + + + + + + @@ -5904,6 +6468,15 @@ + + + + + + + + + @@ -5976,6 +6549,24 @@ + + + + + + + + + + + + + + + + + + @@ -5997,15 +6588,6 @@ - - - - - - - - - @@ -6015,6 +6597,15 @@ + + + + + + + + + @@ -6024,6 +6615,15 @@ + + + + + + + + + @@ -6033,6 +6633,15 @@ + + + + + + + + + @@ -6087,6 +6696,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6132,18 +6786,6 @@ - - - - - - - - - - - - @@ -6291,6 +6933,15 @@ + + + + + + + + + @@ -6345,6 +6996,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6354,6 +7050,15 @@ + + + + + + + + + @@ -6417,6 +7122,15 @@ + + + + + + + + + @@ -6444,11 +7158,20 @@ - + - + - + + + + + + + + + + @@ -6480,15 +7203,6 @@ - - - - - - - - - @@ -6498,6 +7212,15 @@ + + + + + + + + + @@ -6507,15 +7230,6 @@ - - - - - - - - - @@ -6570,6 +7284,15 @@ + + + + + + + + + @@ -6744,6 +7467,15 @@ + + + + + + + + + @@ -6828,11 +7560,11 @@ - + - + - + @@ -6891,11 +7623,11 @@ - + - + - + @@ -6909,29 +7641,38 @@ - + - + - + - + - + - + - + - + - + + + + + + + + + + @@ -6981,6 +7722,15 @@ + + + + + + + + + @@ -7302,6 +8052,15 @@ + + + + + + + + + @@ -7407,6 +8166,24 @@ + + + + + + + + + + + + + + + + + + @@ -7425,20 +8202,20 @@ - + - + - + - + - + - + @@ -7461,6 +8238,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7674,6 +8487,15 @@ + + + + + + + + + @@ -7752,6 +8574,15 @@ + + + + + + + + + @@ -7794,15 +8625,6 @@ - - - - - - - - - @@ -7821,6 +8643,15 @@ + + + + + + + + + @@ -7968,6 +8799,15 @@ + + + + + + + + + @@ -7995,6 +8835,15 @@ + + + + + + + + + @@ -8058,6 +8907,15 @@ + + + + + + + + + @@ -8103,6 +8961,15 @@ + + + + + + + + + @@ -8112,6 +8979,15 @@ + + + + + + + + + @@ -8385,20 +9261,20 @@ - + - + - + - + - + - + @@ -8487,6 +9363,15 @@ + + + + + + + + + @@ -8586,6 +9471,15 @@ + + + + + + + + + @@ -8727,15 +9621,6 @@ - - - - - - - - - @@ -8745,6 +9630,15 @@ + + + + + + + + + @@ -8847,6 +9741,15 @@ + + + + + + + + + @@ -8856,6 +9759,15 @@ + + + + + + + + + @@ -8892,6 +9804,24 @@ + + + + + + + + + + + + + + + + + + @@ -8928,6 +9858,24 @@ + + + + + + + + + + + + + + + + + + @@ -9029,9 +9977,30 @@ - + - + + + + + + + + + + + + + + + + + + + + + + @@ -9045,6 +10014,24 @@ + + + + + + + + + + + + + + + + + + @@ -9099,6 +10086,15 @@ + + + + + + + + + @@ -9180,6 +10176,24 @@ + + + + + + + + + + + + + + + + + + @@ -9189,38 +10203,38 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -9270,6 +10284,15 @@ + + + + + + + + + @@ -9279,24 +10302,6 @@ - - - - - - - - - - - - - - - - - - @@ -9333,6 +10338,15 @@ + + + + + + + + + @@ -9342,6 +10356,24 @@ + + + + + + + + + + + + + + + + + + @@ -9360,6 +10392,15 @@ + + + + + + + + + @@ -9369,6 +10410,24 @@ + + + + + + + + + + + + + + + + + + @@ -9378,15 +10437,6 @@ - - - - - - - - - @@ -9414,6 +10464,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9444,20 +10530,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -9471,20 +10566,38 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + @@ -9534,15 +10647,6 @@ - - - - - - - - - @@ -9921,6 +11025,15 @@ + + + + + + + + + @@ -10155,6 +11268,15 @@ + + + + + + + + + @@ -10212,24 +11334,6 @@ - - - - - - - - - - - - - - - - - - @@ -10239,6 +11343,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10248,6 +11379,15 @@ + + + + + + + + + @@ -10284,15 +11424,6 @@ - - - - - - - - - @@ -10668,11 +11799,11 @@ - + - + - + @@ -10740,6 +11871,15 @@ + + + + + + + + + @@ -10758,11 +11898,11 @@ - + - + - + @@ -10914,11 +12054,29 @@ - + - + - + + + + + + + + + + + + + + + + + + + @@ -10968,27 +12126,21 @@ - + - + - + - - - - + - + - + - - - @@ -11298,6 +12450,15 @@ + + + + + + + + + @@ -11334,6 +12495,24 @@ + + + + + + + + + + + + + + + + + + @@ -11343,6 +12522,15 @@ + + + + + + + + + @@ -11427,6 +12615,15 @@ + + + + + + + + + @@ -11832,6 +13029,15 @@ + + + + + + + + + @@ -11886,6 +13092,24 @@ + + + + + + + + + + + + + + + + + + @@ -12003,6 +13227,15 @@ + + + + + + + + + @@ -12030,20 +13263,11 @@ - + - + - - - - - - - - - - + @@ -12252,15 +13476,6 @@ - - - - - - - - - @@ -12621,6 +13836,15 @@ + + + + + + + + + @@ -12642,6 +13866,15 @@ + + + + + + + + + @@ -12807,6 +14040,15 @@ + + + + + + + + + @@ -12861,20 +14103,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -13119,6 +14370,24 @@ + + + + + + + + + + + + + + + + + + @@ -13182,6 +14451,24 @@ + + + + + + + + + + + + + + + + + + @@ -13281,6 +14568,15 @@ + + + + + + + + + @@ -13407,15 +14703,6 @@ - - - - - - - - - @@ -13443,6 +14730,15 @@ + + + type.]]> + + .]]> + + + + type. Did you mean to write 'Promise<{0}>'?]]> @@ -13470,11 +14766,20 @@ - + - + - + + + + + + + + + + @@ -13488,6 +14793,24 @@ + + + + + + + + + + + + + + + + + + @@ -13599,15 +14922,6 @@ - - - - - - - - - @@ -13689,6 +15003,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13707,6 +15057,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13761,6 +15147,15 @@ + + + + + + + + + @@ -13797,15 +15192,6 @@ - - - - - - - - - @@ -13815,6 +15201,24 @@ + + + + + + + + + + + + + + + + + + @@ -13923,6 +15327,15 @@ + + + + + + + + + @@ -13959,6 +15372,24 @@ + + + + + + + + + + + + + + + + + + @@ -14069,9 +15500,21 @@ - + - + + + + + + + + + + + + + @@ -14087,10 +15530,13 @@ - + - + + + + @@ -14142,15 +15588,6 @@ - - - - - - - - - @@ -14259,6 +15696,15 @@ + + + + + + + + + @@ -14286,11 +15732,11 @@ - + - + - + @@ -14367,6 +15813,15 @@ + + + + + + + + + @@ -14544,15 +15999,6 @@ - - - - - - - - - @@ -14589,6 +16035,15 @@ + + + + + + + + + @@ -14616,6 +16071,15 @@ + + + + + + + + + @@ -15024,6 +16488,24 @@ + + + + + + + + + + + + + + + + + + @@ -15096,6 +16578,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15150,6 +16686,15 @@ + + + + + + + + + @@ -15276,11 +16821,11 @@ - + - + - + @@ -15312,6 +16857,15 @@ + + + + + + + + + @@ -15339,6 +16893,15 @@ + + + + + + + + + @@ -15348,6 +16911,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15483,6 +17073,24 @@ + + + + + + + + + + + + + + + + + + @@ -15603,6 +17211,15 @@ + + + + + + + + + @@ -15630,6 +17247,15 @@ + + + + + + + + + @@ -15738,6 +17364,24 @@ + + + + + + + + + + + + + + + + + + @@ -15792,15 +17436,6 @@ - - - - - - - - - @@ -15846,6 +17481,15 @@ + + + + + + + + + @@ -15855,6 +17499,24 @@ + + + + + + + + + + + + + + + + + + @@ -15864,6 +17526,15 @@ + + + + + + + + + @@ -15936,11 +17607,11 @@ - + - + - + @@ -16146,6 +17817,15 @@ + + + + + + + + + @@ -16191,6 +17871,24 @@ + + + + + + + + + + + + + + + + + + @@ -16257,6 +17955,15 @@ + + + + + + + + + @@ -16323,20 +18030,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16452,6 +18195,15 @@ + + + + + + + + + @@ -16488,6 +18240,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16500,6 +18279,15 @@ + + + + + + + + + @@ -16527,27 +18315,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -16566,11 +18333,11 @@ - + - + - + @@ -16740,6 +18507,15 @@ + + + + + + + + + @@ -16794,11 +18570,11 @@ - + - + - + @@ -16929,6 +18705,15 @@ + + + + + + + + + @@ -16992,6 +18777,24 @@ + + + + + + + + + + + + + + + + + + @@ -17019,24 +18822,6 @@ - - - - - - - - - - - - - - - - - - @@ -17055,6 +18840,15 @@ + + + + + + + + + @@ -17193,15 +18987,6 @@ - - - - - - - - - @@ -17238,6 +19023,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl index b4b100d057a..b0db27f65c5 100644 --- a/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/deu/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -48,6 +48,15 @@ + + + + + + + + + @@ -57,6 +66,15 @@ + + + + + + + + + @@ -102,6 +120,24 @@ + + + + + + + + + + + + + + + + + + @@ -120,6 +156,24 @@ + + + + + + + + + + + + + + + + + + @@ -279,6 +333,15 @@ + + + + + + + + + @@ -342,15 +405,12 @@ - + - + - + - - - @@ -393,9 +453,9 @@ - + - + @@ -564,15 +624,6 @@ - - - - - - - - - @@ -879,6 +930,15 @@ + + + + + + + + + @@ -1014,6 +1074,15 @@ + + + + + + + + + @@ -1068,6 +1137,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1131,6 +1272,15 @@ + + + + + + + + + @@ -1158,6 +1308,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1323,6 +1500,15 @@ + + + + + + + + + @@ -1359,6 +1545,24 @@ + + + + + + + + + + + + + + + + + + @@ -1398,6 +1602,24 @@ + + + + + + + + + + + + + + + + + + @@ -1434,6 +1656,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1659,6 +1908,15 @@ + + + + + + + + + @@ -1794,15 +2052,12 @@ - + - + - + - - - @@ -1935,6 +2190,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1992,6 +2283,15 @@ + + + + + + + + + @@ -2028,11 +2328,11 @@ - + - + - + @@ -2154,11 +2454,11 @@ - + - + - + @@ -2226,6 +2526,15 @@ + + + + + + + + + @@ -2280,6 +2589,15 @@ + + + + + + + + + @@ -2298,6 +2616,24 @@ + + + + + + + + + + + + + + + + + + @@ -2373,6 +2709,15 @@ + + + + + + + + + @@ -2391,6 +2736,15 @@ + + + + + + + + + @@ -2400,6 +2754,15 @@ + + + + + + + + + @@ -2427,15 +2790,6 @@ - - - - - - - - - @@ -2517,6 +2871,15 @@ + + + + + + + + + @@ -2574,6 +2937,15 @@ + + + + + + + + + @@ -2640,15 +3012,6 @@ - - - - - - - - - @@ -2676,11 +3039,11 @@ - + - + - + @@ -2694,11 +3057,20 @@ - + - + - + + + + + + + + + + @@ -2943,11 +3315,11 @@ - + - + - + @@ -3030,6 +3402,24 @@ + + + + + + + + + + + + + + + + + + @@ -3210,11 +3600,20 @@ - + - + - + + + + + + + + + + @@ -3279,15 +3678,6 @@ - - - - - - - - - @@ -3297,11 +3687,11 @@ - + - + - + @@ -3459,6 +3849,15 @@ + + + + + + + + + @@ -3618,6 +4017,15 @@ + + + + + + + + + @@ -3702,6 +4110,15 @@ + + + + + + + + + @@ -3825,6 +4242,15 @@ + + + + + + + + + @@ -3834,6 +4260,15 @@ + + + + + + + + + @@ -3852,11 +4287,11 @@ - + - + - + @@ -4032,15 +4467,6 @@ - - - - - - - - - @@ -4104,6 +4530,15 @@ + + + + + + + + + @@ -4320,11 +4755,11 @@ - + - + - + @@ -4455,6 +4890,15 @@ + + + + + + + + + @@ -4512,6 +4956,24 @@ + + + + + + + + + + + + + + + + + + @@ -4521,6 +4983,15 @@ + + + + + + + + + @@ -4539,6 +5010,15 @@ + + + + + + + + + @@ -4568,10 +5048,13 @@ - + - + + + + @@ -4686,6 +5169,15 @@ + + + + + + + + + @@ -4704,11 +5196,11 @@ - + - + - + @@ -4740,6 +5232,15 @@ + + + + + + + + + @@ -5034,6 +5535,15 @@ + + + + + + + + + @@ -5298,6 +5808,15 @@ + + + + + + + + + @@ -5427,6 +5946,15 @@ + + + + + + + + + @@ -5448,20 +5976,47 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5712,11 +6267,20 @@ - + - + - + + + + + + + + + + @@ -5892,6 +6456,15 @@ + + + + + + + + + @@ -5964,6 +6537,24 @@ + + + + + + + + + + + + + + + + + + @@ -5985,15 +6576,6 @@ - - - - - - - - - @@ -6003,6 +6585,15 @@ + + + + + + + + + @@ -6012,6 +6603,15 @@ + + + + + + + + + @@ -6021,6 +6621,15 @@ + + + + + + + + + @@ -6075,6 +6684,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6120,18 +6774,6 @@ - - - - - - - - - - - - @@ -6279,6 +6921,15 @@ + + + + + + + + + @@ -6333,6 +6984,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6342,6 +7038,15 @@ + + + + + + + + + @@ -6405,6 +7110,15 @@ + + + + + + + + + @@ -6432,11 +7146,20 @@ - + - + - + + + + + + + + + + @@ -6468,15 +7191,6 @@ - - - - - - - - - @@ -6486,6 +7200,15 @@ + + + + + + + + + @@ -6495,15 +7218,6 @@ - - - - - - - - - @@ -6558,6 +7272,15 @@ + + + + + + + + + @@ -6732,6 +7455,15 @@ + + + + + + + + + @@ -6816,11 +7548,11 @@ - + - + - + @@ -6879,11 +7611,11 @@ - + - + - + @@ -6897,29 +7629,38 @@ - + - + - + - + - + - + - + - + - + + + + + + + + + + @@ -6969,6 +7710,15 @@ + + + + + + + + + @@ -7290,6 +8040,15 @@ + + + + + + + + + @@ -7395,6 +8154,24 @@ + + + + + + + + + + + + + + + + + + @@ -7413,20 +8190,20 @@ - + - + - + - + - + - + @@ -7449,6 +8226,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7662,6 +8475,15 @@ + + + + + + + + + @@ -7740,6 +8562,15 @@ + + + + + + + + + @@ -7782,15 +8613,6 @@ - - - - - - - - - @@ -7809,6 +8631,15 @@ + + + + + + + + + @@ -7956,6 +8787,15 @@ + + + + + + + + + @@ -7983,6 +8823,15 @@ + + + + + + + + + @@ -8046,6 +8895,15 @@ + + + + + + + + + @@ -8091,6 +8949,15 @@ + + + + + + + + + @@ -8100,6 +8967,15 @@ + + + + + + + + + @@ -8373,20 +9249,20 @@ - + - + - + - + - + - + @@ -8475,6 +9351,15 @@ + + + + + + + + + @@ -8574,6 +9459,15 @@ + + + + + + + + + @@ -8715,15 +9609,6 @@ - - - - - - - - - @@ -8733,6 +9618,15 @@ + + + + + + + + + @@ -8835,6 +9729,15 @@ + + + + + + + + + @@ -8844,6 +9747,15 @@ + + + + + + + + + @@ -8880,6 +9792,24 @@ + + + + + + + + + + + + + + + + + + @@ -8916,6 +9846,24 @@ + + + + + + + + + + + + + + + + + + @@ -9017,9 +9965,30 @@ - + - + + + + + + + + + + + + + + + + + + + + + + @@ -9033,6 +10002,24 @@ + + + + + + + + + + + + + + + + + + @@ -9087,6 +10074,15 @@ + + + + + + + + + @@ -9168,6 +10164,24 @@ + + + + + + + + + + + + + + + + + + @@ -9177,38 +10191,38 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -9258,6 +10272,15 @@ + + + + + + + + + @@ -9267,24 +10290,6 @@ - - - - - - - - - - - - - - - - - - @@ -9321,6 +10326,15 @@ + + + + + + + + + @@ -9330,6 +10344,24 @@ + + + + + + + + + + + + + + + + + + @@ -9348,6 +10380,15 @@ + + + + + + + + + @@ -9357,6 +10398,24 @@ + + + + + + + + + + + + + + + + + + @@ -9366,15 +10425,6 @@ - - - - - - - - - @@ -9402,6 +10452,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9432,20 +10518,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -9459,20 +10554,38 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + @@ -9522,15 +10635,6 @@ - - - - - - - - - @@ -9909,6 +11013,15 @@ + + + + + + + + + @@ -10140,6 +11253,15 @@ + + + + + + + + + @@ -10197,24 +11319,6 @@ - - - - - - - - - - - - - - - - - - @@ -10224,6 +11328,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10233,6 +11364,15 @@ + + + + + + + + + @@ -10269,15 +11409,6 @@ - - - - - - - - - @@ -10653,11 +11784,11 @@ - + - + - + @@ -10725,6 +11856,15 @@ + + + + + + + + + @@ -10743,11 +11883,11 @@ - + - + - + @@ -10899,11 +12039,29 @@ - + - + - + + + + + + + + + + + + + + + + + + + @@ -10953,27 +12111,21 @@ - + - + - + - - - - + - + - + - - - @@ -11283,6 +12435,15 @@ + + + + + + + + + @@ -11319,6 +12480,24 @@ + + + + + + + + + + + + + + + + + + @@ -11328,6 +12507,15 @@ + + + + + + + + + @@ -11412,6 +12600,15 @@ + + + + + + + + + @@ -11817,6 +13014,15 @@ + + + + + + + + + @@ -11871,6 +13077,24 @@ + + + + + + + + + + + + + + + + + + @@ -11988,6 +13212,15 @@ + + + + + + + + + @@ -12015,20 +13248,11 @@ - + - + - - - - - - - - - - + @@ -12237,15 +13461,6 @@ - - - - - - - - - @@ -12606,6 +13821,15 @@ + + + + + + + + + @@ -12627,6 +13851,15 @@ + + + + + + + + + @@ -12792,6 +14025,15 @@ + + + + + + + + + @@ -12846,20 +14088,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -13104,6 +14355,24 @@ + + + + + + + + + + + + + + + + + + @@ -13167,6 +14436,24 @@ + + + + + + + + + + + + + + + + + + @@ -13266,6 +14553,15 @@ + + + + + + + + + @@ -13392,15 +14688,6 @@ - - - - - - - - - @@ -13428,6 +14715,15 @@ + + + type.]]> + + " sein.]]> + + + + type. Did you mean to write 'Promise<{0}>'?]]> @@ -13455,11 +14751,20 @@ - + - + - + + + + + + + + + + @@ -13473,6 +14778,24 @@ + + + + + + + + + + + + + + + + + + @@ -13584,15 +14907,6 @@ - - - - - - - - - @@ -13674,6 +14988,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13692,6 +15042,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13746,6 +15132,15 @@ + + + + + + + + + @@ -13782,15 +15177,6 @@ - - - - - - - - - @@ -13800,6 +15186,24 @@ + + + + + + + + + + + + + + + + + + @@ -13908,6 +15312,15 @@ + + + + + + + + + @@ -13944,6 +15357,24 @@ + + + + + + + + + + + + + + + + + + @@ -14054,9 +15485,21 @@ - + - + + + + + + + + + + + + + @@ -14072,10 +15515,13 @@ - + - + + + + @@ -14127,15 +15573,6 @@ - - - - - - - - - @@ -14244,6 +15681,15 @@ + + + + + + + + + @@ -14271,11 +15717,11 @@ - + - + - + @@ -14352,6 +15798,15 @@ + + + + + + + + + @@ -14529,15 +15984,6 @@ - - - - - - - - - @@ -14574,6 +16020,15 @@ + + + + + + + + + @@ -14601,6 +16056,15 @@ + + + + + + + + + @@ -15009,6 +16473,24 @@ + + + + + + + + + + + + + + + + + + @@ -15081,6 +16563,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15135,6 +16671,15 @@ + + + + + + + + + @@ -15261,11 +16806,11 @@ - + - + - + @@ -15297,6 +16842,15 @@ + + + + + + + + + @@ -15324,6 +16878,15 @@ + + + + + + + + + @@ -15333,6 +16896,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15468,6 +17058,24 @@ + + + + + + + + + + + + + + + + + + @@ -15588,6 +17196,15 @@ + + + + + + + + + @@ -15615,6 +17232,15 @@ + + + + + + + + + @@ -15723,6 +17349,24 @@ + + + + + + + + + + + + + + + + + + @@ -15777,15 +17421,6 @@ - - - - - - - - - @@ -15831,6 +17466,15 @@ + + + + + + + + + @@ -15840,6 +17484,24 @@ + + + + + + + + + + + + + + + + + + @@ -15849,6 +17511,15 @@ + + + + + + + + + @@ -15921,11 +17592,11 @@ - + - + - + @@ -16131,6 +17802,15 @@ + + + + + + + + + @@ -16176,6 +17856,24 @@ + + + + + + + + + + + + + + + + + + @@ -16242,6 +17940,15 @@ + + + + + + + + + @@ -16308,20 +18015,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16437,6 +18180,15 @@ + + + + + + + + + @@ -16473,6 +18225,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16485,6 +18264,15 @@ + + + + + + + + + @@ -16512,27 +18300,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -16551,11 +18318,11 @@ - + - + - + @@ -16725,6 +18492,15 @@ + + + + + + + + + @@ -16779,11 +18555,11 @@ - + - + - + @@ -16914,6 +18690,15 @@ + + + + + + + + + @@ -16977,6 +18762,24 @@ + + + + + + + + + + + + + + + + + + @@ -17004,24 +18807,6 @@ - - - - - - - - - - - - - - - - - - @@ -17040,6 +18825,15 @@ + + + + + + + + + @@ -17178,15 +18972,6 @@ - - - - - - - - - @@ -17223,6 +19008,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl index 3b7e833f5d1..0543040f6ca 100644 --- a/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/esn/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -57,6 +57,15 @@ + + + + + + + + + @@ -66,6 +75,15 @@ + + + + + + + + + @@ -111,6 +129,24 @@ + + + + + + + + + + + + + + + + + + @@ -129,6 +165,24 @@ + + + + + + + + + + + + + + + + + + @@ -288,6 +342,15 @@ + + + + + + + + + @@ -351,15 +414,12 @@ - + - + - + - - - @@ -402,11 +462,11 @@ - + - + - + @@ -573,15 +633,6 @@ - - - - - - - - - @@ -891,6 +942,15 @@ + + + + + + + + + @@ -1026,6 +1086,15 @@ + + + + + + + + + @@ -1080,6 +1149,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1143,6 +1284,15 @@ + + + + + + + + + @@ -1170,6 +1320,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1335,6 +1512,15 @@ + + + + + + + + + @@ -1371,6 +1557,24 @@ + + + + + + + + + + + + + + + + + + @@ -1413,6 +1617,24 @@ + + + + + + + + + + + + + + + + + + @@ -1449,6 +1671,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1674,6 +1923,15 @@ + + + + + + + + + @@ -1809,15 +2067,12 @@ - + - + - + - - - @@ -1950,6 +2205,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2007,6 +2298,15 @@ + + + + + + + + + @@ -2043,11 +2343,11 @@ - + - + - + @@ -2169,11 +2469,11 @@ - + - + - + @@ -2241,6 +2541,15 @@ + + + + + + + + + @@ -2295,6 +2604,15 @@ + + + + + + + + + @@ -2313,6 +2631,24 @@ + + + + + + + + + + + + + + + + + + @@ -2388,6 +2724,15 @@ + + + + + + + + + @@ -2406,6 +2751,15 @@ + + + + + + + + + @@ -2415,6 +2769,15 @@ + + + + + + + + + @@ -2442,15 +2805,6 @@ - - - - - - - - - @@ -2532,6 +2886,15 @@ + + + + + + + + + @@ -2589,6 +2952,15 @@ + + + + + + + + + @@ -2655,15 +3027,6 @@ - - - - - - - - - @@ -2691,11 +3054,11 @@ - + - + - + @@ -2709,11 +3072,20 @@ - + - + - + + + + + + + + + + @@ -2958,11 +3330,11 @@ - + - + - + @@ -3045,6 +3417,24 @@ + + + + + + + + + + + + + + + + + + @@ -3225,11 +3615,20 @@ - + - + - + + + + + + + + + + @@ -3294,15 +3693,6 @@ - - - - - - - - - @@ -3312,11 +3702,11 @@ - + - + - + @@ -3474,6 +3864,15 @@ + + + + + + + + + @@ -3633,6 +4032,15 @@ + + + + + + + + + @@ -3717,6 +4125,15 @@ + + + + + + + + + @@ -3840,6 +4257,15 @@ + + + + + + + + + @@ -3849,6 +4275,15 @@ + + + + + + + + + @@ -3867,11 +4302,11 @@ - + - + - + @@ -4047,15 +4482,6 @@ - - - - - - - - - @@ -4119,6 +4545,15 @@ + + + + + + + + + @@ -4335,11 +4770,11 @@ - + - + - + @@ -4470,6 +4905,15 @@ + + + + + + + + + @@ -4527,6 +4971,24 @@ + + + + + + + + + + + + + + + + + + @@ -4536,6 +4998,15 @@ + + + + + + + + + @@ -4554,6 +5025,15 @@ + + + + + + + + + @@ -4583,10 +5063,13 @@ - + + + + @@ -4701,6 +5184,15 @@ + + + + + + + + + @@ -4719,11 +5211,11 @@ - + - + - + @@ -4755,6 +5247,15 @@ + + + + + + + + + @@ -5049,6 +5550,15 @@ + + + + + + + + + @@ -5313,6 +5823,15 @@ + + + + + + + + + @@ -5442,6 +5961,15 @@ + + + + + + + + + @@ -5463,20 +5991,47 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5727,11 +6282,20 @@ - + - + - + + + + + + + + + + @@ -5907,6 +6471,15 @@ + + + + + + + + + @@ -5979,6 +6552,24 @@ + + + + + + + + + + + + + + + + + + @@ -6000,15 +6591,6 @@ - - - - - - - - - @@ -6018,6 +6600,15 @@ + + + + + + + + + @@ -6027,6 +6618,15 @@ + + + + + + + + + @@ -6036,6 +6636,15 @@ + + + + + + + + + @@ -6090,6 +6699,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6135,18 +6789,6 @@ - - - - - - - - - - - - @@ -6294,6 +6936,15 @@ + + + + + + + + + @@ -6348,6 +6999,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6357,6 +7053,15 @@ + + + + + + + + + @@ -6420,6 +7125,15 @@ + + + + + + + + + @@ -6447,11 +7161,20 @@ - + - + - + + + + + + + + + + @@ -6483,15 +7206,6 @@ - - - - - - - - - @@ -6501,6 +7215,15 @@ + + + + + + + + + @@ -6510,15 +7233,6 @@ - - - - - - - - - @@ -6573,6 +7287,15 @@ + + + + + + + + + @@ -6747,6 +7470,15 @@ + + + + + + + + + @@ -6831,11 +7563,11 @@ - + - + - + @@ -6894,11 +7626,11 @@ - + - + - + @@ -6912,29 +7644,38 @@ - + - + - + - + - + - + - + - + - + + + + + + + + + + @@ -6984,6 +7725,15 @@ + + + + + + + + + @@ -7305,6 +8055,15 @@ + + + + + + + + + @@ -7410,6 +8169,24 @@ + + + + + + + + + + + + + + + + + + @@ -7428,20 +8205,20 @@ - + - + - + - + - + - + @@ -7464,6 +8241,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7677,6 +8490,15 @@ + + + + + + + + + @@ -7755,6 +8577,15 @@ + + + + + + + + + @@ -7797,15 +8628,6 @@ - - - - - - - - - @@ -7824,6 +8646,15 @@ + + + + + + + + + @@ -7971,6 +8802,15 @@ + + + + + + + + + @@ -7998,6 +8838,15 @@ + + + + + + + + + @@ -8061,6 +8910,15 @@ + + + + + + + + + @@ -8106,6 +8964,15 @@ + + + + + + + + + @@ -8115,6 +8982,15 @@ + + + + + + + + + @@ -8388,20 +9264,20 @@ - + - + - + - + - + - + @@ -8490,6 +9366,15 @@ + + + + + + + + + @@ -8589,6 +9474,15 @@ + + + + + + + + + @@ -8730,15 +9624,6 @@ - - - - - - - - - @@ -8748,6 +9633,15 @@ + + + + + + + + + @@ -8850,6 +9744,15 @@ + + + + + + + + + @@ -8859,6 +9762,15 @@ + + + + + + + + + @@ -8895,6 +9807,24 @@ + + + + + + + + + + + + + + + + + + @@ -8931,6 +9861,24 @@ + + + + + + + + + + + + + + + + + + @@ -9032,10 +9980,31 @@ - + + + + + + + + + + + + + + + + + + + + + + @@ -9048,6 +10017,24 @@ + + + + + + + + + + + + + + + + + + @@ -9102,6 +10089,15 @@ + + + + + + + + + @@ -9183,6 +10179,24 @@ + + + + + + + + + + + + + + + + + + @@ -9192,38 +10206,38 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -9273,6 +10287,15 @@ + + + + + + + + + @@ -9282,24 +10305,6 @@ - - - - - - - - - - - - - - - - - - @@ -9336,6 +10341,15 @@ + + + + + + + + + @@ -9345,6 +10359,24 @@ + + + + + + + + + + + + + + + + + + @@ -9363,6 +10395,15 @@ + + + + + + + + + @@ -9372,6 +10413,24 @@ + + + + + + + + + + + + + + + + + + @@ -9381,15 +10440,6 @@ - - - - - - - - - @@ -9417,6 +10467,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9447,20 +10533,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -9474,20 +10569,38 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + @@ -9537,15 +10650,6 @@ - - - - - - - - - @@ -9924,6 +11028,15 @@ + + + + + + + + + @@ -10158,6 +11271,15 @@ + + + + + + + + + @@ -10215,24 +11337,6 @@ - - - - - - - - - - - - - - - - - - @@ -10242,6 +11346,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10251,6 +11382,15 @@ + + + + + + + + + @@ -10287,15 +11427,6 @@ - - - - - - - - - @@ -10671,11 +11802,11 @@ - + - + - + @@ -10743,6 +11874,15 @@ + + + + + + + + + @@ -10761,11 +11901,11 @@ - + - + - + @@ -10917,11 +12057,29 @@ - + - + - + + + + + + + + + + + + + + + + + + + @@ -10971,27 +12129,21 @@ - + - + - + - - - - + - + - + - - - @@ -11301,6 +12453,15 @@ + + + + + + + + + @@ -11337,6 +12498,24 @@ + + + + + + + + + + + + + + + + + + @@ -11346,6 +12525,15 @@ + + + + + + + + + @@ -11430,6 +12618,15 @@ + + + + + + + + + @@ -11835,6 +13032,15 @@ + + + + + + + + + @@ -11889,6 +13095,24 @@ + + + + + + + + + + + + + + + + + + @@ -12006,6 +13230,15 @@ + + + + + + + + + @@ -12033,20 +13266,11 @@ - + - + - - - - - - - - - - + @@ -12255,15 +13479,6 @@ - - - - - - - - - @@ -12624,6 +13839,15 @@ + + + + + + + + + @@ -12645,6 +13869,15 @@ + + + + + + + + + @@ -12810,6 +14043,15 @@ + + + + + + + + + @@ -12864,20 +14106,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -13122,6 +14373,24 @@ + + + + + + + + + + + + + + + + + + @@ -13185,6 +14454,24 @@ + + + + + + + + + + + + + + + + + + @@ -13284,6 +14571,15 @@ + + + + + + + + + @@ -13410,15 +14706,6 @@ - - - - - - - - - @@ -13446,6 +14733,15 @@ + + + type.]]> + + global.]]> + + + + type. Did you mean to write 'Promise<{0}>'?]]> @@ -13473,11 +14769,20 @@ - + - + - + + + + + + + + + + @@ -13491,6 +14796,24 @@ + + + + + + + + + + + + + + + + + + @@ -13602,15 +14925,6 @@ - - - - - - - - - @@ -13692,6 +15006,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13710,6 +15060,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13764,6 +15150,15 @@ + + + + + + + + + @@ -13800,15 +15195,6 @@ - - - - - - - - - @@ -13818,6 +15204,24 @@ + + + + + + + + + + + + + + + + + + @@ -13926,6 +15330,15 @@ + + + + + + + + + @@ -13962,6 +15375,24 @@ + + + + + + + + + + + + + + + + + + @@ -14072,9 +15503,21 @@ - + - + + + + + + + + + + + + + @@ -14090,10 +15533,13 @@ - + - + + + + @@ -14145,15 +15591,6 @@ - - - - - - - - - @@ -14262,6 +15699,15 @@ + + + + + + + + + @@ -14289,11 +15735,11 @@ - + - + - + @@ -14370,6 +15816,15 @@ + + + + + + + + + @@ -14547,15 +16002,6 @@ - - - - - - - - - @@ -14592,6 +16038,15 @@ + + + + + + + + + @@ -14619,6 +16074,15 @@ + + + + + + + + + @@ -15027,6 +16491,24 @@ + + + + + + + + + + + + + + + + + + @@ -15099,6 +16581,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15153,6 +16689,15 @@ + + + + + + + + + @@ -15279,11 +16824,11 @@ - + - + - + @@ -15315,6 +16860,15 @@ + + + + + + + + + @@ -15342,6 +16896,15 @@ + + + + + + + + + @@ -15351,6 +16914,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15486,6 +17076,24 @@ + + + + + + + + + + + + + + + + + + @@ -15606,6 +17214,15 @@ + + + + + + + + + @@ -15633,6 +17250,15 @@ + + + + + + + + + @@ -15741,6 +17367,24 @@ + + + + + + + + + + + + + + + + + + @@ -15795,15 +17439,6 @@ - - - - - - - - - @@ -15849,6 +17484,15 @@ + + + + + + + + + @@ -15858,6 +17502,24 @@ + + + + + + + + + + + + + + + + + + @@ -15867,6 +17529,15 @@ + + + + + + + + + @@ -15939,11 +17610,11 @@ - + - + - + @@ -16149,6 +17820,15 @@ + + + + + + + + + @@ -16194,6 +17874,24 @@ + + + + + + + + + + + + + + + + + + @@ -16260,6 +17958,15 @@ + + + + + + + + + @@ -16326,20 +18033,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16455,6 +18198,15 @@ + + + + + + + + + @@ -16491,6 +18243,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16503,6 +18282,15 @@ + + + + + + + + + @@ -16530,27 +18318,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -16569,11 +18336,11 @@ - + - + - + @@ -16743,6 +18510,15 @@ + + + + + + + + + @@ -16797,11 +18573,11 @@ - + - + - + @@ -16932,6 +18708,15 @@ + + + + + + + + + @@ -16995,6 +18780,24 @@ + + + + + + + + + + + + + + + + + + @@ -17022,24 +18825,6 @@ - - - - - - - - - - - - - - - - - - @@ -17058,6 +18843,15 @@ + + + + + + + + + @@ -17196,15 +18990,6 @@ - - - - - - - - - @@ -17241,6 +19026,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl index e38f7afba52..b6a6f64441b 100644 --- a/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/fra/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -57,6 +57,15 @@ + + + + + + + + + @@ -66,6 +75,15 @@ + + + + + + + + + @@ -111,6 +129,24 @@ + + + + + + + + + + + + + + + + + + @@ -129,6 +165,24 @@ + + + + + + + + + + + + + + + + + + @@ -288,6 +342,15 @@ + + + + + + + + + @@ -351,15 +414,12 @@ - + - + - + - - - @@ -402,11 +462,11 @@ - + - + - + @@ -573,15 +633,6 @@ - - - - - - - - - @@ -891,6 +942,15 @@ + + + + + + + + + @@ -1026,6 +1086,15 @@ + + + + + + + + + @@ -1080,6 +1149,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1143,6 +1284,15 @@ + + + + + + + + + @@ -1170,6 +1320,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1335,6 +1512,15 @@ + + + + + + + + + @@ -1371,6 +1557,24 @@ + + + + + + + + + + + + + + + + + + @@ -1413,6 +1617,24 @@ + + + + + + + + + + + + + + + + + + @@ -1449,6 +1671,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1674,6 +1923,15 @@ + + + + + + + + + @@ -1809,15 +2067,12 @@ - + - + - + - - - @@ -1950,6 +2205,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2007,6 +2298,15 @@ + + + + + + + + + @@ -2043,11 +2343,11 @@ - + - + - + @@ -2169,11 +2469,11 @@ - + - + - + @@ -2241,6 +2541,15 @@ + + + + + + + + + @@ -2295,6 +2604,15 @@ + + + + + + + + + @@ -2313,6 +2631,24 @@ + + + + + + + + + + + + + + + + + + @@ -2388,6 +2724,15 @@ + + + + + + + + + @@ -2406,6 +2751,15 @@ + + + + + + + + + @@ -2415,6 +2769,15 @@ + + + + + + + + + @@ -2442,15 +2805,6 @@ - - - - - - - - - @@ -2532,6 +2886,15 @@ + + + + + + + + + @@ -2589,6 +2952,15 @@ + + + + + + + + + @@ -2655,15 +3027,6 @@ - - - - - - - - - @@ -2691,11 +3054,11 @@ - + - + - + @@ -2709,11 +3072,20 @@ - + - + - + + + + + + + + + + @@ -2958,11 +3330,11 @@ - + - + - + @@ -3045,6 +3417,24 @@ + + + + + + + + + + + + + + + + + + @@ -3225,11 +3615,20 @@ - + - + - + + + + + + + + + + @@ -3294,15 +3693,6 @@ - - - - - - - - - @@ -3312,11 +3702,11 @@ - + - + - + @@ -3474,6 +3864,15 @@ + + + + + + + + + @@ -3633,6 +4032,15 @@ + + + + + + + + + @@ -3717,6 +4125,15 @@ + + + + + + + + + @@ -3840,6 +4257,15 @@ + + + + + + + + + @@ -3849,6 +4275,15 @@ + + + + + + + + + @@ -3867,11 +4302,11 @@ - + - + - + @@ -4047,15 +4482,6 @@ - - - - - - - - - @@ -4119,6 +4545,15 @@ + + + + + + + + + @@ -4335,11 +4770,11 @@ - + - + - + @@ -4470,6 +4905,15 @@ + + + + + + + + + @@ -4527,6 +4971,24 @@ + + + + + + + + + + + + + + + + + + @@ -4536,6 +4998,15 @@ + + + + + + + + + @@ -4554,6 +5025,15 @@ + + + + + + + + + @@ -4583,10 +5063,13 @@ - + - + + + + @@ -4701,6 +5184,15 @@ + + + + + + + + + @@ -4719,11 +5211,11 @@ - + - + - + @@ -4755,6 +5247,15 @@ + + + + + + + + + @@ -5049,6 +5550,15 @@ + + + + + + + + + @@ -5313,6 +5823,15 @@ + + + + + + + + + @@ -5442,6 +5961,15 @@ + + + + + + + + + @@ -5463,20 +5991,47 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5727,11 +6282,20 @@ - + - + - + + + + + + + + + + @@ -5907,6 +6471,15 @@ + + + + + + + + + @@ -5979,6 +6552,24 @@ + + + + + + + + + + + + + + + + + + @@ -6000,15 +6591,6 @@ - - - - - - - - - @@ -6018,6 +6600,15 @@ + + + + + + + + + @@ -6027,6 +6618,15 @@ + + + + + + + + + @@ -6036,6 +6636,15 @@ + + + + + + + + + @@ -6090,6 +6699,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6135,18 +6789,6 @@ - - - - - - - - - - - - @@ -6294,6 +6936,15 @@ + + + + + + + + + @@ -6348,6 +6999,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6357,6 +7053,15 @@ + + + + + + + + + @@ -6420,6 +7125,15 @@ + + + + + + + + + @@ -6447,11 +7161,20 @@ - + - + - + + + + + + + + + + @@ -6483,15 +7206,6 @@ - - - - - - - - - @@ -6501,6 +7215,15 @@ + + + + + + + + + @@ -6510,15 +7233,6 @@ - - - - - - - - - @@ -6573,6 +7287,15 @@ + + + + + + + + + @@ -6747,6 +7470,15 @@ + + + + + + + + + @@ -6831,11 +7563,11 @@ - + - + - + @@ -6894,11 +7626,11 @@ - + - + - + @@ -6912,29 +7644,38 @@ - + - + - + - + - + - + - + - + - + + + + + + + + + + @@ -6984,6 +7725,15 @@ + + + + + + + + + @@ -7305,6 +8055,15 @@ + + + + + + + + + @@ -7410,6 +8169,24 @@ + + + + + + + + + + + + + + + + + + @@ -7428,20 +8205,20 @@ - + - + - + - + - + - + @@ -7464,6 +8241,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7677,6 +8490,15 @@ + + + + + + + + + @@ -7755,6 +8577,15 @@ + + + + + + + + + @@ -7797,15 +8628,6 @@ - - - - - - - - - @@ -7824,6 +8646,15 @@ + + + + + + + + + @@ -7971,6 +8802,15 @@ + + + + + + + + + @@ -7998,6 +8838,15 @@ + + + + + + + + + @@ -8061,6 +8910,15 @@ + + + + + + + + + @@ -8106,6 +8964,15 @@ + + + + + + + + + @@ -8115,6 +8982,15 @@ + + + + + + + + + @@ -8388,20 +9264,20 @@ - + - + - + - + - + - + @@ -8490,6 +9366,15 @@ + + + + + + + + + @@ -8589,6 +9474,15 @@ + + + + + + + + + @@ -8730,15 +9624,6 @@ - - - - - - - - - @@ -8748,6 +9633,15 @@ + + + + + + + + + @@ -8850,6 +9744,15 @@ + + + + + + + + + @@ -8859,6 +9762,15 @@ + + + + + + + + + @@ -8895,6 +9807,24 @@ + + + + + + + + + + + + + + + + + + @@ -8931,6 +9861,24 @@ + + + + + + + + + + + + + + + + + + @@ -9032,9 +9980,30 @@ - + - + + + + + + + + + + + + + + + + + + + + + + @@ -9048,6 +10017,24 @@ + + + + + + + + + + + + + + + + + + @@ -9102,6 +10089,15 @@ + + + + + + + + + @@ -9183,6 +10179,24 @@ + + + + + + + + + + + + + + + + + + @@ -9192,38 +10206,38 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -9273,6 +10287,15 @@ + + + + + + + + + @@ -9282,24 +10305,6 @@ - - - - - - - - - - - - - - - - - - @@ -9336,6 +10341,15 @@ + + + + + + + + + @@ -9345,6 +10359,24 @@ + + + + + + + + + + + + + + + + + + @@ -9363,6 +10395,15 @@ + + + + + + + + + @@ -9372,6 +10413,24 @@ + + + + + + + + + + + + + + + + + + @@ -9381,15 +10440,6 @@ - - - - - - - - - @@ -9417,6 +10467,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9447,20 +10533,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -9474,20 +10569,38 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + @@ -9537,15 +10650,6 @@ - - - - - - - - - @@ -9924,6 +11028,15 @@ + + + + + + + + + @@ -10158,6 +11271,15 @@ + + + + + + + + + @@ -10215,24 +11337,6 @@ - - - - - - - - - - - - - - - - - - @@ -10242,6 +11346,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10251,6 +11382,15 @@ + + + + + + + + + @@ -10287,15 +11427,6 @@ - - - - - - - - - @@ -10671,11 +11802,11 @@ - + - + - + @@ -10743,6 +11874,15 @@ + + + + + + + + + @@ -10761,11 +11901,11 @@ - + - + - + @@ -10917,11 +12057,29 @@ - + - + - + + + + + + + + + + + + + + + + + + + @@ -10971,27 +12129,21 @@ - + - + - + - - - - + - + - + - - - @@ -11301,6 +12453,15 @@ + + + + + + + + + @@ -11337,6 +12498,24 @@ + + + + + + + + + + + + + + + + + + @@ -11346,6 +12525,15 @@ + + + + + + + + + @@ -11430,6 +12618,15 @@ + + + + + + + + + @@ -11835,6 +13032,15 @@ + + + + + + + + + @@ -11889,6 +13095,24 @@ + + + + + + + + + + + + + + + + + + @@ -12006,6 +13230,15 @@ + + + + + + + + + @@ -12033,20 +13266,11 @@ - + - + - - - - - - - - - - + @@ -12255,15 +13479,6 @@ - - - - - - - - - @@ -12624,6 +13839,15 @@ + + + + + + + + + @@ -12645,6 +13869,15 @@ + + + + + + + + + @@ -12810,6 +14043,15 @@ + + + + + + + + + @@ -12864,20 +14106,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -13122,6 +14373,24 @@ + + + + + + + + + + + + + + + + + + @@ -13185,6 +14454,24 @@ + + + + + + + + + + + + + + + + + + @@ -13284,6 +14571,15 @@ + + + + + + + + + @@ -13410,15 +14706,6 @@ - - - - - - - - - @@ -13446,6 +14733,15 @@ + + + type.]]> + + global.]]> + + + + type. Did you mean to write 'Promise<{0}>'?]]> @@ -13473,11 +14769,20 @@ - + - + - + + + + + + + + + + @@ -13491,6 +14796,24 @@ + + + + + + + + + + + + + + + + + + @@ -13602,15 +14925,6 @@ - - - - - - - - - @@ -13692,6 +15006,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13710,6 +15060,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13764,6 +15150,15 @@ + + + + + + + + + @@ -13800,15 +15195,6 @@ - - - - - - - - - @@ -13818,6 +15204,24 @@ + + + + + + + + + + + + + + + + + + @@ -13926,6 +15330,15 @@ + + + + + + + + + @@ -13962,6 +15375,24 @@ + + + + + + + + + + + + + + + + + + @@ -14072,9 +15503,21 @@ - + - + + + + + + + + + + + + + @@ -14090,10 +15533,13 @@ - + - + + + + @@ -14145,15 +15591,6 @@ - - - - - - - - - @@ -14262,6 +15699,15 @@ + + + + + + + + + @@ -14289,11 +15735,11 @@ - + - + - + @@ -14370,6 +15816,15 @@ + + + + + + + + + @@ -14547,15 +16002,6 @@ - - - - - - - - - @@ -14592,6 +16038,15 @@ + + + + + + + + + @@ -14619,6 +16074,15 @@ + + + + + + + + + @@ -15027,6 +16491,24 @@ + + + + + + + + + + + + + + + + + + @@ -15099,6 +16581,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15153,6 +16689,15 @@ + + + + + + + + + @@ -15279,11 +16824,11 @@ - + - + - + @@ -15315,6 +16860,15 @@ + + + + + + + + + @@ -15342,6 +16896,15 @@ + + + + + + + + + @@ -15351,6 +16914,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15486,6 +17076,24 @@ + + + + + + + + + + + + + + + + + + @@ -15606,6 +17214,15 @@ + + + + + + + + + @@ -15633,6 +17250,15 @@ + + + + + + + + + @@ -15741,6 +17367,24 @@ + + + + + + + + + + + + + + + + + + @@ -15795,15 +17439,6 @@ - - - - - - - - - @@ -15849,6 +17484,15 @@ + + + + + + + + + @@ -15858,6 +17502,24 @@ + + + + + + + + + + + + + + + + + + @@ -15867,6 +17529,15 @@ + + + + + + + + + @@ -15939,11 +17610,11 @@ - + - + - + @@ -16149,6 +17820,15 @@ + + + + + + + + + @@ -16194,6 +17874,24 @@ + + + + + + + + + + + + + + + + + + @@ -16260,6 +17958,15 @@ + + + + + + + + + @@ -16326,20 +18033,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16455,6 +18198,15 @@ + + + + + + + + + @@ -16491,6 +18243,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16503,6 +18282,15 @@ + + + + + + + + + @@ -16530,27 +18318,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -16569,11 +18336,11 @@ - + - + - + @@ -16743,6 +18510,15 @@ + + + + + + + + + @@ -16797,11 +18573,11 @@ - + - + - + @@ -16932,6 +18708,15 @@ + + + + + + + + + @@ -16995,6 +18780,24 @@ + + + + + + + + + + + + + + + + + + @@ -17022,24 +18825,6 @@ - - - - - - - - - - - - - - - - - - @@ -17058,6 +18843,15 @@ + + + + + + + + + @@ -17196,15 +18990,6 @@ - - - - - - - - - @@ -17241,6 +19026,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl index 1ae0ae5f285..4ce6abef8e8 100644 --- a/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/ita/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -48,6 +48,15 @@ + + + + + + + + + @@ -57,6 +66,15 @@ + + + + + + + + + @@ -102,6 +120,24 @@ + + + + + + + + + + + + + + + + + + @@ -120,6 +156,24 @@ + + + + + + + + + + + + + + + + + + @@ -279,6 +333,15 @@ + + + + + + + + + @@ -342,15 +405,12 @@ - + - + - + - - - @@ -393,11 +453,11 @@ - + - + - + @@ -564,15 +624,6 @@ - - - - - - - - - @@ -882,6 +933,15 @@ + + + + + + + + + @@ -1017,6 +1077,15 @@ + + + + + + + + + @@ -1071,6 +1140,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1134,6 +1275,15 @@ + + + + + + + + + @@ -1161,6 +1311,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1326,6 +1503,15 @@ + + + + + + + + + @@ -1362,6 +1548,24 @@ + + + + + + + + + + + + + + + + + + @@ -1401,6 +1605,24 @@ + + + + + + + + + + + + + + + + + + @@ -1437,6 +1659,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1662,6 +1911,15 @@ + + + + + + + + + @@ -1797,15 +2055,12 @@ - + - + - + - - - @@ -1938,6 +2193,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1995,6 +2286,15 @@ + + + + + + + + + @@ -2031,11 +2331,11 @@ - + - + - + @@ -2157,11 +2457,11 @@ - + - + - + @@ -2229,6 +2529,15 @@ + + + + + + + + + @@ -2283,6 +2592,15 @@ + + + + + + + + + @@ -2301,6 +2619,24 @@ + + + + + + + + + + + + + + + + + + @@ -2376,6 +2712,15 @@ + + + + + + + + + @@ -2394,6 +2739,15 @@ + + + + + + + + + @@ -2403,6 +2757,15 @@ + + + + + + + + + @@ -2430,15 +2793,6 @@ - - - - - - - - - @@ -2520,6 +2874,15 @@ + + + + + + + + + @@ -2577,6 +2940,15 @@ + + + + + + + + + @@ -2643,15 +3015,6 @@ - - - - - - - - - @@ -2679,11 +3042,11 @@ - + - + - + @@ -2697,11 +3060,20 @@ - + - + - + + + + + + + + + + @@ -2946,11 +3318,11 @@ - + - + - + @@ -3033,6 +3405,24 @@ + + + + + + + + + + + + + + + + + + @@ -3213,11 +3603,20 @@ - + - + - + + + + + + + + + + @@ -3282,15 +3681,6 @@ - - - - - - - - - @@ -3300,11 +3690,11 @@ - + - + - + @@ -3462,6 +3852,15 @@ + + + + + + + + + @@ -3621,6 +4020,15 @@ + + + + + + + + + @@ -3705,6 +4113,15 @@ + + + + + + + + + @@ -3828,6 +4245,15 @@ + + + + + + + + + @@ -3837,6 +4263,15 @@ + + + + + + + + + @@ -3855,11 +4290,11 @@ - + - + - + @@ -4035,15 +4470,6 @@ - - - - - - - - - @@ -4107,6 +4533,15 @@ + + + + + + + + + @@ -4323,11 +4758,11 @@ - + - + - + @@ -4458,6 +4893,15 @@ + + + + + + + + + @@ -4515,6 +4959,24 @@ + + + + + + + + + + + + + + + + + + @@ -4524,6 +4986,15 @@ + + + + + + + + + @@ -4542,6 +5013,15 @@ + + + + + + + + + @@ -4571,10 +5051,13 @@ - + + + + @@ -4689,6 +5172,15 @@ + + + + + + + + + @@ -4707,11 +5199,11 @@ - + - + - + @@ -4743,6 +5235,15 @@ + + + + + + + + + @@ -5037,6 +5538,15 @@ + + + + + + + + + @@ -5301,6 +5811,15 @@ + + + + + + + + + @@ -5430,6 +5949,15 @@ + + + + + + + + + @@ -5451,20 +5979,47 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5715,11 +6270,20 @@ - + - + - + + + + + + + + + + @@ -5895,6 +6459,15 @@ + + + + + + + + + @@ -5967,6 +6540,24 @@ + + + + + + + + + + + + + + + + + + @@ -5988,15 +6579,6 @@ - - - - - - - - - @@ -6006,6 +6588,15 @@ + + + + + + + + + @@ -6015,6 +6606,15 @@ + + + + + + + + + @@ -6024,6 +6624,15 @@ + + + + + + + + + @@ -6078,6 +6687,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6123,18 +6777,6 @@ - - - - - - - - - - - - @@ -6282,6 +6924,15 @@ + + + + + + + + + @@ -6336,6 +6987,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6345,6 +7041,15 @@ + + + + + + + + + @@ -6408,6 +7113,15 @@ + + + + + + + + + @@ -6435,11 +7149,20 @@ - + - + - + + + + + + + + + + @@ -6471,15 +7194,6 @@ - - - - - - - - - @@ -6489,6 +7203,15 @@ + + + + + + + + + @@ -6498,15 +7221,6 @@ - - - - - - - - - @@ -6561,6 +7275,15 @@ + + + + + + + + + @@ -6735,6 +7458,15 @@ + + + + + + + + + @@ -6819,11 +7551,11 @@ - + - + - + @@ -6882,11 +7614,11 @@ - + - + - + @@ -6900,29 +7632,38 @@ - + - + - + - + - + - + - + - + - + + + + + + + + + + @@ -6972,6 +7713,15 @@ + + + + + + + + + @@ -7293,6 +8043,15 @@ + + + + + + + + + @@ -7398,6 +8157,24 @@ + + + + + + + + + + + + + + + + + + @@ -7416,20 +8193,20 @@ - + - + - + - + - + - + @@ -7452,6 +8229,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7665,6 +8478,15 @@ + + + + + + + + + @@ -7743,6 +8565,15 @@ + + + + + + + + + @@ -7785,15 +8616,6 @@ - - - - - - - - - @@ -7812,6 +8634,15 @@ + + + + + + + + + @@ -7959,6 +8790,15 @@ + + + + + + + + + @@ -7986,6 +8826,15 @@ + + + + + + + + + @@ -8049,6 +8898,15 @@ + + + + + + + + + @@ -8094,6 +8952,15 @@ + + + + + + + + + @@ -8103,6 +8970,15 @@ + + + + + + + + + @@ -8376,20 +9252,20 @@ - + - + - + - + - + - + @@ -8478,6 +9354,15 @@ + + + + + + + + + @@ -8577,6 +9462,15 @@ + + + + + + + + + @@ -8718,15 +9612,6 @@ - - - - - - - - - @@ -8736,6 +9621,15 @@ + + + + + + + + + @@ -8838,6 +9732,15 @@ + + + + + + + + + @@ -8847,6 +9750,15 @@ + + + + + + + + + @@ -8883,6 +9795,24 @@ + + + + + + + + + + + + + + + + + + @@ -8919,6 +9849,24 @@ + + + + + + + + + + + + + + + + + + @@ -9020,9 +9968,30 @@ - + - + + + + + + + + + + + + + + + + + + + + + + @@ -9036,6 +10005,24 @@ + + + + + + + + + + + + + + + + + + @@ -9090,6 +10077,15 @@ + + + + + + + + + @@ -9171,6 +10167,24 @@ + + + + + + + + + + + + + + + + + + @@ -9180,38 +10194,38 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -9261,6 +10275,15 @@ + + + + + + + + + @@ -9270,24 +10293,6 @@ - - - - - - - - - - - - - - - - - - @@ -9324,6 +10329,15 @@ + + + + + + + + + @@ -9333,6 +10347,24 @@ + + + + + + + + + + + + + + + + + + @@ -9351,6 +10383,15 @@ + + + + + + + + + @@ -9360,6 +10401,24 @@ + + + + + + + + + + + + + + + + + + @@ -9369,15 +10428,6 @@ - - - - - - - - - @@ -9405,6 +10455,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9435,20 +10521,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -9462,20 +10557,38 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + @@ -9525,15 +10638,6 @@ - - - - - - - - - @@ -9912,6 +11016,15 @@ + + + + + + + + + @@ -10146,6 +11259,15 @@ + + + + + + + + + @@ -10203,24 +11325,6 @@ - - - - - - - - - - - - - - - - - - @@ -10230,6 +11334,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10239,6 +11370,15 @@ + + + + + + + + + @@ -10275,15 +11415,6 @@ - - - - - - - - - @@ -10659,11 +11790,11 @@ - + - + - + @@ -10731,6 +11862,15 @@ + + + + + + + + + @@ -10749,11 +11889,11 @@ - + - + - + @@ -10905,11 +12045,29 @@ - + - + - + + + + + + + + + + + + + + + + + + + @@ -10959,27 +12117,21 @@ - + - + - + - - - - + - + - + - - - @@ -11289,6 +12441,15 @@ + + + + + + + + + @@ -11325,6 +12486,24 @@ + + + + + + + + + + + + + + + + + + @@ -11334,6 +12513,15 @@ + + + + + + + + + @@ -11418,6 +12606,15 @@ + + + + + + + + + @@ -11823,6 +13020,15 @@ + + + + + + + + + @@ -11877,6 +13083,24 @@ + + + + + + + + + + + + + + + + + + @@ -11994,6 +13218,15 @@ + + + + + + + + + @@ -12021,20 +13254,11 @@ - + - + - - - - - - - - - - + @@ -12243,15 +13467,6 @@ - - - - - - - - - @@ -12612,6 +13827,15 @@ + + + + + + + + + @@ -12633,6 +13857,15 @@ + + + + + + + + + @@ -12798,6 +14031,15 @@ + + + + + + + + + @@ -12852,20 +14094,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -13110,6 +14361,24 @@ + + + + + + + + + + + + + + + + + + @@ -13173,6 +14442,24 @@ + + + + + + + + + + + + + + + + + + @@ -13272,6 +14559,15 @@ + + + + + + + + + @@ -13398,15 +14694,6 @@ - - - - - - - - - @@ -13434,6 +14721,15 @@ + + + type.]]> + + .]]> + + + + type. Did you mean to write 'Promise<{0}>'?]]> @@ -13461,11 +14757,20 @@ - + - + - + + + + + + + + + + @@ -13479,6 +14784,24 @@ + + + + + + + + + + + + + + + + + + @@ -13590,15 +14913,6 @@ - - - - - - - - - @@ -13680,6 +14994,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13698,6 +15048,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13752,6 +15138,15 @@ + + + + + + + + + @@ -13788,15 +15183,6 @@ - - - - - - - - - @@ -13806,6 +15192,24 @@ + + + + + + + + + + + + + + + + + + @@ -13914,6 +15318,15 @@ + + + + + + + + + @@ -13950,6 +15363,24 @@ + + + + + + + + + + + + + + + + + + @@ -14060,9 +15491,21 @@ - + - + + + + + + + + + + + + + @@ -14078,10 +15521,13 @@ - + - + + + + @@ -14133,15 +15579,6 @@ - - - - - - - - - @@ -14250,6 +15687,15 @@ + + + + + + + + + @@ -14277,11 +15723,11 @@ - + - + - + @@ -14358,6 +15804,15 @@ + + + + + + + + + @@ -14535,15 +15990,6 @@ - - - - - - - - - @@ -14580,6 +16026,15 @@ + + + + + + + + + @@ -14607,6 +16062,15 @@ + + + + + + + + + @@ -15015,6 +16479,24 @@ + + + + + + + + + + + + + + + + + + @@ -15087,6 +16569,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15141,6 +16677,15 @@ + + + + + + + + + @@ -15267,11 +16812,11 @@ - + - + - + @@ -15303,6 +16848,15 @@ + + + + + + + + + @@ -15330,6 +16884,15 @@ + + + + + + + + + @@ -15339,6 +16902,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15474,6 +17064,24 @@ + + + + + + + + + + + + + + + + + + @@ -15594,6 +17202,15 @@ + + + + + + + + + @@ -15621,6 +17238,15 @@ + + + + + + + + + @@ -15729,6 +17355,24 @@ + + + + + + + + + + + + + + + + + + @@ -15783,15 +17427,6 @@ - - - - - - - - - @@ -15837,6 +17472,15 @@ + + + + + + + + + @@ -15846,6 +17490,24 @@ + + + + + + + + + + + + + + + + + + @@ -15855,6 +17517,15 @@ + + + + + + + + + @@ -15927,11 +17598,11 @@ - + - + - + @@ -16137,6 +17808,15 @@ + + + + + + + + + @@ -16182,6 +17862,24 @@ + + + + + + + + + + + + + + + + + + @@ -16248,6 +17946,15 @@ + + + + + + + + + @@ -16314,20 +18021,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16443,6 +18186,15 @@ + + + + + + + + + @@ -16479,6 +18231,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16491,6 +18270,15 @@ + + + + + + + + + @@ -16518,27 +18306,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -16557,11 +18324,11 @@ - + - + - + @@ -16731,6 +18498,15 @@ + + + + + + + + + @@ -16785,11 +18561,11 @@ - + - + - + @@ -16920,6 +18696,15 @@ + + + + + + + + + @@ -16983,6 +18768,24 @@ + + + + + + + + + + + + + + + + + + @@ -17010,24 +18813,6 @@ - - - - - - - - - - - - - - - - - - @@ -17046,6 +18831,15 @@ + + + + + + + + + @@ -17184,15 +18978,6 @@ - - - - - - - - - @@ -17229,6 +19014,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl index 1c1c8f2b9c5..dbc2cb6a118 100644 --- a/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/jpn/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -48,6 +48,15 @@ + + + + + + + + + @@ -57,6 +66,15 @@ + + + + + + + + + @@ -102,6 +120,24 @@ + + + + + + + + + + + + + + + + + + @@ -120,6 +156,24 @@ + + + + + + + + + + + + + + + + + + @@ -279,6 +333,15 @@ + + + + + + + + + @@ -342,15 +405,12 @@ - + - + - + - - - @@ -393,11 +453,11 @@ - + - + - + @@ -564,15 +624,6 @@ - - - - - - - - - @@ -882,6 +933,15 @@ + + + + + + + + + @@ -1017,6 +1077,15 @@ + + + + + + + + + @@ -1071,6 +1140,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1134,6 +1275,15 @@ + + + + + + + + + @@ -1161,6 +1311,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1326,6 +1503,15 @@ + + + + + + + + + @@ -1362,6 +1548,24 @@ + + + + + + + + + + + + + + + + + + @@ -1401,6 +1605,24 @@ + + + + + + + + + + + + + + + + + + @@ -1437,6 +1659,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1662,6 +1911,15 @@ + + + + + + + + + @@ -1797,15 +2055,12 @@ - + - + - + - - - @@ -1938,6 +2193,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1995,6 +2286,15 @@ + + + + + + + + + @@ -2031,11 +2331,11 @@ - + - + - + @@ -2157,11 +2457,11 @@ - + - + - + @@ -2229,6 +2529,15 @@ + + + + + + + + + @@ -2283,6 +2592,15 @@ + + + + + + + + + @@ -2301,6 +2619,24 @@ + + + + + + + + + + + + + + + + + + @@ -2376,6 +2712,15 @@ + + + + + + + + + @@ -2394,6 +2739,15 @@ + + + + + + + + + @@ -2403,6 +2757,15 @@ + + + + + + + + + @@ -2430,15 +2793,6 @@ - - - - - - - - - @@ -2520,6 +2874,15 @@ + + + + + + + + + @@ -2577,6 +2940,15 @@ + + + + + + + + + @@ -2643,15 +3015,6 @@ - - - - - - - - - @@ -2679,11 +3042,11 @@ - + - + - + @@ -2697,11 +3060,20 @@ - + - + - + + + + + + + + + + @@ -2946,11 +3318,11 @@ - + - + - + @@ -3033,6 +3405,24 @@ + + + + + + + + + + + + + + + + + + @@ -3213,11 +3603,20 @@ - + - + - + + + + + + + + + + @@ -3282,15 +3681,6 @@ - - - - - - - - - @@ -3300,11 +3690,11 @@ - + - + - + @@ -3462,6 +3852,15 @@ + + + + + + + + + @@ -3621,6 +4020,15 @@ + + + + + + + + + @@ -3705,6 +4113,15 @@ + + + + + + + + + @@ -3828,6 +4245,15 @@ + + + + + + + + + @@ -3837,6 +4263,15 @@ + + + + + + + + + @@ -3855,11 +4290,11 @@ - + - + - + @@ -4035,15 +4470,6 @@ - - - - - - - - - @@ -4107,6 +4533,15 @@ + + + + + + + + + @@ -4323,11 +4758,11 @@ - + - + - + @@ -4458,6 +4893,15 @@ + + + + + + + + + @@ -4515,6 +4959,24 @@ + + + + + + + + + + + + + + + + + + @@ -4524,6 +4986,15 @@ + + + + + + + + + @@ -4542,6 +5013,15 @@ + + + + + + + + + @@ -4571,10 +5051,13 @@ - + + + + @@ -4689,6 +5172,15 @@ + + + + + + + + + @@ -4707,11 +5199,11 @@ - + - + - + @@ -4743,6 +5235,15 @@ + + + + + + + + + @@ -5037,6 +5538,15 @@ + + + + + + + + + @@ -5301,6 +5811,15 @@ + + + + + + + + + @@ -5430,6 +5949,15 @@ + + + + + + + + + @@ -5451,20 +5979,47 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5715,11 +6270,20 @@ - + - + - + + + + + + + + + + @@ -5895,6 +6459,15 @@ + + + + + + + + + @@ -5967,6 +6540,24 @@ + + + + + + + + + + + + + + + + + + @@ -5988,15 +6579,6 @@ - - - - - - - - - @@ -6006,6 +6588,15 @@ + + + + + + + + + @@ -6015,6 +6606,15 @@ + + + + + + + + + @@ -6024,6 +6624,15 @@ + + + + + + + + + @@ -6078,6 +6687,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6123,18 +6777,6 @@ - - - - - - - - - - - - @@ -6282,6 +6924,15 @@ + + + + + + + + + @@ -6336,6 +6987,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6345,6 +7041,15 @@ + + + + + + + + + @@ -6408,6 +7113,15 @@ + + + + + + + + + @@ -6435,11 +7149,20 @@ - + - + - + + + + + + + + + + @@ -6471,15 +7194,6 @@ - - - - - - - - - @@ -6489,6 +7203,15 @@ + + + + + + + + + @@ -6498,15 +7221,6 @@ - - - - - - - - - @@ -6561,6 +7275,15 @@ + + + + + + + + + @@ -6735,6 +7458,15 @@ + + + + + + + + + @@ -6819,11 +7551,11 @@ - + - + - + @@ -6882,11 +7614,11 @@ - + - + - + @@ -6900,29 +7632,38 @@ - + - + - + - + - + - + - + - + - + + + + + + + + + + @@ -6972,6 +7713,15 @@ + + + + + + + + + @@ -7293,6 +8043,15 @@ + + + + + + + + + @@ -7398,6 +8157,24 @@ + + + + + + + + + + + + + + + + + + @@ -7416,20 +8193,20 @@ - + - + - + - + - + - + @@ -7452,6 +8229,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7665,6 +8478,15 @@ + + + + + + + + + @@ -7743,6 +8565,15 @@ + + + + + + + + + @@ -7785,15 +8616,6 @@ - - - - - - - - - @@ -7812,6 +8634,15 @@ + + + + + + + + + @@ -7959,6 +8790,15 @@ + + + + + + + + + @@ -7986,6 +8826,15 @@ + + + + + + + + + @@ -8049,6 +8898,15 @@ + + + + + + + + + @@ -8094,6 +8952,15 @@ + + + + + + + + + @@ -8103,6 +8970,15 @@ + + + + + + + + + @@ -8376,20 +9252,20 @@ - + - + - + - + - + - + @@ -8478,6 +9354,15 @@ + + + + + + + + + @@ -8577,6 +9462,15 @@ + + + + + + + + + @@ -8718,15 +9612,6 @@ - - - - - - - - - @@ -8736,6 +9621,15 @@ + + + + + + + + + @@ -8838,6 +9732,15 @@ + + + + + + + + + @@ -8847,6 +9750,15 @@ + + + + + + + + + @@ -8883,6 +9795,24 @@ + + + + + + + + + + + + + + + + + + @@ -8919,6 +9849,24 @@ + + + + + + + + + + + + + + + + + + @@ -9020,9 +9968,30 @@ - + - + + + + + + + + + + + + + + + + + + + + + + @@ -9036,6 +10005,24 @@ + + + + + + + + + + + + + + + + + + @@ -9090,6 +10077,15 @@ + + + + + + + + + @@ -9171,6 +10167,24 @@ + + + + + + + + + + + + + + + + + + @@ -9180,38 +10194,38 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -9261,6 +10275,15 @@ + + + + + + + + + @@ -9270,24 +10293,6 @@ - - - - - - - - - - - - - - - - - - @@ -9324,6 +10329,15 @@ + + + + + + + + + @@ -9333,6 +10347,24 @@ + + + + + + + + + + + + + + + + + + @@ -9351,6 +10383,15 @@ + + + + + + + + + @@ -9360,6 +10401,24 @@ + + + + + + + + + + + + + + + + + + @@ -9369,15 +10428,6 @@ - - - - - - - - - @@ -9405,6 +10455,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9435,20 +10521,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -9462,20 +10557,38 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + @@ -9525,15 +10638,6 @@ - - - - - - - - - @@ -9912,6 +11016,15 @@ + + + + + + + + + @@ -10146,6 +11259,15 @@ + + + + + + + + + @@ -10203,24 +11325,6 @@ - - - - - - - - - - - - - - - - - - @@ -10230,6 +11334,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10239,6 +11370,15 @@ + + + + + + + + + @@ -10275,15 +11415,6 @@ - - - - - - - - - @@ -10659,11 +11790,11 @@ - + - + - + @@ -10731,6 +11862,15 @@ + + + + + + + + + @@ -10749,11 +11889,11 @@ - + - + - + @@ -10905,11 +12045,29 @@ - + - + - + + + + + + + + + + + + + + + + + + + @@ -10959,27 +12117,21 @@ - + - + - + - - - - + - + - + - - - @@ -11289,6 +12441,15 @@ + + + + + + + + + @@ -11325,6 +12486,24 @@ + + + + + + + + + + + + + + + + + + @@ -11334,6 +12513,15 @@ + + + + + + + + + @@ -11418,6 +12606,15 @@ + + + + + + + + + @@ -11823,6 +13020,15 @@ + + + + + + + + + @@ -11877,6 +13083,24 @@ + + + + + + + + + + + + + + + + + + @@ -11994,6 +13218,15 @@ + + + + + + + + + @@ -12021,20 +13254,11 @@ - + - + - - - - - - - - - - + @@ -12243,15 +13467,6 @@ - - - - - - - - - @@ -12612,6 +13827,15 @@ + + + + + + + + + @@ -12633,6 +13857,15 @@ + + + + + + + + + @@ -12798,6 +14031,15 @@ + + + + + + + + + @@ -12852,20 +14094,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -13110,6 +14361,24 @@ + + + + + + + + + + + + + + + + + + @@ -13173,6 +14442,24 @@ + + + + + + + + + + + + + + + + + + @@ -13272,6 +14559,15 @@ + + + + + + + + + @@ -13398,15 +14694,6 @@ - - - - - - - - - @@ -13434,6 +14721,15 @@ + + + type.]]> + + 型である必要があります。]]> + + + + type. Did you mean to write 'Promise<{0}>'?]]> @@ -13461,11 +14757,20 @@ - + - + - + + + + + + + + + + @@ -13479,6 +14784,24 @@ + + + + + + + + + + + + + + + + + + @@ -13590,15 +14913,6 @@ - - - - - - - - - @@ -13680,6 +14994,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13698,6 +15048,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13752,6 +15138,15 @@ + + + + + + + + + @@ -13788,15 +15183,6 @@ - - - - - - - - - @@ -13806,6 +15192,24 @@ + + + + + + + + + + + + + + + + + + @@ -13914,6 +15318,15 @@ + + + + + + + + + @@ -13950,6 +15363,24 @@ + + + + + + + + + + + + + + + + + + @@ -14060,9 +15491,21 @@ - + - + + + + + + + + + + + + + @@ -14078,10 +15521,13 @@ - + - + + + + @@ -14133,15 +15579,6 @@ - - - - - - - - - @@ -14250,6 +15687,15 @@ + + + + + + + + + @@ -14277,11 +15723,11 @@ - + - + - + @@ -14358,6 +15804,15 @@ + + + + + + + + + @@ -14535,15 +15990,6 @@ - - - - - - - - - @@ -14580,6 +16026,15 @@ + + + + + + + + + @@ -14607,6 +16062,15 @@ + + + + + + + + + @@ -15015,6 +16479,24 @@ + + + + + + + + + + + + + + + + + + @@ -15087,6 +16569,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15141,6 +16677,15 @@ + + + + + + + + + @@ -15267,11 +16812,11 @@ - + - + - + @@ -15303,6 +16848,15 @@ + + + + + + + + + @@ -15330,6 +16884,15 @@ + + + + + + + + + @@ -15339,6 +16902,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15474,6 +17064,24 @@ + + + + + + + + + + + + + + + + + + @@ -15594,6 +17202,15 @@ + + + + + + + + + @@ -15621,6 +17238,15 @@ + + + + + + + + + @@ -15729,6 +17355,24 @@ + + + + + + + + + + + + + + + + + + @@ -15783,15 +17427,6 @@ - - - - - - - - - @@ -15837,6 +17472,15 @@ + + + + + + + + + @@ -15846,6 +17490,24 @@ + + + + + + + + + + + + + + + + + + @@ -15855,6 +17517,15 @@ + + + + + + + + + @@ -15927,11 +17598,11 @@ - + - + - + @@ -16137,6 +17808,15 @@ + + + + + + + + + @@ -16182,6 +17862,24 @@ + + + + + + + + + + + + + + + + + + @@ -16248,6 +17946,15 @@ + + + + + + + + + @@ -16314,20 +18021,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16443,6 +18186,15 @@ + + + + + + + + + @@ -16479,6 +18231,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16491,6 +18270,15 @@ + + + + + + + + + @@ -16518,27 +18306,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -16557,11 +18324,11 @@ - + - + - + @@ -16731,6 +18498,15 @@ + + + + + + + + + @@ -16785,11 +18561,11 @@ - + - + - + @@ -16920,6 +18696,15 @@ + + + + + + + + + @@ -16983,6 +18768,24 @@ + + + + + + + + + + + + + + + + + + @@ -17010,24 +18813,6 @@ - - - - - - - - - - - - - - - - - - @@ -17046,6 +18831,15 @@ + + + + + + + + + @@ -17184,15 +18978,6 @@ - - - - - - - - - @@ -17229,6 +19014,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl index bf30af5f1d1..bfee618554c 100644 --- a/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/kor/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -48,6 +48,15 @@ + + + + + + + + + @@ -57,6 +66,15 @@ + + + + + + + + + @@ -102,6 +120,24 @@ + + + + + + + + + + + + + + + + + + @@ -120,6 +156,24 @@ + + + + + + + + + + + + + + + + + + @@ -279,6 +333,15 @@ + + + + + + + + + @@ -342,15 +405,12 @@ - + - + - + - - - @@ -393,11 +453,11 @@ - + - + - + @@ -564,15 +624,6 @@ - - - - - - - - - @@ -882,6 +933,15 @@ + + + + + + + + + @@ -1017,6 +1077,15 @@ + + + + + + + + + @@ -1071,6 +1140,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1134,6 +1275,15 @@ + + + + + + + + + @@ -1161,6 +1311,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1326,6 +1503,15 @@ + + + + + + + + + @@ -1362,6 +1548,24 @@ + + + + + + + + + + + + + + + + + + @@ -1401,6 +1605,24 @@ + + + + + + + + + + + + + + + + + + @@ -1437,6 +1659,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1662,6 +1911,15 @@ + + + + + + + + + @@ -1797,15 +2055,12 @@ - + - + - + - - - @@ -1938,6 +2193,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1995,6 +2286,15 @@ + + + + + + + + + @@ -2031,11 +2331,11 @@ - + - + - + @@ -2157,11 +2457,11 @@ - + - + - + @@ -2229,6 +2529,15 @@ + + + + + + + + + @@ -2283,6 +2592,15 @@ + + + + + + + + + @@ -2301,6 +2619,24 @@ + + + + + + + + + + + + + + + + + + @@ -2376,6 +2712,15 @@ + + + + + + + + + @@ -2394,6 +2739,15 @@ + + + + + + + + + @@ -2403,6 +2757,15 @@ + + + + + + + + + @@ -2430,15 +2793,6 @@ - - - - - - - - - @@ -2520,6 +2874,15 @@ + + + + + + + + + @@ -2577,6 +2940,15 @@ + + + + + + + + + @@ -2643,15 +3015,6 @@ - - - - - - - - - @@ -2679,11 +3042,11 @@ - + - + - + @@ -2697,11 +3060,20 @@ - + - + - + + + + + + + + + + @@ -2946,11 +3318,11 @@ - + - + - + @@ -3033,6 +3405,24 @@ + + + + + + + + + + + + + + + + + + @@ -3213,11 +3603,20 @@ - + - + - + + + + + + + + + + @@ -3282,15 +3681,6 @@ - - - - - - - - - @@ -3300,11 +3690,11 @@ - + - + - + @@ -3462,6 +3852,15 @@ + + + + + + + + + @@ -3621,6 +4020,15 @@ + + + + + + + + + @@ -3705,6 +4113,15 @@ + + + + + + + + + @@ -3828,6 +4245,15 @@ + + + + + + + + + @@ -3837,6 +4263,15 @@ + + + + + + + + + @@ -3855,11 +4290,11 @@ - + - + - + @@ -4035,15 +4470,6 @@ - - - - - - - - - @@ -4107,6 +4533,15 @@ + + + + + + + + + @@ -4323,11 +4758,11 @@ - + - + - + @@ -4458,6 +4893,15 @@ + + + + + + + + + @@ -4515,6 +4959,24 @@ + + + + + + + + + + + + + + + + + + @@ -4524,6 +4986,15 @@ + + + + + + + + + @@ -4542,6 +5013,15 @@ + + + + + + + + + @@ -4571,10 +5051,13 @@ - + + + + @@ -4689,6 +5172,15 @@ + + + + + + + + + @@ -4707,11 +5199,11 @@ - + - + - + @@ -4743,6 +5235,15 @@ + + + + + + + + + @@ -5037,6 +5538,15 @@ + + + + + + + + + @@ -5301,6 +5811,15 @@ + + + + + + + + + @@ -5430,6 +5949,15 @@ + + + + + + + + + @@ -5451,20 +5979,47 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5715,11 +6270,20 @@ - + - + - + + + + + + + + + + @@ -5895,6 +6459,15 @@ + + + + + + + + + @@ -5967,6 +6540,24 @@ + + + + + + + + + + + + + + + + + + @@ -5988,15 +6579,6 @@ - - - - - - - - - @@ -6006,6 +6588,15 @@ + + + + + + + + + @@ -6015,6 +6606,15 @@ + + + + + + + + + @@ -6024,6 +6624,15 @@ + + + + + + + + + @@ -6078,6 +6687,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6123,18 +6777,6 @@ - - - - - - - - - - - - @@ -6282,6 +6924,15 @@ + + + + + + + + + @@ -6336,6 +6987,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6345,6 +7041,15 @@ + + + + + + + + + @@ -6408,6 +7113,15 @@ + + + + + + + + + @@ -6435,11 +7149,20 @@ - + - + - + + + + + + + + + + @@ -6471,15 +7194,6 @@ - - - - - - - - - @@ -6489,6 +7203,15 @@ + + + + + + + + + @@ -6498,15 +7221,6 @@ - - - - - - - - - @@ -6561,6 +7275,15 @@ + + + + + + + + + @@ -6735,6 +7458,15 @@ + + + + + + + + + @@ -6819,11 +7551,11 @@ - + - + - + @@ -6882,11 +7614,11 @@ - + - + - + @@ -6900,29 +7632,38 @@ - + - + - + - + - + - + - + - + - + + + + + + + + + + @@ -6972,6 +7713,15 @@ + + + + + + + + + @@ -7293,6 +8043,15 @@ + + + + + + + + + @@ -7398,6 +8157,24 @@ + + + + + + + + + + + + + + + + + + @@ -7416,20 +8193,20 @@ - + - + - + - + - + - + @@ -7452,6 +8229,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7665,6 +8478,15 @@ + + + + + + + + + @@ -7743,6 +8565,15 @@ + + + + + + + + + @@ -7785,15 +8616,6 @@ - - - - - - - - - @@ -7812,6 +8634,15 @@ + + + + + + + + + @@ -7959,6 +8790,15 @@ + + + + + + + + + @@ -7986,6 +8826,15 @@ + + + + + + + + + @@ -8049,6 +8898,15 @@ + + + + + + + + + @@ -8094,6 +8952,15 @@ + + + + + + + + + @@ -8103,6 +8970,15 @@ + + + + + + + + + @@ -8376,18 +9252,18 @@ - + - + - + - + @@ -8478,6 +9354,15 @@ + + + + + + + + + @@ -8577,6 +9462,15 @@ + + + + + + + + + @@ -8718,15 +9612,6 @@ - - - - - - - - - @@ -8736,6 +9621,15 @@ + + + + + + + + + @@ -8838,6 +9732,15 @@ + + + + + + + + + @@ -8847,6 +9750,15 @@ + + + + + + + + + @@ -8883,6 +9795,24 @@ + + + + + + + + + + + + + + + + + + @@ -8919,6 +9849,24 @@ + + + + + + + + + + + + + + + + + + @@ -9020,9 +9968,30 @@ - + - + + + + + + + + + + + + + + + + + + + + + + @@ -9036,6 +10005,24 @@ + + + + + + + + + + + + + + + + + + @@ -9090,6 +10077,15 @@ + + + + + + + + + @@ -9171,6 +10167,24 @@ + + + + + + + + + + + + + + + + + + @@ -9180,38 +10194,38 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -9261,6 +10275,15 @@ + + + + + + + + + @@ -9270,24 +10293,6 @@ - - - - - - - - - - - - - - - - - - @@ -9324,6 +10329,15 @@ + + + + + + + + + @@ -9333,6 +10347,24 @@ + + + + + + + + + + + + + + + + + + @@ -9351,6 +10383,15 @@ + + + + + + + + + @@ -9360,6 +10401,24 @@ + + + + + + + + + + + + + + + + + + @@ -9369,15 +10428,6 @@ - - - - - - - - - @@ -9405,6 +10455,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9435,20 +10521,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -9462,20 +10557,38 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + @@ -9525,15 +10638,6 @@ - - - - - - - - - @@ -9912,6 +11016,15 @@ + + + + + + + + + @@ -10146,6 +11259,15 @@ + + + + + + + + + @@ -10203,24 +11325,6 @@ - - - - - - - - - - - - - - - - - - @@ -10230,6 +11334,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10239,6 +11370,15 @@ + + + + + + + + + @@ -10275,15 +11415,6 @@ - - - - - - - - - @@ -10659,11 +11790,11 @@ - + - + - + @@ -10731,6 +11862,15 @@ + + + + + + + + + @@ -10749,11 +11889,11 @@ - + - + - + @@ -10905,11 +12045,29 @@ - + - + - + + + + + + + + + + + + + + + + + + + @@ -10959,27 +12117,21 @@ - + - + - + - - - - + - + - + - - - @@ -11289,6 +12441,15 @@ + + + + + + + + + @@ -11325,6 +12486,24 @@ + + + + + + + + + + + + + + + + + + @@ -11334,6 +12513,15 @@ + + + + + + + + + @@ -11418,6 +12606,15 @@ + + + + + + + + + @@ -11823,6 +13020,15 @@ + + + + + + + + + @@ -11877,6 +13083,24 @@ + + + + + + + + + + + + + + + + + + @@ -11994,6 +13218,15 @@ + + + + + + + + + @@ -12021,20 +13254,11 @@ - + - + - - - - - - - - - - + @@ -12243,15 +13467,6 @@ - - - - - - - - - @@ -12612,6 +13827,15 @@ + + + + + + + + + @@ -12633,6 +13857,15 @@ + + + + + + + + + @@ -12798,6 +14031,15 @@ + + + + + + + + + @@ -12852,20 +14094,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -13110,6 +14361,24 @@ + + + + + + + + + + + + + + + + + + @@ -13173,6 +14442,24 @@ + + + + + + + + + + + + + + + + + + @@ -13272,6 +14559,15 @@ + + + + + + + + + @@ -13398,15 +14694,6 @@ - - - - - - - - - @@ -13434,6 +14721,15 @@ + + + type.]]> + + 형식이어야 합니다.]]> + + + + type. Did you mean to write 'Promise<{0}>'?]]> @@ -13461,11 +14757,20 @@ - + - + - + + + + + + + + + + @@ -13479,6 +14784,24 @@ + + + + + + + + + + + + + + + + + + @@ -13590,15 +14913,6 @@ - - - - - - - - - @@ -13680,6 +14994,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13698,6 +15048,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13752,6 +15138,15 @@ + + + + + + + + + @@ -13788,15 +15183,6 @@ - - - - - - - - - @@ -13806,6 +15192,24 @@ + + + + + + + + + + + + + + + + + + @@ -13914,6 +15318,15 @@ + + + + + + + + + @@ -13950,6 +15363,24 @@ + + + + + + + + + + + + + + + + + + @@ -14060,9 +15491,21 @@ - + - + + + + + + + + + + + + + @@ -14078,10 +15521,13 @@ - + - + + + + @@ -14133,15 +15579,6 @@ - - - - - - - - - @@ -14250,6 +15687,15 @@ + + + + + + + + + @@ -14277,11 +15723,11 @@ - + - + - + @@ -14358,6 +15804,15 @@ + + + + + + + + + @@ -14535,15 +15990,6 @@ - - - - - - - - - @@ -14580,6 +16026,15 @@ + + + + + + + + + @@ -14607,6 +16062,15 @@ + + + + + + + + + @@ -15015,6 +16479,24 @@ + + + + + + + + + + + + + + + + + + @@ -15087,6 +16569,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15141,6 +16677,15 @@ + + + + + + + + + @@ -15267,11 +16812,11 @@ - + - + - + @@ -15303,6 +16848,15 @@ + + + + + + + + + @@ -15330,6 +16884,15 @@ + + + + + + + + + @@ -15339,6 +16902,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15474,6 +17064,24 @@ + + + + + + + + + + + + + + + + + + @@ -15594,6 +17202,15 @@ + + + + + + + + + @@ -15621,6 +17238,15 @@ + + + + + + + + + @@ -15729,6 +17355,24 @@ + + + + + + + + + + + + + + + + + + @@ -15783,15 +17427,6 @@ - - - - - - - - - @@ -15837,6 +17472,15 @@ + + + + + + + + + @@ -15846,6 +17490,24 @@ + + + + + + + + + + + + + + + + + + @@ -15855,6 +17517,15 @@ + + + + + + + + + @@ -15927,11 +17598,11 @@ - + - + - + @@ -16137,6 +17808,15 @@ + + + + + + + + + @@ -16182,6 +17862,24 @@ + + + + + + + + + + + + + + + + + + @@ -16248,6 +17946,15 @@ + + + + + + + + + @@ -16314,20 +18021,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16443,6 +18186,15 @@ + + + + + + + + + @@ -16479,6 +18231,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16491,6 +18270,15 @@ + + + + + + + + + @@ -16518,27 +18306,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -16557,11 +18324,11 @@ - + - + - + @@ -16731,6 +18498,15 @@ + + + + + + + + + @@ -16785,11 +18561,11 @@ - + - + - + @@ -16920,6 +18696,15 @@ + + + + + + + + + @@ -16983,6 +18768,24 @@ + + + + + + + + + + + + + + + + + + @@ -17010,24 +18813,6 @@ - - - - - - - - - - - - - - - - - - @@ -17046,6 +18831,15 @@ + + + + + + + + + @@ -17184,15 +18978,6 @@ - - - - - - - - - @@ -17229,6 +19014,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl index 8ed5005ebc7..67405dd05ae 100644 --- a/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/plk/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -41,6 +41,15 @@ + + + + + + + + + @@ -50,6 +59,15 @@ + + + + + + + + + @@ -95,6 +113,24 @@ + + + + + + + + + + + + + + + + + + @@ -113,6 +149,24 @@ + + + + + + + + + + + + + + + + + + @@ -272,6 +326,15 @@ + + + + + + + + + @@ -335,15 +398,12 @@ - + - + - + - - - @@ -386,11 +446,11 @@ - + - + - + @@ -557,15 +617,6 @@ - - - - - - - - - @@ -872,6 +923,15 @@ + + + + + + + + + @@ -1007,6 +1067,15 @@ + + + + + + + + + @@ -1061,6 +1130,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1124,6 +1265,15 @@ + + + + + + + + + @@ -1151,6 +1301,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1316,6 +1493,15 @@ + + + + + + + + + @@ -1352,6 +1538,24 @@ + + + + + + + + + + + + + + + + + + @@ -1391,6 +1595,24 @@ + + + + + + + + + + + + + + + + + + @@ -1427,6 +1649,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1652,6 +1901,15 @@ + + + + + + + + + @@ -1787,15 +2045,12 @@ - + - + - + - - - @@ -1928,6 +2183,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1985,6 +2276,15 @@ + + + + + + + + + @@ -2021,11 +2321,11 @@ - + - + - + @@ -2147,11 +2447,11 @@ - + - + - + @@ -2219,6 +2519,15 @@ + + + + + + + + + @@ -2273,6 +2582,15 @@ + + + + + + + + + @@ -2291,6 +2609,24 @@ + + + + + + + + + + + + + + + + + + @@ -2366,6 +2702,15 @@ + + + + + + + + + @@ -2384,6 +2729,15 @@ + + + + + + + + + @@ -2393,6 +2747,15 @@ + + + + + + + + + @@ -2420,15 +2783,6 @@ - - - - - - - - - @@ -2510,6 +2864,15 @@ + + + + + + + + + @@ -2567,6 +2930,15 @@ + + + + + + + + + @@ -2633,15 +3005,6 @@ - - - - - - - - - @@ -2669,11 +3032,11 @@ - + - + - + @@ -2687,11 +3050,20 @@ - + - + - + + + + + + + + + + @@ -2936,11 +3308,11 @@ - + - + - + @@ -3023,6 +3395,24 @@ + + + + + + + + + + + + + + + + + + @@ -3203,11 +3593,20 @@ - + - + - + + + + + + + + + + @@ -3272,15 +3671,6 @@ - - - - - - - - - @@ -3290,11 +3680,11 @@ - + - + - + @@ -3452,6 +3842,15 @@ + + + + + + + + + @@ -3611,6 +4010,15 @@ + + + + + + + + + @@ -3695,6 +4103,15 @@ + + + + + + + + + @@ -3818,6 +4235,15 @@ + + + + + + + + + @@ -3827,6 +4253,15 @@ + + + + + + + + + @@ -3845,11 +4280,11 @@ - + - + - + @@ -4025,15 +4460,6 @@ - - - - - - - - - @@ -4097,6 +4523,15 @@ + + + + + + + + + @@ -4313,11 +4748,11 @@ - + - + - + @@ -4448,6 +4883,15 @@ + + + + + + + + + @@ -4505,6 +4949,24 @@ + + + + + + + + + + + + + + + + + + @@ -4514,6 +4976,15 @@ + + + + + + + + + @@ -4532,6 +5003,15 @@ + + + + + + + + + @@ -4561,10 +5041,13 @@ - + + + + @@ -4679,6 +5162,15 @@ + + + + + + + + + @@ -4697,11 +5189,11 @@ - + - + - + @@ -4733,6 +5225,15 @@ + + + + + + + + + @@ -5027,6 +5528,15 @@ + + + + + + + + + @@ -5291,6 +5801,15 @@ + + + + + + + + + @@ -5420,6 +5939,15 @@ + + + + + + + + + @@ -5441,20 +5969,47 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5705,11 +6260,20 @@ - + - + - + + + + + + + + + + @@ -5885,6 +6449,15 @@ + + + + + + + + + @@ -5957,6 +6530,24 @@ + + + + + + + + + + + + + + + + + + @@ -5978,15 +6569,6 @@ - - - - - - - - - @@ -5996,6 +6578,15 @@ + + + + + + + + + @@ -6005,6 +6596,15 @@ + + + + + + + + + @@ -6014,6 +6614,15 @@ + + + + + + + + + @@ -6068,6 +6677,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6113,18 +6767,6 @@ - - - - - - - - - - - - @@ -6272,6 +6914,15 @@ + + + + + + + + + @@ -6326,6 +6977,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6335,6 +7031,15 @@ + + + + + + + + + @@ -6398,6 +7103,15 @@ + + + + + + + + + @@ -6425,11 +7139,20 @@ - + - + - + + + + + + + + + + @@ -6461,15 +7184,6 @@ - - - - - - - - - @@ -6479,6 +7193,15 @@ + + + + + + + + + @@ -6488,15 +7211,6 @@ - - - - - - - - - @@ -6551,6 +7265,15 @@ + + + + + + + + + @@ -6725,6 +7448,15 @@ + + + + + + + + + @@ -6809,11 +7541,11 @@ - + - + - + @@ -6872,11 +7604,11 @@ - + - + - + @@ -6890,29 +7622,38 @@ - + - + - + - + - + - + - + - + - + + + + + + + + + + @@ -6962,6 +7703,15 @@ + + + + + + + + + @@ -7283,6 +8033,15 @@ + + + + + + + + + @@ -7388,6 +8147,24 @@ + + + + + + + + + + + + + + + + + + @@ -7406,20 +8183,20 @@ - + - + - + - + - + - + @@ -7442,6 +8219,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7655,6 +8468,15 @@ + + + + + + + + + @@ -7733,6 +8555,15 @@ + + + + + + + + + @@ -7775,15 +8606,6 @@ - - - - - - - - - @@ -7802,6 +8624,15 @@ + + + + + + + + + @@ -7949,6 +8780,15 @@ + + + + + + + + + @@ -7976,6 +8816,15 @@ + + + + + + + + + @@ -8039,6 +8888,15 @@ + + + + + + + + + @@ -8084,6 +8942,15 @@ + + + + + + + + + @@ -8093,6 +8960,15 @@ + + + + + + + + + @@ -8366,18 +9242,18 @@ - + - + - + - + @@ -8468,6 +9344,15 @@ + + + + + + + + + @@ -8567,6 +9452,15 @@ + + + + + + + + + @@ -8708,15 +9602,6 @@ - - - - - - - - - @@ -8726,6 +9611,15 @@ + + + + + + + + + @@ -8828,6 +9722,15 @@ + + + + + + + + + @@ -8837,6 +9740,15 @@ + + + + + + + + + @@ -8873,6 +9785,24 @@ + + + + + + + + + + + + + + + + + + @@ -8909,6 +9839,24 @@ + + + + + + + + + + + + + + + + + + @@ -9010,10 +9958,31 @@ - + + + + + + + + + + + + + + + + + + + + + + @@ -9026,6 +9995,24 @@ + + + + + + + + + + + + + + + + + + @@ -9080,6 +10067,15 @@ + + + + + + + + + @@ -9161,6 +10157,24 @@ + + + + + + + + + + + + + + + + + + @@ -9170,38 +10184,38 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -9251,6 +10265,15 @@ + + + + + + + + + @@ -9260,24 +10283,6 @@ - - - - - - - - - - - - - - - - - - @@ -9314,6 +10319,15 @@ + + + + + + + + + @@ -9323,6 +10337,24 @@ + + + + + + + + + + + + + + + + + + @@ -9341,6 +10373,15 @@ + + + + + + + + + @@ -9350,6 +10391,24 @@ + + + + + + + + + + + + + + + + + + @@ -9359,15 +10418,6 @@ - - - - - - - - - @@ -9395,6 +10445,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9425,20 +10511,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -9452,20 +10547,38 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + @@ -9515,15 +10628,6 @@ - - - - - - - - - @@ -9902,6 +11006,15 @@ + + + + + + + + + @@ -10133,6 +11246,15 @@ + + + + + + + + + @@ -10190,24 +11312,6 @@ - - - - - - - - - - - - - - - - - - @@ -10217,6 +11321,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10226,6 +11357,15 @@ + + + + + + + + + @@ -10262,15 +11402,6 @@ - - - - - - - - - @@ -10646,11 +11777,11 @@ - + - + - + @@ -10718,6 +11849,15 @@ + + + + + + + + + @@ -10736,11 +11876,11 @@ - + - + - + @@ -10892,11 +12032,29 @@ - + - + - + + + + + + + + + + + + + + + + + + + @@ -10946,27 +12104,21 @@ - + - + - + - - - - + - + - + - - - @@ -11276,6 +12428,15 @@ + + + + + + + + + @@ -11312,6 +12473,24 @@ + + + + + + + + + + + + + + + + + + @@ -11321,6 +12500,15 @@ + + + + + + + + + @@ -11405,6 +12593,15 @@ + + + + + + + + + @@ -11810,6 +13007,15 @@ + + + + + + + + + @@ -11864,6 +13070,24 @@ + + + + + + + + + + + + + + + + + + @@ -11981,6 +13205,15 @@ + + + + + + + + + @@ -12008,20 +13241,11 @@ - + - + - - - - - - - - - - + @@ -12230,15 +13454,6 @@ - - - - - - - - - @@ -12599,6 +13814,15 @@ + + + + + + + + + @@ -12620,6 +13844,15 @@ + + + + + + + + + @@ -12785,6 +14018,15 @@ + + + + + + + + + @@ -12839,20 +14081,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -13097,6 +14348,24 @@ + + + + + + + + + + + + + + + + + + @@ -13160,6 +14429,24 @@ + + + + + + + + + + + + + + + + + + @@ -13259,6 +14546,15 @@ + + + + + + + + + @@ -13385,15 +14681,6 @@ - - - - - - - - - @@ -13421,6 +14708,15 @@ + + + type.]]> + + .]]> + + + + type. Did you mean to write 'Promise<{0}>'?]]> @@ -13448,11 +14744,20 @@ - + - + - + + + + + + + + + + @@ -13466,6 +14771,24 @@ + + + + + + + + + + + + + + + + + + @@ -13577,15 +14900,6 @@ - - - - - - - - - @@ -13667,6 +14981,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13685,6 +15035,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13739,6 +15125,15 @@ + + + + + + + + + @@ -13775,15 +15170,6 @@ - - - - - - - - - @@ -13793,6 +15179,24 @@ + + + + + + + + + + + + + + + + + + @@ -13901,6 +15305,15 @@ + + + + + + + + + @@ -13937,6 +15350,24 @@ + + + + + + + + + + + + + + + + + + @@ -14047,9 +15478,21 @@ - + - + + + + + + + + + + + + + @@ -14065,10 +15508,13 @@ - + - + + + + @@ -14120,15 +15566,6 @@ - - - - - - - - - @@ -14237,6 +15674,15 @@ + + + + + + + + + @@ -14264,11 +15710,11 @@ - + - + - + @@ -14345,6 +15791,15 @@ + + + + + + + + + @@ -14522,15 +15977,6 @@ - - - - - - - - - @@ -14567,6 +16013,15 @@ + + + + + + + + + @@ -14594,6 +16049,15 @@ + + + + + + + + + @@ -15002,6 +16466,24 @@ + + + + + + + + + + + + + + + + + + @@ -15074,6 +16556,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15128,6 +16664,15 @@ + + + + + + + + + @@ -15254,11 +16799,11 @@ - + - + - + @@ -15290,6 +16835,15 @@ + + + + + + + + + @@ -15317,6 +16871,15 @@ + + + + + + + + + @@ -15326,6 +16889,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15461,6 +17051,24 @@ + + + + + + + + + + + + + + + + + + @@ -15581,6 +17189,15 @@ + + + + + + + + + @@ -15608,6 +17225,15 @@ + + + + + + + + + @@ -15716,6 +17342,24 @@ + + + + + + + + + + + + + + + + + + @@ -15770,15 +17414,6 @@ - - - - - - - - - @@ -15824,6 +17459,15 @@ + + + + + + + + + @@ -15833,6 +17477,24 @@ + + + + + + + + + + + + + + + + + + @@ -15842,6 +17504,15 @@ + + + + + + + + + @@ -15914,11 +17585,11 @@ - + - + - + @@ -16124,6 +17795,15 @@ + + + + + + + + + @@ -16169,6 +17849,24 @@ + + + + + + + + + + + + + + + + + + @@ -16235,6 +17933,15 @@ + + + + + + + + + @@ -16301,20 +18008,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16430,6 +18173,15 @@ + + + + + + + + + @@ -16466,6 +18218,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16478,6 +18257,15 @@ + + + + + + + + + @@ -16505,27 +18293,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -16544,11 +18311,11 @@ - + - + - + @@ -16718,6 +18485,15 @@ + + + + + + + + + @@ -16772,11 +18548,11 @@ - + - + - + @@ -16907,6 +18683,15 @@ + + + + + + + + + @@ -16970,6 +18755,24 @@ + + + + + + + + + + + + + + + + + + @@ -16997,24 +18800,6 @@ - - - - - - - - - - - - - - - - - - @@ -17033,6 +18818,15 @@ + + + + + + + + + @@ -17171,15 +18965,6 @@ - - - - - - - - - @@ -17216,6 +19001,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl index 58ec60b3c83..02808e593a6 100644 --- a/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/ptb/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -41,6 +41,15 @@ + + + + + + + + + @@ -50,6 +59,15 @@ + + + + + + + + + @@ -95,6 +113,24 @@ + + + + + + + + + + + + + + + + + + @@ -113,6 +149,24 @@ + + + + + + + + + + + + + + + + + + @@ -272,6 +326,15 @@ + + + + + + + + + @@ -335,15 +398,12 @@ - + - + - + - - - @@ -386,11 +446,11 @@ - + - + - + @@ -557,15 +617,6 @@ - - - - - - - - - @@ -872,6 +923,15 @@ + + + + + + + + + @@ -1007,6 +1067,15 @@ + + + + + + + + + @@ -1061,6 +1130,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1124,6 +1265,15 @@ + + + + + + + + + @@ -1151,6 +1301,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1316,6 +1493,15 @@ + + + + + + + + + @@ -1352,6 +1538,24 @@ + + + + + + + + + + + + + + + + + + @@ -1394,6 +1598,24 @@ + + + + + + + + + + + + + + + + + + @@ -1430,6 +1652,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1655,6 +1904,15 @@ + + + + + + + + + @@ -1790,15 +2048,12 @@ - + - + - + - - - @@ -1931,6 +2186,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1988,6 +2279,15 @@ + + + + + + + + + @@ -2024,11 +2324,11 @@ - + - + - + @@ -2150,11 +2450,11 @@ - + - + - + @@ -2222,6 +2522,15 @@ + + + + + + + + + @@ -2276,6 +2585,15 @@ + + + + + + + + + @@ -2294,6 +2612,24 @@ + + + + + + + + + + + + + + + + + + @@ -2369,6 +2705,15 @@ + + + + + + + + + @@ -2387,6 +2732,15 @@ + + + + + + + + + @@ -2396,6 +2750,15 @@ + + + + + + + + + @@ -2423,15 +2786,6 @@ - - - - - - - - - @@ -2513,6 +2867,15 @@ + + + + + + + + + @@ -2570,6 +2933,15 @@ + + + + + + + + + @@ -2636,15 +3008,6 @@ - - - - - - - - - @@ -2672,11 +3035,11 @@ - + - + - + @@ -2690,11 +3053,20 @@ - + - + - + + + + + + + + + + @@ -2939,11 +3311,11 @@ - + - + - + @@ -3026,6 +3398,24 @@ + + + + + + + + + + + + + + + + + + @@ -3206,11 +3596,20 @@ - + - + - + + + + + + + + + + @@ -3275,15 +3674,6 @@ - - - - - - - - - @@ -3293,11 +3683,11 @@ - + - + - + @@ -3455,6 +3845,15 @@ + + + + + + + + + @@ -3614,6 +4013,15 @@ + + + + + + + + + @@ -3698,6 +4106,15 @@ + + + + + + + + + @@ -3821,6 +4238,15 @@ + + + + + + + + + @@ -3830,6 +4256,15 @@ + + + + + + + + + @@ -3848,11 +4283,11 @@ - + - + - + @@ -4028,15 +4463,6 @@ - - - - - - - - - @@ -4100,6 +4526,15 @@ + + + + + + + + + @@ -4316,11 +4751,11 @@ - + - + - + @@ -4451,6 +4886,15 @@ + + + + + + + + + @@ -4508,6 +4952,24 @@ + + + + + + + + + + + + + + + + + + @@ -4517,6 +4979,15 @@ + + + + + + + + + @@ -4535,6 +5006,15 @@ + + + + + + + + + @@ -4564,10 +5044,13 @@ - + - + + + + @@ -4682,6 +5165,15 @@ + + + + + + + + + @@ -4700,11 +5192,11 @@ - + - + - + @@ -4736,6 +5228,15 @@ + + + + + + + + + @@ -5030,6 +5531,15 @@ + + + + + + + + + @@ -5294,6 +5804,15 @@ + + + + + + + + + @@ -5423,6 +5942,15 @@ + + + + + + + + + @@ -5444,20 +5972,47 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5708,11 +6263,20 @@ - + - + - + + + + + + + + + + @@ -5888,6 +6452,15 @@ + + + + + + + + + @@ -5960,6 +6533,24 @@ + + + + + + + + + + + + + + + + + + @@ -5981,15 +6572,6 @@ - - - - - - - - - @@ -5999,6 +6581,15 @@ + + + + + + + + + @@ -6008,6 +6599,15 @@ + + + + + + + + + @@ -6017,6 +6617,15 @@ + + + + + + + + + @@ -6071,6 +6680,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6116,18 +6770,6 @@ - - - - - - - - - - - - @@ -6275,6 +6917,15 @@ + + + + + + + + + @@ -6329,6 +6980,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6338,6 +7034,15 @@ + + + + + + + + + @@ -6401,6 +7106,15 @@ + + + + + + + + + @@ -6428,11 +7142,20 @@ - + - + - + + + + + + + + + + @@ -6464,15 +7187,6 @@ - - - - - - - - - @@ -6482,6 +7196,15 @@ + + + + + + + + + @@ -6491,15 +7214,6 @@ - - - - - - - - - @@ -6554,6 +7268,15 @@ + + + + + + + + + @@ -6728,6 +7451,15 @@ + + + + + + + + + @@ -6812,11 +7544,11 @@ - + - + - + @@ -6875,11 +7607,11 @@ - + - + - + @@ -6893,29 +7625,38 @@ - + - + - + - + - + - + - + - + - + + + + + + + + + + @@ -6965,6 +7706,15 @@ + + + + + + + + + @@ -7286,6 +8036,15 @@ + + + + + + + + + @@ -7391,6 +8150,24 @@ + + + + + + + + + + + + + + + + + + @@ -7409,20 +8186,20 @@ - + - + - + - + - + - + @@ -7445,6 +8222,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7658,6 +8471,15 @@ + + + + + + + + + @@ -7736,6 +8558,15 @@ + + + + + + + + + @@ -7778,15 +8609,6 @@ - - - - - - - - - @@ -7805,6 +8627,15 @@ + + + + + + + + + @@ -7952,6 +8783,15 @@ + + + + + + + + + @@ -7979,6 +8819,15 @@ + + + + + + + + + @@ -8042,6 +8891,15 @@ + + + + + + + + + @@ -8087,6 +8945,15 @@ + + + + + + + + + @@ -8096,6 +8963,15 @@ + + + + + + + + + @@ -8369,20 +9245,20 @@ - + - + - + - + - + @@ -8471,6 +9347,15 @@ + + + + + + + + + @@ -8570,6 +9455,15 @@ + + + + + + + + + @@ -8711,15 +9605,6 @@ - - - - - - - - - @@ -8729,6 +9614,15 @@ + + + + + + + + + @@ -8831,6 +9725,15 @@ + + + + + + + + + @@ -8840,6 +9743,15 @@ + + + + + + + + + @@ -8876,6 +9788,24 @@ + + + + + + + + + + + + + + + + + + @@ -8912,6 +9842,24 @@ + + + + + + + + + + + + + + + + + + @@ -9013,9 +9961,30 @@ - + - + + + + + + + + + + + + + + + + + + + + + + @@ -9029,6 +9998,24 @@ + + + + + + + + + + + + + + + + + + @@ -9083,6 +10070,15 @@ + + + + + + + + + @@ -9164,6 +10160,24 @@ + + + + + + + + + + + + + + + + + + @@ -9173,38 +10187,38 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -9254,6 +10268,15 @@ + + + + + + + + + @@ -9263,24 +10286,6 @@ - - - - - - - - - - - - - - - - - - @@ -9317,6 +10322,15 @@ + + + + + + + + + @@ -9326,6 +10340,24 @@ + + + + + + + + + + + + + + + + + + @@ -9344,6 +10376,15 @@ + + + + + + + + + @@ -9353,6 +10394,24 @@ + + + + + + + + + + + + + + + + + + @@ -9362,15 +10421,6 @@ - - - - - - - - - @@ -9398,6 +10448,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9428,20 +10514,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -9455,20 +10550,38 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + @@ -9518,15 +10631,6 @@ - - - - - - - - - @@ -9905,6 +11009,15 @@ + + + + + + + + + @@ -10136,6 +11249,15 @@ + + + + + + + + + @@ -10193,24 +11315,6 @@ - - - - - - - - - - - - - - - - - - @@ -10220,6 +11324,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10229,6 +11360,15 @@ + + + + + + + + + @@ -10265,15 +11405,6 @@ - - - - - - - - - @@ -10649,11 +11780,11 @@ - + - + - + @@ -10721,6 +11852,15 @@ + + + + + + + + + @@ -10739,11 +11879,11 @@ - + - + - + @@ -10895,11 +12035,29 @@ - + - + - + + + + + + + + + + + + + + + + + + + @@ -10949,27 +12107,21 @@ - + - + - + - - - - + - + - + - - - @@ -11279,6 +12431,15 @@ + + + + + + + + + @@ -11315,6 +12476,24 @@ + + + + + + + + + + + + + + + + + + @@ -11324,6 +12503,15 @@ + + + + + + + + + @@ -11408,6 +12596,15 @@ + + + + + + + + + @@ -11813,6 +13010,15 @@ + + + + + + + + + @@ -11867,6 +13073,24 @@ + + + + + + + + + + + + + + + + + + @@ -11984,6 +13208,15 @@ + + + + + + + + + @@ -12011,20 +13244,11 @@ - + - + - - - - - - - - - - + @@ -12233,15 +13457,6 @@ - - - - - - - - - @@ -12602,6 +13817,15 @@ + + + + + + + + + @@ -12623,6 +13847,15 @@ + + + + + + + + + @@ -12788,6 +14021,15 @@ + + + + + + + + + @@ -12842,20 +14084,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -13100,6 +14351,24 @@ + + + + + + + + + + + + + + + + + + @@ -13163,6 +14432,24 @@ + + + + + + + + + + + + + + + + + + @@ -13262,6 +14549,15 @@ + + + + + + + + + @@ -13388,15 +14684,6 @@ - - - - - - - - - @@ -13424,6 +14711,15 @@ + + + type.]]> + + Promessa global.]]> + + + + type. Did you mean to write 'Promise<{0}>'?]]> @@ -13451,11 +14747,20 @@ - + - + - + + + + + + + + + + @@ -13469,6 +14774,24 @@ + + + + + + + + + + + + + + + + + + @@ -13580,15 +14903,6 @@ - - - - - - - - - @@ -13670,6 +14984,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13688,6 +15038,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13742,6 +15128,15 @@ + + + + + + + + + @@ -13778,15 +15173,6 @@ - - - - - - - - - @@ -13796,6 +15182,24 @@ + + + + + + + + + + + + + + + + + + @@ -13904,6 +15308,15 @@ + + + + + + + + + @@ -13940,6 +15353,24 @@ + + + + + + + + + + + + + + + + + + @@ -14050,9 +15481,21 @@ - + - + + + + + + + + + + + + + @@ -14068,10 +15511,13 @@ - + - + + + + @@ -14123,15 +15569,6 @@ - - - - - - - - - @@ -14240,6 +15677,15 @@ + + + + + + + + + @@ -14267,11 +15713,11 @@ - + - + - + @@ -14348,6 +15794,15 @@ + + + + + + + + + @@ -14525,15 +15980,6 @@ - - - - - - - - - @@ -14570,6 +16016,15 @@ + + + + + + + + + @@ -14597,6 +16052,15 @@ + + + + + + + + + @@ -15005,6 +16469,24 @@ + + + + + + + + + + + + + + + + + + @@ -15077,6 +16559,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15131,6 +16667,15 @@ + + + + + + + + + @@ -15257,11 +16802,11 @@ - + - + - + @@ -15293,6 +16838,15 @@ + + + + + + + + + @@ -15320,6 +16874,15 @@ + + + + + + + + + @@ -15329,6 +16892,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15464,6 +17054,24 @@ + + + + + + + + + + + + + + + + + + @@ -15584,6 +17192,15 @@ + + + + + + + + + @@ -15611,6 +17228,15 @@ + + + + + + + + + @@ -15719,6 +17345,24 @@ + + + + + + + + + + + + + + + + + + @@ -15773,15 +17417,6 @@ - - - - - - - - - @@ -15827,6 +17462,15 @@ + + + + + + + + + @@ -15836,6 +17480,24 @@ + + + + + + + + + + + + + + + + + + @@ -15845,6 +17507,15 @@ + + + + + + + + + @@ -15917,11 +17588,11 @@ - + - + - + @@ -16127,6 +17798,15 @@ + + + + + + + + + @@ -16172,6 +17852,24 @@ + + + + + + + + + + + + + + + + + + @@ -16238,6 +17936,15 @@ + + + + + + + + + @@ -16304,20 +18011,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16433,6 +18176,15 @@ + + + + + + + + + @@ -16469,6 +18221,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16481,6 +18260,15 @@ + + + + + + + + + @@ -16508,27 +18296,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -16547,11 +18314,11 @@ - + - + - + @@ -16721,6 +18488,15 @@ + + + + + + + + + @@ -16775,11 +18551,11 @@ - + - + - + @@ -16910,6 +18686,15 @@ + + + + + + + + + @@ -16973,6 +18758,24 @@ + + + + + + + + + + + + + + + + + + @@ -17000,24 +18803,6 @@ - - - - - - - - - - - - - - - - - - @@ -17036,6 +18821,15 @@ + + + + + + + + + @@ -17174,15 +18968,6 @@ - - - - - - - - - @@ -17219,6 +19004,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl index d226d274a4b..cfb83ab8fa4 100644 --- a/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/rus/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -47,6 +47,15 @@ + + + + + + + + + @@ -56,6 +65,15 @@ + + + + + + + + + @@ -101,6 +119,24 @@ + + + + + + + + + + + + + + + + + + @@ -119,6 +155,24 @@ + + + + + + + + + + + + + + + + + + @@ -278,6 +332,15 @@ + + + + + + + + + @@ -341,15 +404,12 @@ - + - + - + - - - @@ -392,11 +452,11 @@ - + - + - + @@ -563,15 +623,6 @@ - - - - - - - - - @@ -881,6 +932,15 @@ + + + + + + + + + @@ -1016,6 +1076,15 @@ + + + + + + + + + @@ -1070,6 +1139,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1133,6 +1274,15 @@ + + + + + + + + + @@ -1160,6 +1310,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1325,6 +1502,15 @@ + + + + + + + + + @@ -1361,6 +1547,24 @@ + + + + + + + + + + + + + + + + + + @@ -1400,6 +1604,24 @@ + + + + + + + + + + + + + + + + + + @@ -1436,6 +1658,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1661,6 +1910,15 @@ + + + + + + + + + @@ -1796,15 +2054,12 @@ - + - + - + - - - @@ -1937,6 +2192,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1994,6 +2285,15 @@ + + + + + + + + + @@ -2030,11 +2330,11 @@ - + - + - + @@ -2156,11 +2456,11 @@ - + - + - + @@ -2228,6 +2528,15 @@ + + + + + + + + + @@ -2282,6 +2591,15 @@ + + + + + + + + + @@ -2300,6 +2618,24 @@ + + + + + + + + + + + + + + + + + + @@ -2375,6 +2711,15 @@ + + + + + + + + + @@ -2393,6 +2738,15 @@ + + + + + + + + + @@ -2402,6 +2756,15 @@ + + + + + + + + + @@ -2429,15 +2792,6 @@ - - - - - - - - - @@ -2519,6 +2873,15 @@ + + + + + + + + + @@ -2576,6 +2939,15 @@ + + + + + + + + + @@ -2642,15 +3014,6 @@ - - - - - - - - - @@ -2678,11 +3041,11 @@ - + - + - + @@ -2696,11 +3059,20 @@ - + - + - + + + + + + + + + + @@ -2945,11 +3317,11 @@ - + - + - + @@ -3032,6 +3404,24 @@ + + + + + + + + + + + + + + + + + + @@ -3212,11 +3602,20 @@ - + - + - + + + + + + + + + + @@ -3281,15 +3680,6 @@ - - - - - - - - - @@ -3299,11 +3689,11 @@ - + - + - + @@ -3461,6 +3851,15 @@ + + + + + + + + + @@ -3620,6 +4019,15 @@ + + + + + + + + + @@ -3704,6 +4112,15 @@ + + + + + + + + + @@ -3827,6 +4244,15 @@ + + + + + + + + + @@ -3836,6 +4262,15 @@ + + + + + + + + + @@ -3854,11 +4289,11 @@ - + - + - + @@ -4034,15 +4469,6 @@ - - - - - - - - - @@ -4106,6 +4532,15 @@ + + + + + + + + + @@ -4322,11 +4757,11 @@ - + - + - + @@ -4457,6 +4892,15 @@ + + + + + + + + + @@ -4514,6 +4958,24 @@ + + + + + + + + + + + + + + + + + + @@ -4523,6 +4985,15 @@ + + + + + + + + + @@ -4541,6 +5012,15 @@ + + + + + + + + + @@ -4570,10 +5050,13 @@ - + - + + + + @@ -4688,6 +5171,15 @@ + + + + + + + + + @@ -4706,11 +5198,11 @@ - + - + - + @@ -4742,6 +5234,15 @@ + + + + + + + + + @@ -5036,6 +5537,15 @@ + + + + + + + + + @@ -5300,6 +5810,15 @@ + + + + + + + + + @@ -5429,6 +5948,15 @@ + + + + + + + + + @@ -5450,20 +5978,47 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5714,11 +6269,20 @@ - + - + - + + + + + + + + + + @@ -5894,6 +6458,15 @@ + + + + + + + + + @@ -5966,6 +6539,24 @@ + + + + + + + + + + + + + + + + + + @@ -5987,15 +6578,6 @@ - - - - - - - - - @@ -6005,6 +6587,15 @@ + + + + + + + + + @@ -6014,6 +6605,15 @@ + + + + + + + + + @@ -6023,6 +6623,15 @@ + + + + + + + + + @@ -6077,6 +6686,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6122,18 +6776,6 @@ - - - - - - - - - - - - @@ -6281,6 +6923,15 @@ + + + + + + + + + @@ -6335,6 +6986,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6344,6 +7040,15 @@ + + + + + + + + + @@ -6407,6 +7112,15 @@ + + + + + + + + + @@ -6434,11 +7148,20 @@ - + - + - + + + + + + + + + + @@ -6470,15 +7193,6 @@ - - - - - - - - - @@ -6488,6 +7202,15 @@ + + + + + + + + + @@ -6497,15 +7220,6 @@ - - - - - - - - - @@ -6560,6 +7274,15 @@ + + + + + + + + + @@ -6734,6 +7457,15 @@ + + + + + + + + + @@ -6818,11 +7550,11 @@ - + - + - + @@ -6881,11 +7613,11 @@ - + - + - + @@ -6899,29 +7631,38 @@ - + - + - + - + - + - + - + - + - + + + + + + + + + + @@ -6971,6 +7712,15 @@ + + + + + + + + + @@ -7292,6 +8042,15 @@ + + + + + + + + + @@ -7397,6 +8156,24 @@ + + + + + + + + + + + + + + + + + + @@ -7415,20 +8192,20 @@ - + - + - + - + - + - + @@ -7451,6 +8228,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7664,6 +8477,15 @@ + + + + + + + + + @@ -7742,6 +8564,15 @@ + + + + + + + + + @@ -7784,15 +8615,6 @@ - - - - - - - - - @@ -7811,6 +8633,15 @@ + + + + + + + + + @@ -7958,6 +8789,15 @@ + + + + + + + + + @@ -7985,6 +8825,15 @@ + + + + + + + + + @@ -8048,6 +8897,15 @@ + + + + + + + + + @@ -8093,6 +8951,15 @@ + + + + + + + + + @@ -8102,6 +8969,15 @@ + + + + + + + + + @@ -8375,20 +9251,20 @@ - + - + - + - + - + - + @@ -8477,6 +9353,15 @@ + + + + + + + + + @@ -8576,6 +9461,15 @@ + + + + + + + + + @@ -8717,15 +9611,6 @@ - - - - - - - - - @@ -8735,6 +9620,15 @@ + + + + + + + + + @@ -8837,6 +9731,15 @@ + + + + + + + + + @@ -8846,6 +9749,15 @@ + + + + + + + + + @@ -8882,6 +9794,24 @@ + + + + + + + + + + + + + + + + + + @@ -8918,6 +9848,24 @@ + + + + + + + + + + + + + + + + + + @@ -9019,9 +9967,30 @@ - + - + + + + + + + + + + + + + + + + + + + + + + @@ -9035,6 +10004,24 @@ + + + + + + + + + + + + + + + + + + @@ -9089,6 +10076,15 @@ + + + + + + + + + @@ -9170,6 +10166,24 @@ + + + + + + + + + + + + + + + + + + @@ -9179,38 +10193,38 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -9260,6 +10274,15 @@ + + + + + + + + + @@ -9269,24 +10292,6 @@ - - - - - - - - - - - - - - - - - - @@ -9323,6 +10328,15 @@ + + + + + + + + + @@ -9332,6 +10346,24 @@ + + + + + + + + + + + + + + + + + + @@ -9350,6 +10382,15 @@ + + + + + + + + + @@ -9359,6 +10400,24 @@ + + + + + + + + + + + + + + + + + + @@ -9368,15 +10427,6 @@ - - - - - - - - - @@ -9404,6 +10454,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9434,20 +10520,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -9461,20 +10556,38 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + @@ -9524,15 +10637,6 @@ - - - - - - - - - @@ -9911,6 +11015,15 @@ + + + + + + + + + @@ -10145,6 +11258,15 @@ + + + + + + + + + @@ -10202,24 +11324,6 @@ - - - - - - - - - - - - - - - - - - @@ -10229,6 +11333,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10238,6 +11369,15 @@ + + + + + + + + + @@ -10274,15 +11414,6 @@ - - - - - - - - - @@ -10658,11 +11789,11 @@ - + - + - + @@ -10730,6 +11861,15 @@ + + + + + + + + + @@ -10748,11 +11888,11 @@ - + - + - + @@ -10904,11 +12044,29 @@ - + - + - + + + + + + + + + + + + + + + + + + + @@ -10958,27 +12116,21 @@ - + - + - + - - - - + - + - + - - - @@ -11288,6 +12440,15 @@ + + + + + + + + + @@ -11324,6 +12485,24 @@ + + + + + + + + + + + + + + + + + + @@ -11333,6 +12512,15 @@ + + + + + + + + + @@ -11417,6 +12605,15 @@ + + + + + + + + + @@ -11822,6 +13019,15 @@ + + + + + + + + + @@ -11876,6 +13082,24 @@ + + + + + + + + + + + + + + + + + + @@ -11993,6 +13217,15 @@ + + + + + + + + + @@ -12020,20 +13253,11 @@ - + - + - - - - - - - - - - + @@ -12242,15 +13466,6 @@ - - - - - - - - - @@ -12611,6 +13826,15 @@ + + + + + + + + + @@ -12632,6 +13856,15 @@ + + + + + + + + + @@ -12797,6 +14030,15 @@ + + + + + + + + + @@ -12851,20 +14093,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -13109,6 +14360,24 @@ + + + + + + + + + + + + + + + + + + @@ -13172,6 +14441,24 @@ + + + + + + + + + + + + + + + + + + @@ -13271,6 +14558,15 @@ + + + + + + + + + @@ -13397,15 +14693,6 @@ - - - - - - - - - @@ -13433,6 +14720,15 @@ + + + type.]]> + + .]]> + + + + type. Did you mean to write 'Promise<{0}>'?]]> @@ -13460,11 +14756,20 @@ - + - + - + + + + + + + + + + @@ -13478,6 +14783,24 @@ + + + + + + + + + + + + + + + + + + @@ -13589,15 +14912,6 @@ - - - - - - - - - @@ -13679,6 +14993,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13697,6 +15047,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13751,6 +15137,15 @@ + + + + + + + + + @@ -13787,15 +15182,6 @@ - - - - - - - - - @@ -13805,6 +15191,24 @@ + + + + + + + + + + + + + + + + + + @@ -13913,6 +15317,15 @@ + + + + + + + + + @@ -13949,6 +15362,24 @@ + + + + + + + + + + + + + + + + + + @@ -14059,9 +15490,21 @@ - + - + + + + + + + + + + + + + @@ -14077,10 +15520,13 @@ - + - + + + + @@ -14132,15 +15578,6 @@ - - - - - - - - - @@ -14249,6 +15686,15 @@ + + + + + + + + + @@ -14276,11 +15722,11 @@ - + - + - + @@ -14357,6 +15803,15 @@ + + + + + + + + + @@ -14534,15 +15989,6 @@ - - - - - - - - - @@ -14579,6 +16025,15 @@ + + + + + + + + + @@ -14606,6 +16061,15 @@ + + + + + + + + + @@ -15014,6 +16478,24 @@ + + + + + + + + + + + + + + + + + + @@ -15086,6 +16568,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15140,6 +16676,15 @@ + + + + + + + + + @@ -15266,11 +16811,11 @@ - + - + - + @@ -15302,6 +16847,15 @@ + + + + + + + + + @@ -15329,6 +16883,15 @@ + + + + + + + + + @@ -15338,6 +16901,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15473,6 +17063,24 @@ + + + + + + + + + + + + + + + + + + @@ -15593,6 +17201,15 @@ + + + + + + + + + @@ -15620,6 +17237,15 @@ + + + + + + + + + @@ -15728,6 +17354,24 @@ + + + + + + + + + + + + + + + + + + @@ -15782,15 +17426,6 @@ - - - - - - - - - @@ -15836,6 +17471,15 @@ + + + + + + + + + @@ -15845,6 +17489,24 @@ + + + + + + + + + + + + + + + + + + @@ -15854,6 +17516,15 @@ + + + + + + + + + @@ -15926,11 +17597,11 @@ - + - + - + @@ -16136,6 +17807,15 @@ + + + + + + + + + @@ -16181,6 +17861,24 @@ + + + + + + + + + + + + + + + + + + @@ -16247,6 +17945,15 @@ + + + + + + + + + @@ -16313,20 +18020,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16442,6 +18185,15 @@ + + + + + + + + + @@ -16478,6 +18230,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16490,6 +18269,15 @@ + + + + + + + + + @@ -16517,27 +18305,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -16556,11 +18323,11 @@ - + - + - + @@ -16730,6 +18497,15 @@ + + + + + + + + + @@ -16784,11 +18560,11 @@ - + - + - + @@ -16919,6 +18695,15 @@ + + + + + + + + + @@ -16982,6 +18767,24 @@ + + + + + + + + + + + + + + + + + + @@ -17009,24 +18812,6 @@ - - - - - - - - - - - - - - - - - - @@ -17045,6 +18830,15 @@ + + + + + + + + + @@ -17183,15 +18977,6 @@ - - - - - - - - - @@ -17228,6 +19013,15 @@ + + + + + + + + + diff --git a/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl index 0144a1042db..74bbe6d2220 100644 --- a/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/trk/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -41,6 +41,15 @@ + + + + + + + + + @@ -50,6 +59,15 @@ + + + + + + + + + @@ -95,6 +113,24 @@ + + + + + + + + + + + + + + + + + + @@ -113,6 +149,24 @@ + + + + + + + + + + + + + + + + + + @@ -272,6 +326,15 @@ + + + + + + + + + @@ -335,15 +398,12 @@ - + - + - + - - - @@ -386,11 +446,11 @@ - + - + - + @@ -557,15 +617,6 @@ - - - - - - - - - @@ -875,6 +926,15 @@ + + + + + + + + + @@ -1010,6 +1070,15 @@ + + + + + + + + + @@ -1064,6 +1133,78 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1127,6 +1268,15 @@ + + + + + + + + + @@ -1154,6 +1304,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1319,6 +1496,15 @@ + + + + + + + + + @@ -1355,6 +1541,24 @@ + + + + + + + + + + + + + + + + + + @@ -1394,6 +1598,24 @@ + + + + + + + + + + + + + + + + + + @@ -1430,6 +1652,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1655,6 +1904,15 @@ + + + + + + + + + @@ -1790,15 +2048,12 @@ - + - + - + - - - @@ -1931,6 +2186,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1988,6 +2279,15 @@ + + + + + + + + + @@ -2024,11 +2324,11 @@ - + - + - + @@ -2150,11 +2450,11 @@ - + - + - + @@ -2222,6 +2522,15 @@ + + + + + + + + + @@ -2276,6 +2585,15 @@ + + + + + + + + + @@ -2294,6 +2612,24 @@ + + + + + + + + + + + + + + + + + + @@ -2369,6 +2705,15 @@ + + + + + + + + + @@ -2387,6 +2732,15 @@ + + + + + + + + + @@ -2396,6 +2750,15 @@ + + + + + + + + + @@ -2423,15 +2786,6 @@ - - - - - - - - - @@ -2513,6 +2867,15 @@ + + + + + + + + + @@ -2570,6 +2933,15 @@ + + + + + + + + + @@ -2636,15 +3008,6 @@ - - - - - - - - - @@ -2672,11 +3035,11 @@ - + - + - + @@ -2690,11 +3053,20 @@ - + - + - + + + + + + + + + + @@ -2939,11 +3311,11 @@ - + - + - + @@ -3026,6 +3398,24 @@ + + + + + + + + + + + + + + + + + + @@ -3206,11 +3596,20 @@ - + - + - + + + + + + + + + + @@ -3275,15 +3674,6 @@ - - - - - - - - - @@ -3293,11 +3683,11 @@ - + - + - + @@ -3455,6 +3845,15 @@ + + + + + + + + + @@ -3614,6 +4013,15 @@ + + + + + + + + + @@ -3698,6 +4106,15 @@ + + + + + + + + + @@ -3821,6 +4238,15 @@ + + + + + + + + + @@ -3830,6 +4256,15 @@ + + + + + + + + + @@ -3848,11 +4283,11 @@ - + - + - + @@ -4028,15 +4463,6 @@ - - - - - - - - - @@ -4100,6 +4526,15 @@ + + + + + + + + + @@ -4316,11 +4751,11 @@ - + - + - + @@ -4451,6 +4886,15 @@ + + + + + + + + + @@ -4508,6 +4952,24 @@ + + + + + + + + + + + + + + + + + + @@ -4517,6 +4979,15 @@ + + + + + + + + + @@ -4535,6 +5006,15 @@ + + + + + + + + + @@ -4564,10 +5044,13 @@ - + - + + + + @@ -4682,6 +5165,15 @@ + + + + + + + + + @@ -4700,11 +5192,11 @@ - + - + - + @@ -4736,6 +5228,15 @@ + + + + + + + + + @@ -5030,6 +5531,15 @@ + + + + + + + + + @@ -5294,6 +5804,15 @@ + + + + + + + + + @@ -5423,6 +5942,15 @@ + + + + + + + + + @@ -5444,20 +5972,47 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -5708,11 +6263,20 @@ - + - + - + + + + + + + + + + @@ -5888,6 +6452,15 @@ + + + + + + + + + @@ -5960,6 +6533,24 @@ + + + + + + + + + + + + + + + + + + @@ -5981,15 +6572,6 @@ - - - - - - - - - @@ -5999,6 +6581,15 @@ + + + + + + + + + @@ -6008,6 +6599,15 @@ + + + + + + + + + @@ -6017,6 +6617,15 @@ + + + + + + + + + @@ -6071,6 +6680,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6116,18 +6770,6 @@ - - - - - - - - - - - - @@ -6275,6 +6917,15 @@ + + + + + + + + + @@ -6329,6 +6980,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -6338,6 +7034,15 @@ + + + + + + + + + @@ -6401,6 +7106,15 @@ + + + + + + + + + @@ -6428,11 +7142,20 @@ - + - + - + + + + + + + + + + @@ -6464,15 +7187,6 @@ - - - - - - - - - @@ -6482,6 +7196,15 @@ + + + + + + + + + @@ -6491,15 +7214,6 @@ - - - - - - - - - @@ -6554,6 +7268,15 @@ + + + + + + + + + @@ -6728,6 +7451,15 @@ + + + + + + + + + @@ -6812,11 +7544,11 @@ - + - + - + @@ -6875,11 +7607,11 @@ - + - + - + @@ -6893,29 +7625,38 @@ - + - + - + - + - + - + - + - + - + + + + + + + + + + @@ -6965,6 +7706,15 @@ + + + + + + + + + @@ -7286,6 +8036,15 @@ + + + + + + + + + @@ -7391,6 +8150,24 @@ + + + + + + + + + + + + + + + + + + @@ -7409,18 +8186,18 @@ - + - + - + - + - + @@ -7445,6 +8222,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -7658,6 +8471,15 @@ + + + + + + + + + @@ -7736,6 +8558,15 @@ + + + + + + + + + @@ -7778,15 +8609,6 @@ - - - - - - - - - @@ -7805,6 +8627,15 @@ + + + + + + + + + @@ -7952,6 +8783,15 @@ + + + + + + + + + @@ -7979,6 +8819,15 @@ + + + + + + + + + @@ -8042,6 +8891,15 @@ + + + + + + + + + @@ -8087,6 +8945,15 @@ + + + + + + + + + @@ -8096,6 +8963,15 @@ + + + + + + + + + @@ -8369,20 +9245,20 @@ - + - + - + - + - + - + @@ -8471,6 +9347,15 @@ + + + + + + + + + @@ -8570,6 +9455,15 @@ + + + + + + + + + @@ -8711,15 +9605,6 @@ - - - - - - - - - @@ -8729,6 +9614,15 @@ + + + + + + + + + @@ -8831,6 +9725,15 @@ + + + + + + + + + @@ -8840,6 +9743,15 @@ + + + + + + + + + @@ -8876,6 +9788,24 @@ + + + + + + + + + + + + + + + + + + @@ -8912,6 +9842,24 @@ + + + + + + + + + + + + + + + + + + @@ -9013,9 +9961,30 @@ - + - + + + + + + + + + + + + + + + + + + + + + + @@ -9029,6 +9998,24 @@ + + + + + + + + + + + + + + + + + + @@ -9083,6 +10070,15 @@ + + + + + + + + + @@ -9164,6 +10160,24 @@ + + + + + + + + + + + + + + + + + + @@ -9173,38 +10187,38 @@ - + - + - + - + - + - + - + - + - + - + - + - + @@ -9254,6 +10268,15 @@ + + + + + + + + + @@ -9263,24 +10286,6 @@ - - - - - - - - - - - - - - - - - - @@ -9317,6 +10322,15 @@ + + + + + + + + + @@ -9326,6 +10340,24 @@ + + + + + + + + + + + + + + + + + + @@ -9344,6 +10376,15 @@ + + + + + + + + + @@ -9353,6 +10394,24 @@ + + + + + + + + + + + + + + + + + + @@ -9362,15 +10421,6 @@ - - - - - - - - - @@ -9398,6 +10448,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -9428,20 +10514,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -9455,20 +10550,38 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + @@ -9518,15 +10631,6 @@ - - - - - - - - - @@ -9905,6 +11009,15 @@ + + + + + + + + + @@ -10139,6 +11252,15 @@ + + + + + + + + + @@ -10196,24 +11318,6 @@ - - - - - - - - - - - - - - - - - - @@ -10223,6 +11327,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -10232,6 +11363,15 @@ + + + + + + + + + @@ -10268,15 +11408,6 @@ - - - - - - - - - @@ -10652,11 +11783,11 @@ - + - + - + @@ -10724,6 +11855,15 @@ + + + + + + + + + @@ -10742,11 +11882,11 @@ - + - + - + @@ -10898,11 +12038,29 @@ - + - + - + + + + + + + + + + + + + + + + + + + @@ -10952,27 +12110,21 @@ - + - + - + - - - - + - + - + - - - @@ -11282,6 +12434,15 @@ + + + + + + + + + @@ -11318,6 +12479,24 @@ + + + + + + + + + + + + + + + + + + @@ -11327,6 +12506,15 @@ + + + + + + + + + @@ -11411,6 +12599,15 @@ + + + + + + + + + @@ -11816,6 +13013,15 @@ + + + + + + + + + @@ -11870,6 +13076,24 @@ + + + + + + + + + + + + + + + + + + @@ -11987,6 +13211,15 @@ + + + + + + + + + @@ -12014,20 +13247,11 @@ - + - + - - - - - - - - - - + @@ -12236,15 +13460,6 @@ - - - - - - - - - @@ -12605,6 +13820,15 @@ + + + + + + + + + @@ -12626,6 +13850,15 @@ + + + + + + + + + @@ -12791,6 +14024,15 @@ + + + + + + + + + @@ -12845,20 +14087,29 @@ - + - + - + - + - + - + + + + + + + + + + @@ -13103,6 +14354,24 @@ + + + + + + + + + + + + + + + + + + @@ -13166,6 +14435,24 @@ + + + + + + + + + + + + + + + + + + @@ -13265,6 +14552,15 @@ + + + + + + + + + @@ -13391,15 +14687,6 @@ - - - - - - - - - @@ -13427,6 +14714,15 @@ + + + type.]]> + + türü olmalıdır.]]> + + + + type. Did you mean to write 'Promise<{0}>'?]]> @@ -13454,11 +14750,20 @@ - + - + - + + + + + + + + + + @@ -13472,6 +14777,24 @@ + + + + + + + + + + + + + + + + + + @@ -13583,15 +14906,6 @@ - - - - - - - - - @@ -13673,6 +14987,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13691,6 +15041,42 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -13745,6 +15131,15 @@ + + + + + + + + + @@ -13781,15 +15176,6 @@ - - - - - - - - - @@ -13799,6 +15185,24 @@ + + + + + + + + + + + + + + + + + + @@ -13907,6 +15311,15 @@ + + + + + + + + + @@ -13943,6 +15356,24 @@ + + + + + + + + + + + + + + + + + + @@ -14053,9 +15484,21 @@ - + - + + + + + + + + + + + + + @@ -14071,10 +15514,13 @@ - + - + + + + @@ -14126,15 +15572,6 @@ - - - - - - - - - @@ -14243,6 +15680,15 @@ + + + + + + + + + @@ -14270,11 +15716,11 @@ - + - + - + @@ -14351,6 +15797,15 @@ + + + + + + + + + @@ -14528,15 +15983,6 @@ - - - - - - - - - @@ -14573,6 +16019,15 @@ + + + + + + + + + @@ -14600,6 +16055,15 @@ + + + + + + + + + @@ -15008,6 +16472,24 @@ + + + + + + + + + + + + + + + + + + @@ -15080,6 +16562,60 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15134,6 +16670,15 @@ + + + + + + + + + @@ -15260,11 +16805,11 @@ - + - + - + @@ -15296,6 +16841,15 @@ + + + + + + + + + @@ -15323,6 +16877,15 @@ + + + + + + + + + @@ -15332,6 +16895,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -15467,6 +17057,24 @@ + + + + + + + + + + + + + + + + + + @@ -15587,6 +17195,15 @@ + + + + + + + + + @@ -15614,6 +17231,15 @@ + + + + + + + + + @@ -15722,6 +17348,24 @@ + + + + + + + + + + + + + + + + + + @@ -15776,15 +17420,6 @@ - - - - - - - - - @@ -15830,6 +17465,15 @@ + + + + + + + + + @@ -15839,6 +17483,24 @@ + + + + + + + + + + + + + + + + + + @@ -15848,6 +17510,15 @@ + + + + + + + + + @@ -15920,11 +17591,11 @@ - + - + - + @@ -16130,6 +17801,15 @@ + + + + + + + + + @@ -16175,6 +17855,24 @@ + + + + + + + + + + + + + + + + + + @@ -16241,6 +17939,15 @@ + + + + + + + + + @@ -16307,20 +18014,56 @@ - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16436,6 +18179,15 @@ + + + + + + + + + @@ -16472,6 +18224,33 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -16484,6 +18263,15 @@ + + + + + + + + + @@ -16511,27 +18299,6 @@ - - - - - - - - - - - - - - - - - - - - - @@ -16550,11 +18317,11 @@ - + - + - + @@ -16724,6 +18491,15 @@ + + + + + + + + + @@ -16778,11 +18554,11 @@ - + - + - + @@ -16913,6 +18689,15 @@ + + + + + + + + + @@ -16976,6 +18761,24 @@ + + + + + + + + + + + + + + + + + + @@ -17003,24 +18806,6 @@ - - - - - - - - - - - - - - - - - - @@ -17039,6 +18824,15 @@ + + + + + + + + + @@ -17177,15 +18971,6 @@ - - - - - - - - - @@ -17222,6 +19007,15 @@ + + + + + + + + + From 34048178a2b340518aa6baa888635788c9283055 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Tue, 30 Jul 2024 11:20:59 -0700 Subject: [PATCH 77/89] Move ambient const enum error from use site to import in verbatimModuleSyntax (#59438) --- src/compiler/checker.ts | 30 ++++++- .../unittests/tsc/projectReferences.ts | 38 +++++++++ ...erveConstEnums-and-verbatimModuleSyntax.js | 83 +++++++++++++++++++ ...timModuleSyntaxAmbientConstEnum.errors.txt | 27 ++++++ .../verbatimModuleSyntaxAmbientConstEnum.ts | 21 +++++ 5 files changed, 198 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/tsc/projectReferences/importing-const-enum-from-referenced-project-with-preserveConstEnums-and-verbatimModuleSyntax.js create mode 100644 tests/baselines/reference/verbatimModuleSyntaxAmbientConstEnum.errors.txt create mode 100644 tests/cases/conformance/externalModules/verbatimModuleSyntaxAmbientConstEnum.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 2578ba4c4df..b688e9e1e52 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -40710,7 +40710,22 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { error(node, Diagnostics.const_enums_can_only_be_used_in_property_or_index_access_expressions_or_the_right_hand_side_of_an_import_declaration_or_export_assignment_or_type_query); } - if (getIsolatedModules(compilerOptions)) { + // --verbatimModuleSyntax only gets checked here when the enum usage does not + // resolve to an import, because imports of ambient const enums get checked + // separately in `checkAliasSymbol`. + if ( + compilerOptions.isolatedModules + || compilerOptions.verbatimModuleSyntax + && ok + && !resolveName( + node, + getFirstIdentifier(node as EntityNameOrEntityNameExpression), + SymbolFlags.Alias, + /*nameNotFoundMessage*/ undefined, + /*isUse*/ false, + /*excludeGlobals*/ true, + ) + ) { Debug.assert(!!(type.symbol.flags & SymbolFlags.ConstEnum)); const constEnumDeclaration = type.symbol.valueDeclaration as EnumDeclaration; const redirect = host.getRedirectReferenceForResolutionFromSourceOfProject(getSourceFileOfNode(constEnumDeclaration).resolvedPath); @@ -47264,6 +47279,19 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // in files that are unambiguously CommonJS in this mode. error(node, Diagnostics.ESM_syntax_is_not_allowed_in_a_CommonJS_module_when_module_is_set_to_preserve); } + + if ( + compilerOptions.verbatimModuleSyntax && + !isTypeOnlyImportOrExportDeclaration(node) && + !(node.flags & NodeFlags.Ambient) && + targetFlags & SymbolFlags.ConstEnum + ) { + const constEnumDeclaration = target.valueDeclaration as EnumDeclaration; + const redirect = host.getRedirectReferenceForResolutionFromSourceOfProject(getSourceFileOfNode(constEnumDeclaration).resolvedPath); + if (constEnumDeclaration.flags & NodeFlags.Ambient && (!redirect || !shouldPreserveConstEnums(redirect.commandLine.options))) { + error(node, Diagnostics.Cannot_access_ambient_const_enums_when_0_is_enabled, isolatedModulesLikeFlagName); + } + } } if (isImportSpecifier(node)) { diff --git a/src/testRunner/unittests/tsc/projectReferences.ts b/src/testRunner/unittests/tsc/projectReferences.ts index d1dda68e078..27a575ca02a 100644 --- a/src/testRunner/unittests/tsc/projectReferences.ts +++ b/src/testRunner/unittests/tsc/projectReferences.ts @@ -115,4 +115,42 @@ describe("unittests:: tsc:: projectReferences::", () => { }), commandLineArgs: ["--p", "src/project"], }); + + verifyTsc({ + scenario: "projectReferences", + subScenario: "importing const enum from referenced project with preserveConstEnums and verbatimModuleSyntax", + fs: () => + loadProjectFromFiles({ + "/src/preserve/index.ts": "export const enum E { A = 1 }", + "/src/preserve/index.d.ts": "export declare const enum E { A = 1 }", + "/src/preserve/tsconfig.json": jsonToReadableText({ + compilerOptions: { + composite: true, + declaration: true, + preserveConstEnums: true, + }, + }), + "/src/no-preserve/index.ts": "export const enum E { A = 1 }", + "/src/no-preserve/index.d.ts": "export declare const enum F { A = 1 }", + "/src/no-preserve/tsconfig.json": jsonToReadableText({ + compilerOptions: { + composite: true, + declaration: true, + preserveConstEnums: false, + }, + }), + "/src/project/index.ts": `import { E } from "../preserve";\nimport { F } from "../no-preserve";\nE.A; F.A;`, + "/src/project/tsconfig.json": jsonToReadableText({ + compilerOptions: { + module: "preserve", + verbatimModuleSyntax: true, + }, + references: [ + { path: "../preserve" }, + { path: "../no-preserve" }, + ], + }), + }), + commandLineArgs: ["--p", "src/project", "--pretty", "false"], + }); }); diff --git a/tests/baselines/reference/tsc/projectReferences/importing-const-enum-from-referenced-project-with-preserveConstEnums-and-verbatimModuleSyntax.js b/tests/baselines/reference/tsc/projectReferences/importing-const-enum-from-referenced-project-with-preserveConstEnums-and-verbatimModuleSyntax.js new file mode 100644 index 00000000000..45a6868c9ec --- /dev/null +++ b/tests/baselines/reference/tsc/projectReferences/importing-const-enum-from-referenced-project-with-preserveConstEnums-and-verbatimModuleSyntax.js @@ -0,0 +1,83 @@ +currentDirectory:: / useCaseSensitiveFileNames: false +Input:: +//// [/lib/lib.d.ts] +/// +interface Boolean {} +interface Function {} +interface CallableFunction {} +interface NewableFunction {} +interface IArguments {} +interface Number { toExponential: any; } +interface Object {} +interface RegExp {} +interface String { charAt: any; } +interface Array { length: number; [n: number]: T; } +interface ReadonlyArray {} +declare const console: { log(msg: any): void; }; + +//// [/src/no-preserve/index.d.ts] +export declare const enum F { A = 1 } + +//// [/src/no-preserve/index.ts] +export const enum E { A = 1 } + +//// [/src/no-preserve/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "preserveConstEnums": false + } +} + +//// [/src/preserve/index.d.ts] +export declare const enum E { A = 1 } + +//// [/src/preserve/index.ts] +export const enum E { A = 1 } + +//// [/src/preserve/tsconfig.json] +{ + "compilerOptions": { + "composite": true, + "declaration": true, + "preserveConstEnums": true + } +} + +//// [/src/project/index.ts] +import { E } from "../preserve"; +import { F } from "../no-preserve"; +E.A; F.A; + +//// [/src/project/tsconfig.json] +{ + "compilerOptions": { + "module": "preserve", + "verbatimModuleSyntax": true + }, + "references": [ + { + "path": "../preserve" + }, + { + "path": "../no-preserve" + } + ] +} + + + +Output:: +/lib/tsc --p src/project --pretty false +src/project/index.ts(2,10): error TS2748: Cannot access ambient const enums when 'verbatimModuleSyntax' is enabled. +exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated + + +//// [/src/project/index.js] +import { E } from "../preserve"; +import { F } from "../no-preserve"; +E.A; +F.A; + + diff --git a/tests/baselines/reference/verbatimModuleSyntaxAmbientConstEnum.errors.txt b/tests/baselines/reference/verbatimModuleSyntaxAmbientConstEnum.errors.txt new file mode 100644 index 00000000000..e405f0bed9c --- /dev/null +++ b/tests/baselines/reference/verbatimModuleSyntaxAmbientConstEnum.errors.txt @@ -0,0 +1,27 @@ +/a.ts(1,10): error TS2748: Cannot access ambient const enums when 'verbatimModuleSyntax' is enabled. +/a.ts(4,1): error TS2748: Cannot access ambient const enums when 'verbatimModuleSyntax' is enabled. +/b.ts(1,10): error TS2748: Cannot access ambient const enums when 'verbatimModuleSyntax' is enabled. + + +==== /node_modules/pkg/index.d.ts (0 errors) ==== + export declare const enum E { A, B, C } + declare global { + const enum F { A, B, C } + } + +==== /a.ts (2 errors) ==== + import { E } from "pkg"; // Error + ~ +!!! error TS2748: Cannot access ambient const enums when 'verbatimModuleSyntax' is enabled. + import type { E as _E } from "pkg"; // Ok + console.log(E.A); // Ok + F.A; // Error + ~ +!!! error TS2748: Cannot access ambient const enums when 'verbatimModuleSyntax' is enabled. + +==== /b.ts (1 errors) ==== + export { E } from "pkg"; // Error + ~ +!!! error TS2748: Cannot access ambient const enums when 'verbatimModuleSyntax' is enabled. + export type { E as _E } from "pkg"; // Ok + \ No newline at end of file diff --git a/tests/cases/conformance/externalModules/verbatimModuleSyntaxAmbientConstEnum.ts b/tests/cases/conformance/externalModules/verbatimModuleSyntaxAmbientConstEnum.ts new file mode 100644 index 00000000000..d59dbadf5d6 --- /dev/null +++ b/tests/cases/conformance/externalModules/verbatimModuleSyntaxAmbientConstEnum.ts @@ -0,0 +1,21 @@ +// @verbatimModuleSyntax: true +// @target: esnext +// @module: preserve +// @noEmit: true +// @noTypesAndSymbols: true + +// @Filename: /node_modules/pkg/index.d.ts +export declare const enum E { A, B, C } +declare global { + const enum F { A, B, C } +} + +// @Filename: /a.ts +import { E } from "pkg"; // Error +import type { E as _E } from "pkg"; // Ok +console.log(E.A); // Ok +F.A; // Error + +// @Filename: /b.ts +export { E } from "pkg"; // Error +export type { E as _E } from "pkg"; // Ok From 5e9b07001e647f4b9976bafb47669664bfa5b005 Mon Sep 17 00:00:00 2001 From: Andrew Branch Date: Wed, 31 Jul 2024 13:40:27 -0700 Subject: [PATCH 78/89] Actually set impliedNodeFormat in more cases (#59479) --- src/compiler/program.ts | 17 +- .../allowJsCrossMonorepoPackage.trace.json | 3 + ...ionsExcludesNode(module=esnext).trace.json | 4 +- ...nsExcludesNode(module=preserve).trace.json | 4 +- .../bundlerImportESM(module=esnext).js | 3 +- ...dlerNodeModules1(module=esnext).errors.txt | 6 +- .../bundlerNodeModules1(module=esnext).js | 3 +- ...dlerNodeModules1(module=esnext).trace.json | 22 +- .../bundlerNodeModules1(module=esnext).types | 6 +- ...erNodeModules1(module=preserve).errors.txt | 6 +- ...erNodeModules1(module=preserve).trace.json | 22 +- ...bundlerNodeModules1(module=preserve).types | 6 +- .../cachedModuleResolution1.trace.json | 4 + .../cachedModuleResolution2.trace.json | 4 + .../cachedModuleResolution5.trace.json | 4 + ...lback(moduleresolution=bundler).trace.json | 4 +- ...esolvepackagejsonexports=false).trace.json | 5 +- ...resolvepackagejsonexports=true).trace.json | 5 +- ...age_relativeImportWithinPackage.trace.json | 6 + ...ativeImportWithinPackage_scoped.trace.json | 6 + ...nthesizedDefault(module=esnext).errors.txt | 23 + ...oSynthesizedDefault(module=esnext).symbols | 10 +- ...mNoSynthesizedDefault(module=esnext).types | 52 +- ...hesizedDefault(module=preserve).errors.txt | 23 + ...ynthesizedDefault(module=preserve).symbols | 10 +- ...oSynthesizedDefault(module=preserve).types | 52 +- ...impliedNodeFormatEmit1(module=commonjs).js | 18 +- .../impliedNodeFormatEmit1(module=esnext).js | 8 +- ...impliedNodeFormatEmit2(module=commonjs).js | 18 +- .../impliedNodeFormatEmit2(module=esnext).js | 8 +- ...impliedNodeFormatEmit3(module=commonjs).js | 18 +- .../impliedNodeFormatEmit3(module=esnext).js | 8 +- ...impliedNodeFormatEmit4(module=commonjs).js | 18 +- .../impliedNodeFormatEmit4(module=esnext).js | 8 +- ...portHelpersVerbatimModuleSyntax.errors.txt | 48 -- .../importHelpersVerbatimModuleSyntax.types | 4 - .../libTypeScriptOverrideSimple.trace.json | 6 +- ...bTypeScriptOverrideSimpleConfig.trace.json | 5 + .../libTypeScriptSubfileResolving.trace.json | 10 +- ...ypeScriptSubfileResolvingConfig.trace.json | 10 + .../reference/library-reference-11.trace.json | 1 + .../reference/library-reference-12.trace.json | 2 + .../reference/library-reference-3.trace.json | 4 + .../reference/library-reference-4.trace.json | 16 + .../reference/library-reference-5.trace.json | 16 + .../reference/library-reference-6.trace.json | 4 + .../reference/library-reference-7.trace.json | 4 + ...brary-reference-scoped-packages.trace.json | 4 + ...uleDetectionIsolatedModulesCjsFileScope.js | 3 +- .../reference/modulePreserve2.trace.json | 1 + .../reference/modulePreserve3.trace.json | 8 +- .../reference/modulePreserve4.errors.txt | 38 +- .../baselines/reference/modulePreserve4.types | 8 +- ...nAsTypeReferenceDirectiveScoped.trace.json | 10 + ...geIdWithRelativeAndAbsolutePath.trace.json | 10 + ...olutionWithExtensions_withPaths.trace.json | 4 + ...WithSuffixes_one_externalModule.trace.json | 3 + ...Suffixes_one_externalModulePath.trace.json | 3 + ...es_one_externalModule_withPaths.trace.json | 4 + ...thSuffixes_one_externalTSModule.trace.json | 3 + ...onWithSymlinks_preserveSymlinks.trace.json | 12 + ...tionWithSymlinks_referenceTypes.trace.json | 8 + ...on_packageJson_notAtPackageRoot.trace.json | 1 + ...AtPackageRoot_fakeScopedPackage.trace.json | 1 + ...ution_packageJson_scopedPackage.trace.json | 1 + ...ageRoot_mainFieldInSubDirectory.trace.json | 4 +- ...irect(moduleresolution=bundler).trace.json | 4 +- ...e10AlternateResult_noResolution.trace.json | 3 +- .../node10Alternateresult_noTypes.trace.json | 3 +- .../reference/node10IsNode_node.trace.json | 4 +- .../reference/node10IsNode_node10.trace.json | 4 +- .../nodeColonModuleResolution.trace.json | 6 + .../nodeColonModuleResolution2.trace.json | 6 + ...pingBasedModuleResolution3_node.trace.json | 3 + ...pingBasedModuleResolution4_node.trace.json | 3 + ...pingBasedModuleResolution5_node.trace.json | 2 + ...pingBasedModuleResolution7_node.trace.json | 2 + ...stic1(moduleresolution=bundler).trace.json | 6 +- ...ule-resolutions-from-non-modified-files.js | 102 ++- .../fetches-imports-after-npm-install.js | 3 + .../reference/scopedPackages.trace.json | 13 + .../scopedPackagesClassic.trace.json | 4 + .../selfNameModuleAugmentation.trace.json | 6 +- .../with-config-with-redirection.js | 159 ++++- ...iffers-between-projects-for-shared-file.js | 1 + ...project-correctly-with-preserveSymlinks.js | 2 + .../with-config-with-redirection.js | 177 +++++- ...se-different-module-resolution-settings.js | 79 ++- ...ther-symlinked-package-moduleCaseChange.js | 2 + ...age-with-indirect-link-moduleCaseChange.js | 2 + ...er-symlinked-package-with-indirect-link.js | 2 + ...gh-source-and-another-symlinked-package.js | 2 + .../with-config-with-redirection.js | 56 +- .../without-config-with-redirection.js | 28 + .../tsc/moduleResolution/pnpm-style-layout.js | 8 + ...nterop-uses-referenced-project-settings.js | 1 + ...ypes-found-doesn't-crash-under---strict.js | 10 +- ...th-no-backing-types-found-doesn't-crash.js | 10 +- .../jsxImportSource-option-changed.js | 2 + ...m-multiple-places-with-different-casing.js | 10 + ...editing-module-augmentation-incremental.js | 22 +- .../editing-module-augmentation-watch.js | 46 +- ...lpers-backing-types-removed-incremental.js | 11 +- ...tSource-backing-types-added-incremental.js | 11 +- ...xImportSource-backing-types-added-watch.js | 13 +- ...ource-backing-types-removed-incremental.js | 11 +- ...mportSource-backing-types-removed-watch.js | 15 +- ...ImportSource-option-changed-incremental.js | 22 +- .../jsxImportSource-option-changed-watch.js | 28 +- .../with-config-with-redirection.js | 581 ++++++++++++++++-- .../tscWatch/libraryResolution/with-config.js | 210 ++++++- .../without-config-with-redirection.js | 367 ++++++++++- .../libraryResolution/without-config.js | 113 +++- ...ent-module-names-are-resolved-correctly.js | 83 +++ ...odule-resolution-changes-in-config-file.js | 8 + ...-from-config-file-path-if-config-exists.js | 8 + .../watch-with-configFile.js | 8 + .../watch-without-configFile.js | 10 + .../reusing-type-ref-resolution.js | 213 ++++++- .../scoped-package-installation.js | 23 + ...are-global-and-installed-at-later-point.js | 2 + ...-no-notification-from-fs-for-index-file.js | 79 +++ ...der-that-already-contains-@types-folder.js | 10 + ...rogram-with-files-from-external-library.js | 8 + ...Symlinks-when-solution-is-already-built.js | 18 +- ...Symlinks-when-solution-is-already-built.js | 18 +- ...Symlinks-when-solution-is-already-built.js | 18 +- ...Symlinks-when-solution-is-already-built.js | 18 +- ...-folders-with-synchronousWatchDirectory.js | 46 ++ ...ymlinks-to-folders-in-recursive-folders.js | 46 ++ ...ory-with-outDir-and-declaration-enabled.js | 16 + .../with-non-synchronous-watch-directory.js | 32 + ...eDirectories-option-extendedDiagnostics.js | 12 + ...-directory-watching-extendedDiagnostics.js | 12 + ...ption-with-recursive-directory-watching.js | 8 + .../with-excludeDirectories-option.js | 8 + ...excludeFiles-option-extendedDiagnostics.js | 8 + .../watchOptions/with-excludeFiles-option.js | 4 + ...e-is-in-inferred-project-until-imported.js | 7 +- ...roviderProject-when-host-project-closes.js | 9 + ...-are-redirects-that-dont-actually-exist.js | 3 + ...pening-projects-for-find-all-references.js | 5 + ...s-on-AutoImportProviderProject-creation.js | 3 + ...covers-from-an-unparseable-package_json.js | 3 + ...ds-to-automatic-changes-in-node_modules.js | 6 + ...ponds-to-manual-changes-in-node_modules.js | 19 +- .../Responds-to-package_json-changes.js | 3 + ...der-when-program-structure-is-unchanged.js | 3 + ...een-AutoImportProvider-and-main-program.js | 3 + .../projects-already-inside-node_modules.js | 7 +- ...-FLLs-in-Classic-module-resolution-mode.js | 12 + ...der-FLLs-in-Node-module-resolution-mode.js | 12 + ...eive-event-for-the-@types-file-addition.js | 15 + ...uses-parent-most-node_modules-directory.js | 18 + ...ndle-@types-if-input-file-list-is-empty.js | 6 + ...odule-resolution-changes-in-config-file.js | 13 + ...ession-and-project-is-not-at-root-level.js | 15 + ...Update-and-project-is-not-at-root-level.js | 15 + ...Update-and-project-is-not-at-root-level.js | 15 + .../canUseWatchEvents-on-windows.js | 156 ++++- .../canUseWatchEvents-without-canUseEvents.js | 52 ++ .../events/watchEvents/canUseWatchEvents.js | 156 ++++- ...m-multiple-places-with-different-casing.js | 15 + .../autoImportFileExcludePatterns1.js | 3 + .../autoImportFileExcludePatterns2.js | 3 + ...oImportFileExcludePatterns_networkPaths.js | 3 + .../autoImportFileExcludePatterns_symlinks.js | 3 + ...autoImportFileExcludePatterns_symlinks2.js | 6 + ...oImportFileExcludePatterns_windowsPaths.js | 3 + .../fourslashServer/autoImportProvider1.js | 5 + .../fourslashServer/autoImportProvider5.js | 24 + .../fourslashServer/autoImportProvider6.js | 8 + .../autoImportProvider_exportMap2.js | 11 + .../autoImportProvider_exportMap3.js | 8 +- .../autoImportProvider_globalTypingsCache.js | 3 + ...rtProvider_namespaceSameNameAsIntrinsic.js | 5 + .../autoImportProvider_pnpm.js | 18 + .../autoImportReExportFromAmbientModule.js | 22 + .../completionsImport_computedSymbolName.js | 16 + .../declarationMapsOutOfDateMapping.js | 13 + .../fourslashServer/goToSource15_bundler.js | 3 + .../goToSource2_nodeModulesWithTypes.js | 8 + .../goToSource3_nodeModulesAtTypes.js | 3 + .../goToSource6_sameAsGoToDef2.js | 5 + .../goToSource7_conditionallyMinified.js | 3 + .../goToSource8_mapFromAtTypes.js | 10 + .../goToSource9_mapFromAtTypes2.js | 10 + .../importNameCodeFix_pnpm1.js | 55 ++ .../importStatementCompletions_pnpm1.js | 55 ++ ...portStatementCompletions_pnpmTransitive.js | 64 ++ .../importSuggestionsCache_coreNodeModules.js | 8 + ...portSuggestionsCache_invalidPackageJson.js | 8 + ...portSuggestionsCache_moduleAugmentation.js | 8 + ...excluding-node_modules-within-a-project.js | 9 + .../should-not-crash-in-tsserver.js | 3 + .../with-config-with-redirection.js | 445 +++++++++++++- .../tsserver/libraryResolution/with-config.js | 272 +++++++- ...when-referencing-file-from-another-file.js | 35 ++ ...t-to-2-if-the-project-has-js-root-files.js | 10 + ...-same-ambient-module-and-is-also-module.js | 15 + ...-when-timeout-occurs-after-installation.js | 15 + ...n-timeout-occurs-inbetween-installation.js | 15 + ...solution-is-built-with-preserveSymlinks.js | 18 +- ...solution-is-built-with-preserveSymlinks.js | 18 +- ...solution-is-built-with-preserveSymlinks.js | 18 +- ...solution-is-built-with-preserveSymlinks.js | 18 +- ...folders-for-default-configured-projects.js | 24 + .../reloadProjects/configured-project.js | 60 ++ .../external-project-with-config-file.js | 60 ++ .../reloadProjects/external-project.js | 60 ++ .../reloadProjects/inferred-project.js | 60 ++ ...unnecessary-lookup-invalidation-on-save.js | 36 ++ ...an-load-typings-that-are-proper-modules.js | 21 + ...le-name-from-files-in-different-folders.js | 66 ++ ...e-module-name-from-files-in-same-folder.js | 66 ++ ...ative-module-name-from-inferred-project.js | 66 ++ .../not-sharing-across-references.js | 15 + .../npm-install-@types-works.js | 15 + .../sharing-across-references.js | 15 + ...-from-config-file-path-if-config-exists.js | 9 + ...wild-card-directories-in-config-project.js | 12 + .../closed-script-infos.js | 12 + ...ectly-when-typings-are-added-or-removed.js | 67 ++ .../when-not-symlink-but-differs-in-casing.js | 8 +- .../prefer-typings-in-second-pass.js | 15 + ...projects-discover-from-bower_components.js | 24 + .../typingsInstaller/configured-projects.js | 27 + .../typingsInstaller/discover-from-bower.js | 26 + ...rom-node_modules-empty-types-has-import.js | 24 + .../discover-from-node_modules.js | 26 + .../typingsInstaller/expired-cache-entry.js | 25 + .../external-projects-duplicate-package.js | 5 + .../external-projects-no-type-acquisition.js | 30 + .../external-projects-type-acquisition.js | 36 ++ .../typingsInstaller/inferred-projects.js | 25 + .../install-typings-for-unresolved-imports.js | 23 + ...date-the-resolutions-with-trimmed-names.js | 30 + .../invalidate-the-resolutions.js | 27 + .../typingsInstaller/malformed-packagejson.js | 21 + .../typingsInstaller/multiple-projects.js | 46 ++ .../typingsInstaller/progress-notification.js | 21 + ...utions-pointing-to-js-on-typing-install.js | 40 ++ .../typingsInstaller/scoped-name-discovery.js | 29 + .../should-handle-node-core-modules.js | 13 + .../typingsInstaller/telemetry-events.js | 21 + .../throttle-delayed-run-install-requests.js | 42 ++ .../throttle-delayed-typings-to-install.js | 39 ++ .../external-project-watch-options-errors.js | 20 + ...ect-watch-options-in-host-configuration.js | 20 + .../external-project-watch-options.js | 20 + .../inferred-project-watch-options-errors.js | 12 + ...ect-watch-options-in-host-configuration.js | 12 + .../inferred-project-watch-options.js | 12 + ...ere-workspaces-folder-is-hosted-at-root.js | 90 +++ ...excludeDirectories-option-in-configFile.js | 12 + ...ludeDirectories-option-in-configuration.js | 12 + ...tiveScopedPackageCustomTypeRoot.trace.json | 8 + ...eferenceDirectiveWithTypeAsFile.trace.json | 4 + ...mMultipleNodeModulesDirectories.trace.json | 14 + ...romNodeModulesInParentDirectory.trace.json | 4 + .../typesVersions.ambientModules.trace.json | 2 + .../typesVersions.multiFile.trace.json | 4 + ...VersionsDeclarationEmit.ambient.trace.json | 2 + ...rsionsDeclarationEmit.multiFile.trace.json | 4 + ...it.multiFileBackReferenceToSelf.trace.json | 5 + ...ultiFileBackReferenceToUnmapped.trace.json | 3 + .../reference/typingsLookup1.trace.json | 4 + .../reference/typingsLookup3.trace.json | 4 + .../reference/typingsLookup4.trace.json | 5 + .../reference/typingsLookupAmd.trace.json | 9 + 270 files changed, 6386 insertions(+), 600 deletions(-) create mode 100644 tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).errors.txt create mode 100644 tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).errors.txt delete mode 100644 tests/baselines/reference/importHelpersVerbatimModuleSyntax.errors.txt diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 6e8e8c4f492..bd9b42caae9 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -1392,16 +1392,13 @@ export function getImpliedNodeFormatForFileWorker( host: ModuleResolutionHost, options: CompilerOptions, ) { - switch (getEmitModuleResolutionKind(options)) { - case ModuleResolutionKind.Node16: - case ModuleResolutionKind.NodeNext: - return fileExtensionIsOneOf(fileName, [Extension.Dmts, Extension.Mts, Extension.Mjs]) ? ModuleKind.ESNext : - fileExtensionIsOneOf(fileName, [Extension.Dcts, Extension.Cts, Extension.Cjs]) ? ModuleKind.CommonJS : - fileExtensionIsOneOf(fileName, [Extension.Dts, Extension.Ts, Extension.Tsx, Extension.Js, Extension.Jsx]) ? lookupFromPackageJson() : - undefined; // other extensions, like `json` or `tsbuildinfo`, are set as `undefined` here but they should never be fed through the transformer pipeline - default: - return undefined; - } + const moduleResolution = getEmitModuleResolutionKind(options); + const shouldLookupFromPackageJson = ModuleResolutionKind.Node16 <= moduleResolution && moduleResolution <= ModuleResolutionKind.NodeNext + || pathContainsNodeModules(fileName); + return fileExtensionIsOneOf(fileName, [Extension.Dmts, Extension.Mts, Extension.Mjs]) ? ModuleKind.ESNext : + fileExtensionIsOneOf(fileName, [Extension.Dcts, Extension.Cts, Extension.Cjs]) ? ModuleKind.CommonJS : + shouldLookupFromPackageJson && fileExtensionIsOneOf(fileName, [Extension.Dts, Extension.Ts, Extension.Tsx, Extension.Js, Extension.Jsx]) ? lookupFromPackageJson() : + undefined; // other extensions, like `json` or `tsbuildinfo`, are set as `undefined` here but they should never be fed through the transformer pipeline function lookupFromPackageJson(): Partial { const state = getTemporaryModuleResolutionState(packageJsonInfoCache, host, options); diff --git a/tests/baselines/reference/allowJsCrossMonorepoPackage.trace.json b/tests/baselines/reference/allowJsCrossMonorepoPackage.trace.json index e6ee863686b..94f9c947b77 100644 --- a/tests/baselines/reference/allowJsCrossMonorepoPackage.trace.json +++ b/tests/baselines/reference/allowJsCrossMonorepoPackage.trace.json @@ -73,6 +73,9 @@ "File '/node_modules/pkg/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/pkg/index.d.ts', result '/node_modules/pkg/index.d.ts'.", "======== Module name 'pkg' was successfully resolved to '/node_modules/pkg/index.d.ts'. ========", + "File '/node_modules/pkg/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/packages/main/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/bundlerConditionsExcludesNode(module=esnext).trace.json b/tests/baselines/reference/bundlerConditionsExcludesNode(module=esnext).trace.json index 2b67a19c808..36b71d80233 100644 --- a/tests/baselines/reference/bundlerConditionsExcludesNode(module=esnext).trace.json +++ b/tests/baselines/reference/bundlerConditionsExcludesNode(module=esnext).trace.json @@ -1,11 +1,13 @@ [ + "Found 'package.json' at '/node_modules/conditions/package.json'.", + "File '/node_modules/conditions/package.json' exists according to earlier cached lookups.", "======== Resolving module 'conditions' from '/main.ts'. ========", "Explicitly specified module resolution kind: 'Bundler'.", "Resolving in CJS mode with conditions 'import', 'types'.", "File '/package.json' does not exist.", "Loading module 'conditions' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", - "Found 'package.json' at '/node_modules/conditions/package.json'.", + "File '/node_modules/conditions/package.json' exists according to earlier cached lookups.", "Entering conditional exports.", "Saw non-matching condition 'node'.", "Matched 'exports' condition 'default'.", diff --git a/tests/baselines/reference/bundlerConditionsExcludesNode(module=preserve).trace.json b/tests/baselines/reference/bundlerConditionsExcludesNode(module=preserve).trace.json index 2b67a19c808..36b71d80233 100644 --- a/tests/baselines/reference/bundlerConditionsExcludesNode(module=preserve).trace.json +++ b/tests/baselines/reference/bundlerConditionsExcludesNode(module=preserve).trace.json @@ -1,11 +1,13 @@ [ + "Found 'package.json' at '/node_modules/conditions/package.json'.", + "File '/node_modules/conditions/package.json' exists according to earlier cached lookups.", "======== Resolving module 'conditions' from '/main.ts'. ========", "Explicitly specified module resolution kind: 'Bundler'.", "Resolving in CJS mode with conditions 'import', 'types'.", "File '/package.json' does not exist.", "Loading module 'conditions' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", - "Found 'package.json' at '/node_modules/conditions/package.json'.", + "File '/node_modules/conditions/package.json' exists according to earlier cached lookups.", "Entering conditional exports.", "Saw non-matching condition 'node'.", "Matched 'exports' condition 'default'.", diff --git a/tests/baselines/reference/bundlerImportESM(module=esnext).js b/tests/baselines/reference/bundlerImportESM(module=esnext).js index 48e483322c2..54887aeaed8 100644 --- a/tests/baselines/reference/bundlerImportESM(module=esnext).js +++ b/tests/baselines/reference/bundlerImportESM(module=esnext).js @@ -16,6 +16,7 @@ import { esm } from "./esm.mjs"; //// [esm.mjs] export var esm = 0; //// [not-actually-cjs.cjs] -export {}; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //// [still-not-cjs.js] export {}; diff --git a/tests/baselines/reference/bundlerNodeModules1(module=esnext).errors.txt b/tests/baselines/reference/bundlerNodeModules1(module=esnext).errors.txt index 69921a8ce14..b25d226dacf 100644 --- a/tests/baselines/reference/bundlerNodeModules1(module=esnext).errors.txt +++ b/tests/baselines/reference/bundlerNodeModules1(module=esnext).errors.txt @@ -4,7 +4,7 @@ error TS6504: File '/node_modules/dual/index.cjs' is a JavaScript file. Did you error TS6504: File '/node_modules/dual/index.js' is a JavaScript file. Did you mean to enable the 'allowJs' option? The file is in the program because: Root file specified for compilation -/main.cts(1,15): error TS2305: Module '"dual"' has no exported member 'cjs'. +/main.cts(1,10): error TS2305: Module '"dual"' has no exported member 'esm'. /main.mts(1,15): error TS2305: Module '"dual"' has no exported member 'cjs'. /main.ts(1,15): error TS2305: Module '"dual"' has no exported member 'cjs'. @@ -54,6 +54,6 @@ error TS6504: File '/node_modules/dual/index.js' is a JavaScript file. Did you m ==== /main.cts (1 errors) ==== import { esm, cjs } from "dual"; - ~~~ -!!! error TS2305: Module '"dual"' has no exported member 'cjs'. + ~~~ +!!! error TS2305: Module '"dual"' has no exported member 'esm'. \ No newline at end of file diff --git a/tests/baselines/reference/bundlerNodeModules1(module=esnext).js b/tests/baselines/reference/bundlerNodeModules1(module=esnext).js index 1272b9f38f8..c870e2e4522 100644 --- a/tests/baselines/reference/bundlerNodeModules1(module=esnext).js +++ b/tests/baselines/reference/bundlerNodeModules1(module=esnext).js @@ -42,4 +42,5 @@ export {}; //// [main.mjs] export {}; //// [main.cjs] -export {}; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/bundlerNodeModules1(module=esnext).trace.json b/tests/baselines/reference/bundlerNodeModules1(module=esnext).trace.json index 9976c48b130..fe723e33866 100644 --- a/tests/baselines/reference/bundlerNodeModules1(module=esnext).trace.json +++ b/tests/baselines/reference/bundlerNodeModules1(module=esnext).trace.json @@ -1,11 +1,12 @@ [ + "Found 'package.json' at '/node_modules/dual/package.json'.", "======== Resolving module 'dual' from '/main.ts'. ========", "Explicitly specified module resolution kind: 'Bundler'.", "Resolving in CJS mode with conditions 'import', 'types'.", "File '/package.json' does not exist.", "Loading module 'dual' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", - "Found 'package.json' at '/node_modules/dual/package.json'.", + "File '/node_modules/dual/package.json' exists according to earlier cached lookups.", "Entering conditional exports.", "Matched 'exports' condition 'import'.", "Using 'exports' subpath '.' with target './index.js'.", @@ -22,8 +23,23 @@ "Resolution for module 'dual' was found in cache from location '/'.", "======== Module name 'dual' was successfully resolved to '/node_modules/dual/index.d.ts' with Package ID 'dual/index.d.ts@1.0.0'. ========", "======== Resolving module 'dual' from '/main.cts'. ========", - "Resolution for module 'dual' was found in cache from location '/'.", - "======== Module name 'dual' was successfully resolved to '/node_modules/dual/index.d.ts' with Package ID 'dual/index.d.ts@1.0.0'. ========", + "Explicitly specified module resolution kind: 'Bundler'.", + "Resolving in CJS mode with conditions 'require', 'types'.", + "File '/package.json' does not exist according to earlier cached lookups.", + "Loading module 'dual' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "File '/node_modules/dual/package.json' exists according to earlier cached lookups.", + "Entering conditional exports.", + "Saw non-matching condition 'import'.", + "Matched 'exports' condition 'require'.", + "Using 'exports' subpath '.' with target './index.cjs'.", + "File name '/node_modules/dual/index.cjs' has a '.cjs' extension - stripping it.", + "File '/node_modules/dual/index.cts' does not exist.", + "File '/node_modules/dual/index.d.cts' exists - use it as a name resolution result.", + "Resolved under condition 'require'.", + "Exiting conditional exports.", + "Resolving real path for '/node_modules/dual/index.d.cts', result '/node_modules/dual/index.d.cts'.", + "======== Module name 'dual' was successfully resolved to '/node_modules/dual/index.d.cts' with Package ID 'dual/index.d.cts@1.0.0'. ========", "======== Resolving module '@typescript/lib-es5' from '/.src/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/bundlerNodeModules1(module=esnext).types b/tests/baselines/reference/bundlerNodeModules1(module=esnext).types index 2d8967df384..a225f0203cc 100644 --- a/tests/baselines/reference/bundlerNodeModules1(module=esnext).types +++ b/tests/baselines/reference/bundlerNodeModules1(module=esnext).types @@ -26,8 +26,8 @@ import { esm, cjs } from "dual"; === /main.cts === import { esm, cjs } from "dual"; ->esm : number -> : ^^^^^^ ->cjs : any +>esm : any > : ^^^ +>cjs : number +> : ^^^^^^ diff --git a/tests/baselines/reference/bundlerNodeModules1(module=preserve).errors.txt b/tests/baselines/reference/bundlerNodeModules1(module=preserve).errors.txt index 69921a8ce14..b25d226dacf 100644 --- a/tests/baselines/reference/bundlerNodeModules1(module=preserve).errors.txt +++ b/tests/baselines/reference/bundlerNodeModules1(module=preserve).errors.txt @@ -4,7 +4,7 @@ error TS6504: File '/node_modules/dual/index.cjs' is a JavaScript file. Did you error TS6504: File '/node_modules/dual/index.js' is a JavaScript file. Did you mean to enable the 'allowJs' option? The file is in the program because: Root file specified for compilation -/main.cts(1,15): error TS2305: Module '"dual"' has no exported member 'cjs'. +/main.cts(1,10): error TS2305: Module '"dual"' has no exported member 'esm'. /main.mts(1,15): error TS2305: Module '"dual"' has no exported member 'cjs'. /main.ts(1,15): error TS2305: Module '"dual"' has no exported member 'cjs'. @@ -54,6 +54,6 @@ error TS6504: File '/node_modules/dual/index.js' is a JavaScript file. Did you m ==== /main.cts (1 errors) ==== import { esm, cjs } from "dual"; - ~~~ -!!! error TS2305: Module '"dual"' has no exported member 'cjs'. + ~~~ +!!! error TS2305: Module '"dual"' has no exported member 'esm'. \ No newline at end of file diff --git a/tests/baselines/reference/bundlerNodeModules1(module=preserve).trace.json b/tests/baselines/reference/bundlerNodeModules1(module=preserve).trace.json index 9976c48b130..fe723e33866 100644 --- a/tests/baselines/reference/bundlerNodeModules1(module=preserve).trace.json +++ b/tests/baselines/reference/bundlerNodeModules1(module=preserve).trace.json @@ -1,11 +1,12 @@ [ + "Found 'package.json' at '/node_modules/dual/package.json'.", "======== Resolving module 'dual' from '/main.ts'. ========", "Explicitly specified module resolution kind: 'Bundler'.", "Resolving in CJS mode with conditions 'import', 'types'.", "File '/package.json' does not exist.", "Loading module 'dual' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", - "Found 'package.json' at '/node_modules/dual/package.json'.", + "File '/node_modules/dual/package.json' exists according to earlier cached lookups.", "Entering conditional exports.", "Matched 'exports' condition 'import'.", "Using 'exports' subpath '.' with target './index.js'.", @@ -22,8 +23,23 @@ "Resolution for module 'dual' was found in cache from location '/'.", "======== Module name 'dual' was successfully resolved to '/node_modules/dual/index.d.ts' with Package ID 'dual/index.d.ts@1.0.0'. ========", "======== Resolving module 'dual' from '/main.cts'. ========", - "Resolution for module 'dual' was found in cache from location '/'.", - "======== Module name 'dual' was successfully resolved to '/node_modules/dual/index.d.ts' with Package ID 'dual/index.d.ts@1.0.0'. ========", + "Explicitly specified module resolution kind: 'Bundler'.", + "Resolving in CJS mode with conditions 'require', 'types'.", + "File '/package.json' does not exist according to earlier cached lookups.", + "Loading module 'dual' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", + "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", + "File '/node_modules/dual/package.json' exists according to earlier cached lookups.", + "Entering conditional exports.", + "Saw non-matching condition 'import'.", + "Matched 'exports' condition 'require'.", + "Using 'exports' subpath '.' with target './index.cjs'.", + "File name '/node_modules/dual/index.cjs' has a '.cjs' extension - stripping it.", + "File '/node_modules/dual/index.cts' does not exist.", + "File '/node_modules/dual/index.d.cts' exists - use it as a name resolution result.", + "Resolved under condition 'require'.", + "Exiting conditional exports.", + "Resolving real path for '/node_modules/dual/index.d.cts', result '/node_modules/dual/index.d.cts'.", + "======== Module name 'dual' was successfully resolved to '/node_modules/dual/index.d.cts' with Package ID 'dual/index.d.cts@1.0.0'. ========", "======== Resolving module '@typescript/lib-es5' from '/.src/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/bundlerNodeModules1(module=preserve).types b/tests/baselines/reference/bundlerNodeModules1(module=preserve).types index 2d8967df384..a225f0203cc 100644 --- a/tests/baselines/reference/bundlerNodeModules1(module=preserve).types +++ b/tests/baselines/reference/bundlerNodeModules1(module=preserve).types @@ -26,8 +26,8 @@ import { esm, cjs } from "dual"; === /main.cts === import { esm, cjs } from "dual"; ->esm : number -> : ^^^^^^ ->cjs : any +>esm : any > : ^^^ +>cjs : number +> : ^^^^^^ diff --git a/tests/baselines/reference/cachedModuleResolution1.trace.json b/tests/baselines/reference/cachedModuleResolution1.trace.json index e0abb568e03..6df05454677 100644 --- a/tests/baselines/reference/cachedModuleResolution1.trace.json +++ b/tests/baselines/reference/cachedModuleResolution1.trace.json @@ -1,4 +1,8 @@ [ + "File '/a/b/node_modules/package.json' does not exist.", + "File '/a/b/package.json' does not exist.", + "File '/a/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module 'foo' from '/a/b/c/d/e/app.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module 'foo' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/cachedModuleResolution2.trace.json b/tests/baselines/reference/cachedModuleResolution2.trace.json index af31f721e87..d65f34c9c39 100644 --- a/tests/baselines/reference/cachedModuleResolution2.trace.json +++ b/tests/baselines/reference/cachedModuleResolution2.trace.json @@ -1,4 +1,8 @@ [ + "File '/a/b/node_modules/package.json' does not exist.", + "File '/a/b/package.json' does not exist.", + "File '/a/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module 'foo' from '/a/b/c/lib.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module 'foo' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/cachedModuleResolution5.trace.json b/tests/baselines/reference/cachedModuleResolution5.trace.json index 897fc3aa4c3..1fbadddc744 100644 --- a/tests/baselines/reference/cachedModuleResolution5.trace.json +++ b/tests/baselines/reference/cachedModuleResolution5.trace.json @@ -1,4 +1,8 @@ [ + "File '/a/b/node_modules/package.json' does not exist.", + "File '/a/b/package.json' does not exist.", + "File '/a/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module 'foo' from '/a/b/c/d/e/app.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module 'foo' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/conditionalExportsResolutionFallback(moduleresolution=bundler).trace.json b/tests/baselines/reference/conditionalExportsResolutionFallback(moduleresolution=bundler).trace.json index 5cf2ce2ba81..03336ac61ee 100644 --- a/tests/baselines/reference/conditionalExportsResolutionFallback(moduleresolution=bundler).trace.json +++ b/tests/baselines/reference/conditionalExportsResolutionFallback(moduleresolution=bundler).trace.json @@ -1,11 +1,13 @@ [ + "File '/node_modules/dep/dist/package.json' does not exist.", + "Found 'package.json' at '/node_modules/dep/package.json'.", "======== Resolving module 'dep' from '/index.mts'. ========", "Explicitly specified module resolution kind: 'Bundler'.", "Resolving in CJS mode with conditions 'import', 'types'.", "File '/package.json' does not exist.", "Loading module 'dep' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", - "Found 'package.json' at '/node_modules/dep/package.json'.", + "File '/node_modules/dep/package.json' exists according to earlier cached lookups.", "Entering conditional exports.", "Matched 'exports' condition 'import'.", "Using 'exports' subpath '.' with target './dist/index.mjs'.", diff --git a/tests/baselines/reference/customConditions(resolvepackagejsonexports=false).trace.json b/tests/baselines/reference/customConditions(resolvepackagejsonexports=false).trace.json index 92c6aa7e035..807136499cb 100644 --- a/tests/baselines/reference/customConditions(resolvepackagejsonexports=false).trace.json +++ b/tests/baselines/reference/customConditions(resolvepackagejsonexports=false).trace.json @@ -1,11 +1,14 @@ [ + "Found 'package.json' at '/node_modules/lodash/package.json'.", + "File '/node_modules/lodash/package.json' exists according to earlier cached lookups.", + "File '/node_modules/lodash/package.json' exists according to earlier cached lookups.", "======== Resolving module 'lodash' from '/index.ts'. ========", "Explicitly specified module resolution kind: 'Bundler'.", "Resolving in CJS mode with conditions 'import', 'types', 'webpack', ' browser'.", "File '/package.json' does not exist.", "Loading module 'lodash' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", - "Found 'package.json' at '/node_modules/lodash/package.json'.", + "File '/node_modules/lodash/package.json' exists according to earlier cached lookups.", "File '/node_modules/lodash.ts' does not exist.", "File '/node_modules/lodash.tsx' does not exist.", "File '/node_modules/lodash.d.ts' does not exist.", diff --git a/tests/baselines/reference/customConditions(resolvepackagejsonexports=true).trace.json b/tests/baselines/reference/customConditions(resolvepackagejsonexports=true).trace.json index c91e61256b1..c3dc1f71a2e 100644 --- a/tests/baselines/reference/customConditions(resolvepackagejsonexports=true).trace.json +++ b/tests/baselines/reference/customConditions(resolvepackagejsonexports=true).trace.json @@ -1,11 +1,14 @@ [ + "Found 'package.json' at '/node_modules/lodash/package.json'.", + "File '/node_modules/lodash/package.json' exists according to earlier cached lookups.", + "File '/node_modules/lodash/package.json' exists according to earlier cached lookups.", "======== Resolving module 'lodash' from '/index.ts'. ========", "Explicitly specified module resolution kind: 'Bundler'.", "Resolving in CJS mode with conditions 'import', 'types', 'webpack', ' browser'.", "File '/package.json' does not exist.", "Loading module 'lodash' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", - "Found 'package.json' at '/node_modules/lodash/package.json'.", + "File '/node_modules/lodash/package.json' exists according to earlier cached lookups.", "Entering conditional exports.", "Saw non-matching condition 'browser'.", "Matched 'exports' condition 'webpack'.", diff --git a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.trace.json b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.trace.json index 557fda775e6..af4393c30fc 100644 --- a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.trace.json +++ b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage.trace.json @@ -24,6 +24,7 @@ "File '/node_modules/a/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/a/index.d.ts', result '/node_modules/a/index.d.ts'.", "======== Module name 'a' was successfully resolved to '/node_modules/a/index.d.ts'. ========", + "File '/node_modules/foo/package.json' exists according to earlier cached lookups.", "======== Resolving module './index' from '/node_modules/foo/use.d.ts'. ========", "Module resolution kind is not specified, using 'Node10'.", "Loading module as file / folder, candidate module location '/node_modules/foo/index', target file types: TypeScript, Declaration.", @@ -32,6 +33,10 @@ "File '/node_modules/foo/index.d.ts' exists - use it as a name resolution result.", "File '/node_modules/foo/package.json' exists according to earlier cached lookups.", "======== Module name './index' was successfully resolved to '/node_modules/foo/index.d.ts' with Package ID 'foo/index.d.ts@1.2.3'. ========", + "File '/node_modules/foo/package.json' exists according to earlier cached lookups.", + "File '/node_modules/a/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module 'foo' from '/node_modules/a/index.d.ts'. ========", "Module resolution kind is not specified, using 'Node10'.", "Loading module 'foo' from 'node_modules' folder, target file types: TypeScript, Declaration.", @@ -50,6 +55,7 @@ "'package.json' does not have a 'peerDependencies' field.", "Resolving real path for '/node_modules/a/node_modules/foo/index.d.ts', result '/node_modules/a/node_modules/foo/index.d.ts'.", "======== Module name 'foo' was successfully resolved to '/node_modules/a/node_modules/foo/index.d.ts' with Package ID 'foo/index.d.ts@1.2.3'. ========", + "File '/node_modules/a/node_modules/foo/package.json' exists according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/.src/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.trace.json b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.trace.json index 98916c4ce30..02c88237bb6 100644 --- a/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.trace.json +++ b/tests/baselines/reference/duplicatePackage_relativeImportWithinPackage_scoped.trace.json @@ -24,6 +24,7 @@ "File '/node_modules/a/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/a/index.d.ts', result '/node_modules/a/index.d.ts'.", "======== Module name 'a' was successfully resolved to '/node_modules/a/index.d.ts'. ========", + "File '/node_modules/@foo/bar/package.json' exists according to earlier cached lookups.", "======== Resolving module './index' from '/node_modules/@foo/bar/use.d.ts'. ========", "Module resolution kind is not specified, using 'Node10'.", "Loading module as file / folder, candidate module location '/node_modules/@foo/bar/index', target file types: TypeScript, Declaration.", @@ -32,6 +33,10 @@ "File '/node_modules/@foo/bar/index.d.ts' exists - use it as a name resolution result.", "File '/node_modules/@foo/bar/package.json' exists according to earlier cached lookups.", "======== Module name './index' was successfully resolved to '/node_modules/@foo/bar/index.d.ts' with Package ID '@foo/bar/index.d.ts@1.2.3'. ========", + "File '/node_modules/@foo/bar/package.json' exists according to earlier cached lookups.", + "File '/node_modules/a/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@foo/bar' from '/node_modules/a/index.d.ts'. ========", "Module resolution kind is not specified, using 'Node10'.", "Loading module '@foo/bar' from 'node_modules' folder, target file types: TypeScript, Declaration.", @@ -50,6 +55,7 @@ "'package.json' does not have a 'peerDependencies' field.", "Resolving real path for '/node_modules/a/node_modules/@foo/bar/index.d.ts', result '/node_modules/a/node_modules/@foo/bar/index.d.ts'.", "======== Module name '@foo/bar' was successfully resolved to '/node_modules/a/node_modules/@foo/bar/index.d.ts' with Package ID '@foo/bar/index.d.ts@1.2.3'. ========", + "File '/node_modules/a/node_modules/@foo/bar/package.json' exists according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/.src/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).errors.txt b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).errors.txt new file mode 100644 index 00000000000..1c86c3703f8 --- /dev/null +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).errors.txt @@ -0,0 +1,23 @@ +/index.ts(1,8): error TS1192: Module '"/node_modules/mdast-util-to-string/index"' has no default export. +/index.ts(7,8): error TS2339: Property 'default' does not exist on type 'typeof import("/node_modules/mdast-util-to-string/index")'. + + +==== /node_modules/mdast-util-to-string/package.json (0 errors) ==== + { "type": "module" } + +==== /node_modules/mdast-util-to-string/index.d.ts (0 errors) ==== + export function toString(): string; + +==== /index.ts (2 errors) ==== + import mdast, { toString } from 'mdast-util-to-string'; + ~~~~~ +!!! error TS1192: Module '"/node_modules/mdast-util-to-string/index"' has no default export. + mdast; + mdast.toString(); + + const mdast2 = await import('mdast-util-to-string'); + mdast2.toString(); + mdast2.default; + ~~~~~~~ +!!! error TS2339: Property 'default' does not exist on type 'typeof import("/node_modules/mdast-util-to-string/index")'. + \ No newline at end of file diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).symbols b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).symbols index 49f52de2941..a9c981cfa7c 100644 --- a/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).symbols +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).symbols @@ -13,21 +13,17 @@ mdast; >mdast : Symbol(mdast, Decl(index.ts, 0, 6)) mdast.toString(); ->mdast.toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) >mdast : Symbol(mdast, Decl(index.ts, 0, 6)) ->toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) const mdast2 = await import('mdast-util-to-string'); >mdast2 : Symbol(mdast2, Decl(index.ts, 4, 5)) ->'mdast-util-to-string' : Symbol(mdast, Decl(index.d.ts, 0, 0)) +>'mdast-util-to-string' : Symbol("/node_modules/mdast-util-to-string/index", Decl(index.d.ts, 0, 0)) mdast2.toString(); ->mdast2.toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) +>mdast2.toString : Symbol(toString, Decl(index.d.ts, 0, 0)) >mdast2 : Symbol(mdast2, Decl(index.ts, 4, 5)) ->toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) +>toString : Symbol(toString, Decl(index.d.ts, 0, 0)) mdast2.default; ->mdast2.default : Symbol(mdast.default) >mdast2 : Symbol(mdast2, Decl(index.ts, 4, 5)) ->default : Symbol(mdast.default) diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types index fa24f3a5362..226775c657b 100644 --- a/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=esnext).types @@ -7,32 +7,32 @@ export function toString(): string; === /index.ts === import mdast, { toString } from 'mdast-util-to-string'; ->mdast : typeof mdast -> : ^^^^^^^^^^^^ +>mdast : any +> : ^^^ >toString : () => string > : ^^^^^^ mdast; ->mdast : typeof mdast -> : ^^^^^^^^^^^^ +>mdast : any +> : ^^^ mdast.toString(); ->mdast.toString() : string -> : ^^^^^^ ->mdast.toString : () => string -> : ^^^^^^ ->mdast : typeof mdast -> : ^^^^^^^^^^^^ ->toString : () => string -> : ^^^^^^ +>mdast.toString() : any +> : ^^^ +>mdast.toString : any +> : ^^^ +>mdast : any +> : ^^^ +>toString : any +> : ^^^ const mdast2 = await import('mdast-util-to-string'); ->mdast2 : { default: typeof mdast; toString(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ->await import('mdast-util-to-string') : { default: typeof mdast; toString(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ->import('mdast-util-to-string') : Promise<{ default: typeof mdast; toString(): string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ +>mdast2 : typeof import("/node_modules/mdast-util-to-string/index") +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>await import('mdast-util-to-string') : typeof import("/node_modules/mdast-util-to-string/index") +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>import('mdast-util-to-string') : Promise +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'mdast-util-to-string' : "mdast-util-to-string" > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -41,16 +41,16 @@ mdast2.toString(); > : ^^^^^^ >mdast2.toString : () => string > : ^^^^^^ ->mdast2 : { default: typeof mdast; toString(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>mdast2 : typeof import("/node_modules/mdast-util-to-string/index") +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >toString : () => string > : ^^^^^^ mdast2.default; ->mdast2.default : typeof mdast -> : ^^^^^^^^^^^^ ->mdast2 : { default: typeof mdast; toString(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ->default : typeof mdast -> : ^^^^^^^^^^^^ +>mdast2.default : any +> : ^^^ +>mdast2 : typeof import("/node_modules/mdast-util-to-string/index") +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>default : any +> : ^^^ diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).errors.txt b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).errors.txt new file mode 100644 index 00000000000..1c86c3703f8 --- /dev/null +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).errors.txt @@ -0,0 +1,23 @@ +/index.ts(1,8): error TS1192: Module '"/node_modules/mdast-util-to-string/index"' has no default export. +/index.ts(7,8): error TS2339: Property 'default' does not exist on type 'typeof import("/node_modules/mdast-util-to-string/index")'. + + +==== /node_modules/mdast-util-to-string/package.json (0 errors) ==== + { "type": "module" } + +==== /node_modules/mdast-util-to-string/index.d.ts (0 errors) ==== + export function toString(): string; + +==== /index.ts (2 errors) ==== + import mdast, { toString } from 'mdast-util-to-string'; + ~~~~~ +!!! error TS1192: Module '"/node_modules/mdast-util-to-string/index"' has no default export. + mdast; + mdast.toString(); + + const mdast2 = await import('mdast-util-to-string'); + mdast2.toString(); + mdast2.default; + ~~~~~~~ +!!! error TS2339: Property 'default' does not exist on type 'typeof import("/node_modules/mdast-util-to-string/index")'. + \ No newline at end of file diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).symbols b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).symbols index 49f52de2941..a9c981cfa7c 100644 --- a/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).symbols +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).symbols @@ -13,21 +13,17 @@ mdast; >mdast : Symbol(mdast, Decl(index.ts, 0, 6)) mdast.toString(); ->mdast.toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) >mdast : Symbol(mdast, Decl(index.ts, 0, 6)) ->toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) const mdast2 = await import('mdast-util-to-string'); >mdast2 : Symbol(mdast2, Decl(index.ts, 4, 5)) ->'mdast-util-to-string' : Symbol(mdast, Decl(index.d.ts, 0, 0)) +>'mdast-util-to-string' : Symbol("/node_modules/mdast-util-to-string/index", Decl(index.d.ts, 0, 0)) mdast2.toString(); ->mdast2.toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) +>mdast2.toString : Symbol(toString, Decl(index.d.ts, 0, 0)) >mdast2 : Symbol(mdast2, Decl(index.ts, 4, 5)) ->toString : Symbol(mdast.toString, Decl(index.d.ts, 0, 0)) +>toString : Symbol(toString, Decl(index.d.ts, 0, 0)) mdast2.default; ->mdast2.default : Symbol(mdast.default) >mdast2 : Symbol(mdast2, Decl(index.ts, 4, 5)) ->default : Symbol(mdast.default) diff --git a/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types index fa24f3a5362..226775c657b 100644 --- a/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types +++ b/tests/baselines/reference/esmNoSynthesizedDefault(module=preserve).types @@ -7,32 +7,32 @@ export function toString(): string; === /index.ts === import mdast, { toString } from 'mdast-util-to-string'; ->mdast : typeof mdast -> : ^^^^^^^^^^^^ +>mdast : any +> : ^^^ >toString : () => string > : ^^^^^^ mdast; ->mdast : typeof mdast -> : ^^^^^^^^^^^^ +>mdast : any +> : ^^^ mdast.toString(); ->mdast.toString() : string -> : ^^^^^^ ->mdast.toString : () => string -> : ^^^^^^ ->mdast : typeof mdast -> : ^^^^^^^^^^^^ ->toString : () => string -> : ^^^^^^ +>mdast.toString() : any +> : ^^^ +>mdast.toString : any +> : ^^^ +>mdast : any +> : ^^^ +>toString : any +> : ^^^ const mdast2 = await import('mdast-util-to-string'); ->mdast2 : { default: typeof mdast; toString(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ->await import('mdast-util-to-string') : { default: typeof mdast; toString(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ->import('mdast-util-to-string') : Promise<{ default: typeof mdast; toString(): string; }> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^ +>mdast2 : typeof import("/node_modules/mdast-util-to-string/index") +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>await import('mdast-util-to-string') : typeof import("/node_modules/mdast-util-to-string/index") +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>import('mdast-util-to-string') : Promise +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >'mdast-util-to-string' : "mdast-util-to-string" > : ^^^^^^^^^^^^^^^^^^^^^^ @@ -41,16 +41,16 @@ mdast2.toString(); > : ^^^^^^ >mdast2.toString : () => string > : ^^^^^^ ->mdast2 : { default: typeof mdast; toString(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ +>mdast2 : typeof import("/node_modules/mdast-util-to-string/index") +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >toString : () => string > : ^^^^^^ mdast2.default; ->mdast2.default : typeof mdast -> : ^^^^^^^^^^^^ ->mdast2 : { default: typeof mdast; toString(): string; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ->default : typeof mdast -> : ^^^^^^^^^^^^ +>mdast2.default : any +> : ^^^ +>mdast2 : typeof import("/node_modules/mdast-util-to-string/index") +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>default : any +> : ^^^ diff --git a/tests/baselines/reference/impliedNodeFormatEmit1(module=commonjs).js b/tests/baselines/reference/impliedNodeFormatEmit1(module=commonjs).js index 358d98e9fea..0b19d2dc41f 100644 --- a/tests/baselines/reference/impliedNodeFormatEmit1(module=commonjs).js +++ b/tests/baselines/reference/impliedNodeFormatEmit1(module=commonjs).js @@ -40,10 +40,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports._ = void 0; exports._ = 0; //// [b.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports._ = void 0; -exports._ = 0; +export var _ = 0; //// [c.cjs] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -55,21 +52,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports._ = void 0; exports._ = 0; //// [e.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports._ = void 0; -exports._ = 0; +export var _ = 0; //// [f.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports._ = void 0; -exports._ = 0; +export var _ = 0; //// [g.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); //// [h.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); +export {}; //// [i.cjs] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/impliedNodeFormatEmit1(module=esnext).js b/tests/baselines/reference/impliedNodeFormatEmit1(module=esnext).js index 69cd5d21e55..d27ae7c8e18 100644 --- a/tests/baselines/reference/impliedNodeFormatEmit1(module=esnext).js +++ b/tests/baselines/reference/impliedNodeFormatEmit1(module=esnext).js @@ -39,7 +39,10 @@ export var _ = 0; //// [b.mjs] export var _ = 0; //// [c.cjs] -export var _ = 0; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; //// [d.js] export var _ = 0; //// [e.mjs] @@ -51,6 +54,7 @@ export {}; //// [h.mjs] export {}; //// [i.cjs] -export {}; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //// [dummy.js] export {}; diff --git a/tests/baselines/reference/impliedNodeFormatEmit2(module=commonjs).js b/tests/baselines/reference/impliedNodeFormatEmit2(module=commonjs).js index 3acea3e04d3..4fd6dc70684 100644 --- a/tests/baselines/reference/impliedNodeFormatEmit2(module=commonjs).js +++ b/tests/baselines/reference/impliedNodeFormatEmit2(module=commonjs).js @@ -43,10 +43,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports._ = void 0; exports._ = 0; //// [b.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports._ = void 0; -exports._ = 0; +export var _ = 0; //// [c.cjs] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -58,21 +55,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports._ = void 0; exports._ = 0; //// [e.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports._ = void 0; -exports._ = 0; +export var _ = 0; //// [f.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports._ = void 0; -exports._ = 0; +export var _ = 0; //// [g.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); //// [h.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); +export {}; //// [i.cjs] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/impliedNodeFormatEmit2(module=esnext).js b/tests/baselines/reference/impliedNodeFormatEmit2(module=esnext).js index ef36dafea55..df4f9efe157 100644 --- a/tests/baselines/reference/impliedNodeFormatEmit2(module=esnext).js +++ b/tests/baselines/reference/impliedNodeFormatEmit2(module=esnext).js @@ -42,7 +42,10 @@ export var _ = 0; //// [b.mjs] export var _ = 0; //// [c.cjs] -export var _ = 0; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; //// [d.js] export var _ = 0; //// [e.mjs] @@ -54,6 +57,7 @@ export {}; //// [h.mjs] export {}; //// [i.cjs] -export {}; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //// [dummy.js] export {}; diff --git a/tests/baselines/reference/impliedNodeFormatEmit3(module=commonjs).js b/tests/baselines/reference/impliedNodeFormatEmit3(module=commonjs).js index 9927e59c540..46df34b5ff6 100644 --- a/tests/baselines/reference/impliedNodeFormatEmit3(module=commonjs).js +++ b/tests/baselines/reference/impliedNodeFormatEmit3(module=commonjs).js @@ -45,10 +45,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports._ = void 0; exports._ = 0; //// [b.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports._ = void 0; -exports._ = 0; +export var _ = 0; //// [c.cjs] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -60,21 +57,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports._ = void 0; exports._ = 0; //// [e.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports._ = void 0; -exports._ = 0; +export var _ = 0; //// [f.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports._ = void 0; -exports._ = 0; +export var _ = 0; //// [g.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); //// [h.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); +export {}; //// [i.cjs] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/impliedNodeFormatEmit3(module=esnext).js b/tests/baselines/reference/impliedNodeFormatEmit3(module=esnext).js index 1df2b11dbce..27f4f58d9ba 100644 --- a/tests/baselines/reference/impliedNodeFormatEmit3(module=esnext).js +++ b/tests/baselines/reference/impliedNodeFormatEmit3(module=esnext).js @@ -44,7 +44,10 @@ export var _ = 0; //// [b.mjs] export var _ = 0; //// [c.cjs] -export var _ = 0; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; //// [d.js] export var _ = 0; //// [e.mjs] @@ -56,6 +59,7 @@ export {}; //// [h.mjs] export {}; //// [i.cjs] -export {}; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //// [dummy.js] export {}; diff --git a/tests/baselines/reference/impliedNodeFormatEmit4(module=commonjs).js b/tests/baselines/reference/impliedNodeFormatEmit4(module=commonjs).js index 0d273c2e6c0..aa7fab5c345 100644 --- a/tests/baselines/reference/impliedNodeFormatEmit4(module=commonjs).js +++ b/tests/baselines/reference/impliedNodeFormatEmit4(module=commonjs).js @@ -45,10 +45,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports._ = void 0; exports._ = 0; //// [b.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports._ = void 0; -exports._ = 0; +export var _ = 0; //// [c.cjs] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -60,21 +57,14 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports._ = void 0; exports._ = 0; //// [e.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports._ = void 0; -exports._ = 0; +export var _ = 0; //// [f.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -exports._ = void 0; -exports._ = 0; +export var _ = 0; //// [g.js] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); //// [h.mjs] -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); +export {}; //// [i.cjs] "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); diff --git a/tests/baselines/reference/impliedNodeFormatEmit4(module=esnext).js b/tests/baselines/reference/impliedNodeFormatEmit4(module=esnext).js index 0023d65f995..6c26d901cc5 100644 --- a/tests/baselines/reference/impliedNodeFormatEmit4(module=esnext).js +++ b/tests/baselines/reference/impliedNodeFormatEmit4(module=esnext).js @@ -44,7 +44,10 @@ export var _ = 0; //// [b.mjs] export var _ = 0; //// [c.cjs] -export var _ = 0; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports._ = void 0; +exports._ = 0; //// [d.js] export var _ = 0; //// [e.mjs] @@ -56,6 +59,7 @@ export {}; //// [h.mjs] export {}; //// [i.cjs] -export {}; +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); //// [dummy.js] export {}; diff --git a/tests/baselines/reference/importHelpersVerbatimModuleSyntax.errors.txt b/tests/baselines/reference/importHelpersVerbatimModuleSyntax.errors.txt deleted file mode 100644 index d6e81ae9b5f..00000000000 --- a/tests/baselines/reference/importHelpersVerbatimModuleSyntax.errors.txt +++ /dev/null @@ -1,48 +0,0 @@ -/main.cts(2,19): error TS2343: This syntax requires an imported helper named '__rest' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. - - -==== /node_modules/tslib/package.json (0 errors) ==== - { - "name": "tslib", - "main": "tslib.js", - "module": "tslib.es6.js", - "jsnext:main": "tslib.es6.js", - "typings": "tslib.d.ts", - "exports": { - ".": { - "module": { - "types": "./modules/index.d.ts", - "default": "./tslib.es6.mjs" - }, - "import": { - "node": "./modules/index.js", - "default": { - "types": "./modules/index.d.ts", - "default": "./tslib.es6.mjs" - } - }, - "default": "./tslib.js" - }, - "./*": "./*", - "./": "./" - } - } - -==== /node_modules/tslib/tslib.d.ts (0 errors) ==== - export declare var __rest: any; - -==== /node_modules/tslib/modules/package.json (0 errors) ==== - { "type": "module" } - -==== /node_modules/tslib/modules/index.d.ts (0 errors) ==== - export {}; - -==== /main.cts (1 errors) ==== - function foo(args: any) { - const { bar, ...extraArgs } = args; - ~~~~~~~~~ -!!! error TS2343: This syntax requires an imported helper named '__rest' which does not exist in 'tslib'. Consider upgrading your version of 'tslib'. - return extraArgs; - } - export = foo; - \ No newline at end of file diff --git a/tests/baselines/reference/importHelpersVerbatimModuleSyntax.types b/tests/baselines/reference/importHelpersVerbatimModuleSyntax.types index 4c8ec4d0a3d..e2f4ec6eefe 100644 --- a/tests/baselines/reference/importHelpersVerbatimModuleSyntax.types +++ b/tests/baselines/reference/importHelpersVerbatimModuleSyntax.types @@ -3,7 +3,6 @@ === /node_modules/tslib/tslib.d.ts === export declare var __rest: any; >__rest : any -> : ^^^ === /node_modules/tslib/modules/index.d.ts === @@ -14,7 +13,6 @@ function foo(args: any) { >foo : (args: any) => any > : ^ ^^ ^^^^^^^^ >args : any -> : ^^^ const { bar, ...extraArgs } = args; >bar : any @@ -22,11 +20,9 @@ function foo(args: any) { >extraArgs : any > : ^^^ >args : any -> : ^^^ return extraArgs; >extraArgs : any -> : ^^^ } export = foo; >foo : (args: any) => any diff --git a/tests/baselines/reference/libTypeScriptOverrideSimple.trace.json b/tests/baselines/reference/libTypeScriptOverrideSimple.trace.json index cda94c2befb..d011d1e72a6 100644 --- a/tests/baselines/reference/libTypeScriptOverrideSimple.trace.json +++ b/tests/baselines/reference/libTypeScriptOverrideSimple.trace.json @@ -1,11 +1,15 @@ [ + "File '/node_modules/@typescript/lib-dom/package.json' does not exist.", + "File '/node_modules/@typescript/package.json' does not exist.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-dom' from '/.src/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", "Scoped package detected, looking in 'typescript__lib-dom'", - "File '/node_modules/@typescript/lib-dom/package.json' does not exist.", + "File '/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups.", "File '/node_modules/@typescript/lib-dom.ts' does not exist.", "File '/node_modules/@typescript/lib-dom.tsx' does not exist.", "File '/node_modules/@typescript/lib-dom.d.ts' does not exist.", diff --git a/tests/baselines/reference/libTypeScriptOverrideSimpleConfig.trace.json b/tests/baselines/reference/libTypeScriptOverrideSimpleConfig.trace.json index 8edd9669412..4e9750e7962 100644 --- a/tests/baselines/reference/libTypeScriptOverrideSimpleConfig.trace.json +++ b/tests/baselines/reference/libTypeScriptOverrideSimpleConfig.trace.json @@ -12,6 +12,11 @@ "File '/somepath/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/somepath/node_modules/@typescript/lib-dom/index.d.ts', result '/somepath/node_modules/@typescript/lib-dom/index.d.ts'.", "======== Module name '@typescript/lib-dom' was successfully resolved to '/somepath/node_modules/@typescript/lib-dom/index.d.ts'. ========", + "File '/somepath/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups.", + "File '/somepath/node_modules/@typescript/package.json' does not exist.", + "File '/somepath/node_modules/package.json' does not exist.", + "File '/somepath/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/somepath/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/libTypeScriptSubfileResolving.trace.json b/tests/baselines/reference/libTypeScriptSubfileResolving.trace.json index 306175b8fba..8d6499fb7d1 100644 --- a/tests/baselines/reference/libTypeScriptSubfileResolving.trace.json +++ b/tests/baselines/reference/libTypeScriptSubfileResolving.trace.json @@ -1,11 +1,19 @@ [ + "File '/node_modules/@typescript/lib-dom/package.json' does not exist.", + "File '/node_modules/@typescript/package.json' does not exist.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", + "File '/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@typescript/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-dom/iterable' from '/.src/__lib_node_modules_lookup_lib.dom.iterable.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-dom/iterable' from 'node_modules' folder, target file types: TypeScript, Declaration.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", "Directory '/.src/node_modules' does not exist, skipping all lookups in it.", "Scoped package detected, looking in 'typescript__lib-dom/iterable'", - "File '/node_modules/@typescript/lib-dom/package.json' does not exist.", + "File '/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups.", "File '/node_modules/@typescript/lib-dom/iterable.ts' does not exist.", "File '/node_modules/@typescript/lib-dom/iterable.tsx' does not exist.", "File '/node_modules/@typescript/lib-dom/iterable.d.ts' exists - use it as a name resolution result.", diff --git a/tests/baselines/reference/libTypeScriptSubfileResolvingConfig.trace.json b/tests/baselines/reference/libTypeScriptSubfileResolvingConfig.trace.json index 042ae9b8616..028c48daabc 100644 --- a/tests/baselines/reference/libTypeScriptSubfileResolvingConfig.trace.json +++ b/tests/baselines/reference/libTypeScriptSubfileResolvingConfig.trace.json @@ -9,6 +9,11 @@ "File '/somepath/node_modules/@typescript/lib-dom/iterable.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/somepath/node_modules/@typescript/lib-dom/iterable.d.ts', result '/somepath/node_modules/@typescript/lib-dom/iterable.d.ts'.", "======== Module name '@typescript/lib-dom/iterable' was successfully resolved to '/somepath/node_modules/@typescript/lib-dom/iterable.d.ts'. ========", + "File '/somepath/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups.", + "File '/somepath/node_modules/@typescript/package.json' does not exist.", + "File '/somepath/node_modules/package.json' does not exist.", + "File '/somepath/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/somepath/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", @@ -68,6 +73,11 @@ "File '/somepath/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/somepath/node_modules/@typescript/lib-dom/index.d.ts', result '/somepath/node_modules/@typescript/lib-dom/index.d.ts'.", "======== Module name '@typescript/lib-dom' was successfully resolved to '/somepath/node_modules/@typescript/lib-dom/index.d.ts'. ========", + "File '/somepath/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups.", + "File '/somepath/node_modules/@typescript/package.json' does not exist according to earlier cached lookups.", + "File '/somepath/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/somepath/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-webworker/importscripts' from '/somepath/__lib_node_modules_lookup_lib.webworker.importscripts.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-webworker/importscripts' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/library-reference-11.trace.json b/tests/baselines/reference/library-reference-11.trace.json index db45efcb8ec..b6d572abc80 100644 --- a/tests/baselines/reference/library-reference-11.trace.json +++ b/tests/baselines/reference/library-reference-11.trace.json @@ -12,6 +12,7 @@ "File '/a/node_modules/jquery/jquery.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/a/node_modules/jquery/jquery.d.ts', result '/a/node_modules/jquery/jquery.d.ts'.", "======== Type reference directive 'jquery' was successfully resolved to '/a/node_modules/jquery/jquery.d.ts', primary: false. ========", + "File '/a/node_modules/jquery/package.json' exists according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/library-reference-12.trace.json b/tests/baselines/reference/library-reference-12.trace.json index 713d17764d9..2f382543420 100644 --- a/tests/baselines/reference/library-reference-12.trace.json +++ b/tests/baselines/reference/library-reference-12.trace.json @@ -13,6 +13,8 @@ "File '/a/node_modules/jquery/dist/jquery.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/a/node_modules/jquery/dist/jquery.d.ts', result '/a/node_modules/jquery/dist/jquery.d.ts'.", "======== Type reference directive 'jquery' was successfully resolved to '/a/node_modules/jquery/dist/jquery.d.ts', primary: false. ========", + "File '/a/node_modules/jquery/dist/package.json' does not exist.", + "File '/a/node_modules/jquery/package.json' exists according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/library-reference-3.trace.json b/tests/baselines/reference/library-reference-3.trace.json index f4d640e4aad..f863b5bbb84 100644 --- a/tests/baselines/reference/library-reference-3.trace.json +++ b/tests/baselines/reference/library-reference-3.trace.json @@ -10,6 +10,10 @@ "File '/src/node_modules/jquery/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/src/node_modules/jquery/index.d.ts', result '/src/node_modules/jquery/index.d.ts'.", "======== Type reference directive 'jquery' was successfully resolved to '/src/node_modules/jquery/index.d.ts', primary: false. ========", + "File '/src/node_modules/jquery/package.json' does not exist according to earlier cached lookups.", + "File '/src/node_modules/package.json' does not exist.", + "File '/src/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/src/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/library-reference-4.trace.json b/tests/baselines/reference/library-reference-4.trace.json index bfaaf2b2cd0..d0144c466ca 100644 --- a/tests/baselines/reference/library-reference-4.trace.json +++ b/tests/baselines/reference/library-reference-4.trace.json @@ -21,6 +21,9 @@ "File '/node_modules/bar/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/bar/index.d.ts', result '/node_modules/bar/index.d.ts'.", "======== Type reference directive 'bar' was successfully resolved to '/node_modules/bar/index.d.ts', primary: false. ========", + "File '/node_modules/foo/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving type reference directive 'alpha', containing file '/node_modules/foo/index.d.ts', root directory '/src'. ========", "Resolving with primary search path '/src'.", "File '/src/alpha.d.ts' does not exist.", @@ -31,6 +34,14 @@ "File '/node_modules/foo/node_modules/alpha/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/foo/node_modules/alpha/index.d.ts', result '/node_modules/foo/node_modules/alpha/index.d.ts'.", "======== Type reference directive 'alpha' was successfully resolved to '/node_modules/foo/node_modules/alpha/index.d.ts', primary: false. ========", + "File '/node_modules/foo/node_modules/alpha/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/foo/node_modules/package.json' does not exist.", + "File '/node_modules/foo/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/bar/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving type reference directive 'alpha', containing file '/node_modules/bar/index.d.ts', root directory '/src'. ========", "Resolving with primary search path '/src'.", "File '/src/alpha.d.ts' does not exist.", @@ -41,6 +52,11 @@ "File '/node_modules/bar/node_modules/alpha/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/bar/node_modules/alpha/index.d.ts', result '/node_modules/bar/node_modules/alpha/index.d.ts'.", "======== Type reference directive 'alpha' was successfully resolved to '/node_modules/bar/node_modules/alpha/index.d.ts', primary: false. ========", + "File '/node_modules/bar/node_modules/alpha/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/bar/node_modules/package.json' does not exist.", + "File '/node_modules/bar/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/.src/test/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/library-reference-5.trace.json b/tests/baselines/reference/library-reference-5.trace.json index 6c7738d6016..f097d3ea196 100644 --- a/tests/baselines/reference/library-reference-5.trace.json +++ b/tests/baselines/reference/library-reference-5.trace.json @@ -21,6 +21,9 @@ "File '/node_modules/bar/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/bar/index.d.ts', result '/node_modules/bar/index.d.ts'.", "======== Type reference directive 'bar' was successfully resolved to '/node_modules/bar/index.d.ts', primary: false. ========", + "File '/node_modules/foo/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving type reference directive 'alpha', containing file '/node_modules/foo/index.d.ts', root directory '/types'. ========", "Resolving with primary search path '/types'.", "Directory '/types' does not exist, skipping all lookups in it.", @@ -31,6 +34,14 @@ "File '/node_modules/foo/node_modules/alpha/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/foo/node_modules/alpha/index.d.ts', result '/node_modules/foo/node_modules/alpha/index.d.ts'.", "======== Type reference directive 'alpha' was successfully resolved to '/node_modules/foo/node_modules/alpha/index.d.ts', primary: false. ========", + "File '/node_modules/foo/node_modules/alpha/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/foo/node_modules/package.json' does not exist.", + "File '/node_modules/foo/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/bar/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving type reference directive 'alpha', containing file '/node_modules/bar/index.d.ts', root directory '/types'. ========", "Resolving with primary search path '/types'.", "Directory '/types' does not exist, skipping all lookups in it.", @@ -41,6 +52,11 @@ "File '/node_modules/bar/node_modules/alpha/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/bar/node_modules/alpha/index.d.ts', result '/node_modules/bar/node_modules/alpha/index.d.ts'.", "======== Type reference directive 'alpha' was successfully resolved to '/node_modules/bar/node_modules/alpha/index.d.ts', primary: false. ========", + "File '/node_modules/bar/node_modules/alpha/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/bar/node_modules/package.json' does not exist.", + "File '/node_modules/bar/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/library-reference-6.trace.json b/tests/baselines/reference/library-reference-6.trace.json index b6882d645ef..8cd28d82665 100644 --- a/tests/baselines/reference/library-reference-6.trace.json +++ b/tests/baselines/reference/library-reference-6.trace.json @@ -5,6 +5,10 @@ "File '/node_modules/@types/alpha/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/alpha/index.d.ts', result '/node_modules/@types/alpha/index.d.ts'.", "======== Type reference directive 'alpha' was successfully resolved to '/node_modules/@types/alpha/index.d.ts', primary: true. ========", + "File '/node_modules/@types/alpha/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@types/package.json' does not exist.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving type reference directive 'alpha', containing file '/__inferred type names__.ts'. ========", "Resolution for type reference directive 'alpha' was found in cache from location '/'.", "======== Type reference directive 'alpha' was successfully resolved to '/node_modules/@types/alpha/index.d.ts', primary: true. ========", diff --git a/tests/baselines/reference/library-reference-7.trace.json b/tests/baselines/reference/library-reference-7.trace.json index 4ce6c684d7e..b44b46b5da0 100644 --- a/tests/baselines/reference/library-reference-7.trace.json +++ b/tests/baselines/reference/library-reference-7.trace.json @@ -9,6 +9,10 @@ "File '/src/node_modules/jquery/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/src/node_modules/jquery/index.d.ts', result '/src/node_modules/jquery/index.d.ts'.", "======== Type reference directive 'jquery' was successfully resolved to '/src/node_modules/jquery/index.d.ts', primary: false. ========", + "File '/src/node_modules/jquery/package.json' does not exist according to earlier cached lookups.", + "File '/src/node_modules/package.json' does not exist.", + "File '/src/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/library-reference-scoped-packages.trace.json b/tests/baselines/reference/library-reference-scoped-packages.trace.json index cf8cf7ca9c4..596b7309359 100644 --- a/tests/baselines/reference/library-reference-scoped-packages.trace.json +++ b/tests/baselines/reference/library-reference-scoped-packages.trace.json @@ -10,6 +10,10 @@ "File '/node_modules/@types/beep__boop/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/beep__boop/index.d.ts', result '/node_modules/@types/beep__boop/index.d.ts'.", "======== Type reference directive '@beep/boop' was successfully resolved to '/node_modules/@types/beep__boop/index.d.ts', primary: false. ========", + "File '/node_modules/@types/beep__boop/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@types/package.json' does not exist.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/.src/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/moduleDetectionIsolatedModulesCjsFileScope.js b/tests/baselines/reference/moduleDetectionIsolatedModulesCjsFileScope.js index 5718d67611e..8d948790c9e 100644 --- a/tests/baselines/reference/moduleDetectionIsolatedModulesCjsFileScope.js +++ b/tests/baselines/reference/moduleDetectionIsolatedModulesCjsFileScope.js @@ -6,8 +6,9 @@ const a = 2; const a = 2; //// [filename.cjs] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); const a = 2; -export {}; //// [filename.mjs] const a = 2; export {}; diff --git a/tests/baselines/reference/modulePreserve2.trace.json b/tests/baselines/reference/modulePreserve2.trace.json index 39549599465..37fc9b32063 100644 --- a/tests/baselines/reference/modulePreserve2.trace.json +++ b/tests/baselines/reference/modulePreserve2.trace.json @@ -35,6 +35,7 @@ "Exiting conditional exports.", "Resolving real path for '/node_modules/dep/require.d.ts', result '/node_modules/dep/require.d.ts'.", "======== Module name 'dep' was successfully resolved to '/node_modules/dep/require.d.ts'. ========", + "File '/node_modules/dep/package.json' exists according to earlier cached lookups.", "======== Resolving module '@typescript/lib-esnext' from '/.src/__lib_node_modules_lookup_lib.esnext.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-esnext' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/modulePreserve3.trace.json b/tests/baselines/reference/modulePreserve3.trace.json index 59645b44479..77c36901607 100644 --- a/tests/baselines/reference/modulePreserve3.trace.json +++ b/tests/baselines/reference/modulePreserve3.trace.json @@ -1,11 +1,15 @@ [ + "File '/node_modules/@types/react/package.json' does not exist.", + "File '/node_modules/@types/package.json' does not exist.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module 'react/jsx-runtime' from '/index.tsx'. ========", "Module resolution kind is not specified, using 'Bundler'.", "Resolving in CJS mode with conditions 'import', 'types'.", - "File '/package.json' does not exist.", + "File '/package.json' does not exist according to earlier cached lookups.", "Loading module 'react/jsx-runtime' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", - "File '/node_modules/@types/react/package.json' does not exist.", + "File '/node_modules/@types/react/package.json' does not exist according to earlier cached lookups.", "File '/node_modules/@types/react/jsx-runtime.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/react/jsx-runtime.d.ts', result '/node_modules/@types/react/jsx-runtime.d.ts'.", "======== Module name 'react/jsx-runtime' was successfully resolved to '/node_modules/@types/react/jsx-runtime.d.ts'. ========", diff --git a/tests/baselines/reference/modulePreserve4.errors.txt b/tests/baselines/reference/modulePreserve4.errors.txt index b94d7b89604..65e21aa749b 100644 --- a/tests/baselines/reference/modulePreserve4.errors.txt +++ b/tests/baselines/reference/modulePreserve4.errors.txt @@ -1,12 +1,22 @@ /a.js(2,1): error TS2580: Cannot find name 'module'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. +/f.cts(1,1): error TS1286: ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled. /main1.ts(1,13): error TS2305: Module '"./a"' has no exported member 'y'. /main1.ts(3,12): error TS2580: Cannot find name 'require'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. /main1.ts(19,4): error TS2339: Property 'default' does not exist on type '() => void'. +/main1.ts(23,8): error TS1192: Module '"/e"' has no default export. /main2.mts(1,13): error TS2305: Module '"./a"' has no exported member 'y'. /main2.mts(4,4): error TS2339: Property 'default' does not exist on type 'typeof import("/a")'. /main2.mts(5,12): error TS2580: Cannot find name 'require'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. +/main2.mts(14,8): error TS1192: Module '"/e"' has no default export. +/main3.cjs(1,10): error TS1293: ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. /main3.cjs(1,13): error TS2305: Module '"./a"' has no exported member 'y'. /main3.cjs(2,1): error TS8002: 'import ... =' can only be used in TypeScript files. +/main3.cjs(5,8): error TS1293: ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. +/main3.cjs(8,8): error TS1293: ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. +/main3.cjs(10,8): error TS1293: ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. +/main3.cjs(12,8): error TS1293: ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. +/main3.cjs(14,8): error TS1293: ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. +/main3.cjs(17,8): error TS1293: ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. ==== /a.js (1 errors) ==== @@ -29,13 +39,15 @@ ==== /e.mts (0 errors) ==== export = 0; -==== /f.cts (0 errors) ==== +==== /f.cts (1 errors) ==== export default 0; + ~~~~~~~~~~~~~~~~~ +!!! error TS1286: ESM syntax is not allowed in a CommonJS module when 'verbatimModuleSyntax' is enabled. ==== /g.js (0 errors) ==== exports.default = 0; -==== /main1.ts (3 errors) ==== +==== /main1.ts (4 errors) ==== import { x, y } from "./a"; // No y ~ !!! error TS2305: Module '"./a"' has no exported member 'y'. @@ -65,6 +77,8 @@ d3.default(); import e1 from "./e.mjs"; // 0 + ~~ +!!! error TS1192: Module '"/e"' has no default export. import e2 = require("./e.mjs"); // 0 import f1 from "./f.cjs"; // 0 import f2 = require("./f.cjs"); // { default: 0 } @@ -75,7 +89,7 @@ import g2 = require("./g"); // { default: 0 } g2.default; -==== /main2.mts (3 errors) ==== +==== /main2.mts (4 errors) ==== import { x, y } from "./a"; // No y ~ !!! error TS2305: Module '"./a"' has no exported member 'y'. @@ -96,6 +110,8 @@ import d1 from "./d"; // [Function: default] import d2 = require("./d"); // [Function: default] import e1 from "./e.mjs"; // 0 + ~~ +!!! error TS1192: Module '"/e"' has no default export. import e2 = require("./e.mjs"); // 0 import f1 from "./f.cjs"; // 0 import f2 = require("./f.cjs"); // { default: 0 } @@ -103,8 +119,10 @@ import g1 from "./g"; // { default: 0 } import g2 = require("./g"); // { default: 0 } -==== /main3.cjs (2 errors) ==== +==== /main3.cjs (9 errors) ==== import { x, y } from "./a"; // No y + ~ +!!! error TS1293: ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. ~ !!! error TS2305: Module '"./a"' has no exported member 'y'. import a1 = require("./a"); // Error in JS @@ -113,18 +131,30 @@ const a2 = require("./a"); // { x: 0 } import b1 from "./b"; // 0 + ~~ +!!! error TS1293: ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. const b2 = require("./b"); // { default: 0 } import c1 from "./c"; // { default: [Function: default] } + ~~ +!!! error TS1293: ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. const c2 = require("./c"); // { default: [Function: default] } import d1 from "./d"; // [Function: default] + ~~ +!!! error TS1293: ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. const d2 = require("./d"); // [Function: default] import e1 from "./e.mjs"; // 0 + ~~ +!!! error TS1293: ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. const e2 = require("./e.mjs"); // 0 import f1 from "./f.cjs"; // 0 + ~~ +!!! error TS1293: ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. const f2 = require("./f.cjs"); // { default: 0 } import g1 from "./g"; // { default: 0 } + ~~ +!!! error TS1293: ESM syntax is not allowed in a CommonJS module when 'module' is set to 'preserve'. const g2 = require("./g"); // { default: 0 } ==== /main4.cjs (0 errors) ==== diff --git a/tests/baselines/reference/modulePreserve4.types b/tests/baselines/reference/modulePreserve4.types index ed61a6e2d52..33a677f64e2 100644 --- a/tests/baselines/reference/modulePreserve4.types +++ b/tests/baselines/reference/modulePreserve4.types @@ -200,8 +200,8 @@ d3.default(); > : ^^^^^^^^^^ import e1 from "./e.mjs"; // 0 ->e1 : 0 -> : ^ +>e1 : any +> : ^^^ import e2 = require("./e.mjs"); // 0 >e2 : 0 @@ -313,8 +313,8 @@ import d2 = require("./d"); // [Function: default] > : ^^^^^^^^^^ import e1 from "./e.mjs"; // 0 ->e1 : 0 -> : ^ +>e1 : any +> : ^^^ import e2 = require("./e.mjs"); // 0 >e2 : 0 diff --git a/tests/baselines/reference/moduleResolutionAsTypeReferenceDirectiveScoped.trace.json b/tests/baselines/reference/moduleResolutionAsTypeReferenceDirectiveScoped.trace.json index ed79e4de039..3a0146b4819 100644 --- a/tests/baselines/reference/moduleResolutionAsTypeReferenceDirectiveScoped.trace.json +++ b/tests/baselines/reference/moduleResolutionAsTypeReferenceDirectiveScoped.trace.json @@ -72,6 +72,16 @@ "File '/a/node_modules/@types/mangled__attypescache/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/a/node_modules/@types/mangled__attypescache/index.d.ts', result '/a/node_modules/@types/mangled__attypescache/index.d.ts'.", "======== Module name '@mangled/attypescache' was successfully resolved to '/a/node_modules/@types/mangled__attypescache/index.d.ts'. ========", + "File '/a/node_modules/@scoped/nodemodulescache/package.json' does not exist according to earlier cached lookups.", + "File '/a/node_modules/@scoped/package.json' does not exist.", + "File '/a/node_modules/package.json' does not exist.", + "File '/a/package.json' does not exist.", + "File '/package.json' does not exist.", + "File '/a/node_modules/@types/mangled__attypescache/package.json' does not exist according to earlier cached lookups.", + "File '/a/node_modules/@types/package.json' does not exist.", + "File '/a/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/a/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving type reference directive 'dummy', containing file '/__inferred type names__.ts', root directory '/a/types,/a/node_modules,/a/node_modules/@types'. ========", "Resolving with primary search path '/a/types, /a/node_modules, /a/node_modules/@types'.", "File '/a/types/dummy.d.ts' does not exist.", diff --git a/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.trace.json b/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.trace.json index 60d21c691f2..f92ad4790d1 100644 --- a/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.trace.json +++ b/tests/baselines/reference/moduleResolutionPackageIdWithRelativeAndAbsolutePath.trace.json @@ -33,6 +33,10 @@ "File '/shared/lib/app.tsx' does not exist.", "File '/shared/lib/app.d.ts' exists - use it as a name resolution result.", "======== Module name '@shared/lib/app' was successfully resolved to '/shared/lib/app.d.ts'. ========", + "File '/project/node_modules/anotherLib/package.json' does not exist according to earlier cached lookups.", + "File '/project/node_modules/package.json' does not exist.", + "File '/project/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module 'troublesome-lib/lib/Compactable' from '/project/node_modules/anotherLib/index.d.ts'. ========", "Module resolution kind is not specified, using 'Node10'.", "'baseUrl' option is set to '/project', using this value to resolve non-relative module name 'troublesome-lib/lib/Compactable'.", @@ -51,6 +55,8 @@ "'package.json' does not have a 'peerDependencies' field.", "Resolving real path for '/project/node_modules/troublesome-lib/lib/Compactable.d.ts', result '/project/node_modules/troublesome-lib/lib/Compactable.d.ts'.", "======== Module name 'troublesome-lib/lib/Compactable' was successfully resolved to '/project/node_modules/troublesome-lib/lib/Compactable.d.ts' with Package ID 'troublesome-lib/lib/Compactable.d.ts@1.17.1'. ========", + "File '/project/node_modules/troublesome-lib/lib/package.json' does not exist.", + "File '/project/node_modules/troublesome-lib/package.json' exists according to earlier cached lookups.", "======== Resolving module './Option' from '/project/node_modules/troublesome-lib/lib/Compactable.d.ts'. ========", "Module resolution kind is not specified, using 'Node10'.", "Loading module as file / folder, candidate module location '/project/node_modules/troublesome-lib/lib/Option', target file types: TypeScript, Declaration.", @@ -59,6 +65,8 @@ "File '/project/node_modules/troublesome-lib/lib/Option.d.ts' exists - use it as a name resolution result.", "File '/project/node_modules/troublesome-lib/package.json' exists according to earlier cached lookups.", "======== Module name './Option' was successfully resolved to '/project/node_modules/troublesome-lib/lib/Option.d.ts' with Package ID 'troublesome-lib/lib/Option.d.ts@1.17.1'. ========", + "File '/project/node_modules/troublesome-lib/lib/package.json' does not exist according to earlier cached lookups.", + "File '/project/node_modules/troublesome-lib/package.json' exists according to earlier cached lookups.", "======== Resolving module 'troublesome-lib/lib/Option' from '/shared/lib/app.d.ts'. ========", "Module resolution kind is not specified, using 'Node10'.", "'baseUrl' option is set to '/project', using this value to resolve non-relative module name 'troublesome-lib/lib/Option'.", @@ -77,6 +85,8 @@ "'package.json' does not have a 'peerDependencies' field.", "Resolving real path for '/shared/node_modules/troublesome-lib/lib/Option.d.ts', result '/shared/node_modules/troublesome-lib/lib/Option.d.ts'.", "======== Module name 'troublesome-lib/lib/Option' was successfully resolved to '/shared/node_modules/troublesome-lib/lib/Option.d.ts' with Package ID 'troublesome-lib/lib/Option.d.ts@1.17.1'. ========", + "File '/shared/node_modules/troublesome-lib/lib/package.json' does not exist.", + "File '/shared/node_modules/troublesome-lib/package.json' exists according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/project/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/moduleResolutionWithExtensions_withPaths.trace.json b/tests/baselines/reference/moduleResolutionWithExtensions_withPaths.trace.json index f576bfff863..f702bd23834 100644 --- a/tests/baselines/reference/moduleResolutionWithExtensions_withPaths.trace.json +++ b/tests/baselines/reference/moduleResolutionWithExtensions_withPaths.trace.json @@ -41,6 +41,10 @@ "File '/relative.tsx' does not exist.", "File '/relative.d.ts' exists - use it as a name resolution result.", "======== Module name './relative' was successfully resolved to '/relative.d.ts'. ========", + "File '/node_modules/foo/lib/package.json' does not exist.", + "File '/node_modules/foo/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es2015' from '/__lib_node_modules_lookup_lib.es2015.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es2015' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule.trace.json b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule.trace.json index 963e9da2855..f6991052be8 100644 --- a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule.trace.json +++ b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule.trace.json @@ -12,6 +12,9 @@ "File '/node_modules/some-library/index.ios.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/some-library/index.ios.d.ts', result '/node_modules/some-library/index.ios.d.ts'.", "======== Module name 'some-library' was successfully resolved to '/node_modules/some-library/index.ios.d.ts'. ========", + "File '/node_modules/some-library/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModulePath.trace.json b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModulePath.trace.json index a2b9fe5bb60..0ff0a447073 100644 --- a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModulePath.trace.json +++ b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModulePath.trace.json @@ -9,6 +9,9 @@ "File '/node_modules/some-library/foo.ios.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/some-library/foo.ios.d.ts', result '/node_modules/some-library/foo.ios.d.ts'.", "======== Module name 'some-library/foo' was successfully resolved to '/node_modules/some-library/foo.ios.d.ts'. ========", + "File '/node_modules/some-library/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule_withPaths.trace.json b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule_withPaths.trace.json index 7ef2a6e23a1..5825680642f 100644 --- a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule_withPaths.trace.json +++ b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalModule_withPaths.trace.json @@ -42,6 +42,10 @@ "File '/node_modules/some-library/package.json' does not exist according to earlier cached lookups.", "Resolving real path for '/node_modules/some-library/lib/index.ios.d.ts', result '/node_modules/some-library/lib/index.ios.d.ts'.", "======== Module name 'some-library/index.js' was successfully resolved to '/node_modules/some-library/lib/index.ios.d.ts'. ========", + "File '/node_modules/some-library/lib/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/some-library/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalTSModule.trace.json b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalTSModule.trace.json index 0290900258f..1cef7e93a4d 100644 --- a/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalTSModule.trace.json +++ b/tests/baselines/reference/moduleResolutionWithSuffixes_one_externalTSModule.trace.json @@ -10,6 +10,9 @@ "File '/node_modules/some-library/index.ios.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/some-library/index.ios.ts', result '/node_modules/some-library/index.ios.ts'.", "======== Module name 'some-library' was successfully resolved to '/node_modules/some-library/index.ios.ts'. ========", + "File '/node_modules/some-library/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/moduleResolutionWithSymlinks_preserveSymlinks.trace.json b/tests/baselines/reference/moduleResolutionWithSymlinks_preserveSymlinks.trace.json index 5d604e79fbf..4192eec404f 100644 --- a/tests/baselines/reference/moduleResolutionWithSymlinks_preserveSymlinks.trace.json +++ b/tests/baselines/reference/moduleResolutionWithSymlinks_preserveSymlinks.trace.json @@ -9,6 +9,10 @@ "File '/app/node_modules/linked.d.ts' does not exist.", "File '/app/node_modules/linked/index.d.ts' exists - use it as a name resolution result.", "======== Type reference directive 'linked' was successfully resolved to '/app/node_modules/linked/index.d.ts', primary: false. ========", + "File '/app/node_modules/linked/package.json' does not exist according to earlier cached lookups.", + "File '/app/node_modules/package.json' does not exist.", + "File '/app/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module 'real' from '/app/node_modules/linked/index.d.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module 'real' from 'node_modules' folder, target file types: TypeScript, Declaration.", @@ -22,6 +26,10 @@ "File '/app/node_modules/real/index.tsx' does not exist.", "File '/app/node_modules/real/index.d.ts' exists - use it as a name resolution result.", "======== Module name 'real' was successfully resolved to '/app/node_modules/real/index.d.ts'. ========", + "File '/app/node_modules/real/package.json' does not exist according to earlier cached lookups.", + "File '/app/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/app/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module 'linked' from '/app/app.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module 'linked' from 'node_modules' folder, target file types: TypeScript, Declaration.", @@ -46,6 +54,10 @@ "File '/app/node_modules/linked2/index.tsx' does not exist.", "File '/app/node_modules/linked2/index.d.ts' exists - use it as a name resolution result.", "======== Module name 'linked2' was successfully resolved to '/app/node_modules/linked2/index.d.ts'. ========", + "File '/app/node_modules/linked2/package.json' does not exist according to earlier cached lookups.", + "File '/app/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/app/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module 'real' from '/app/node_modules/linked2/index.d.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module 'real' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.trace.json b/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.trace.json index 74f2d01acf7..98ad468856a 100644 --- a/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.trace.json +++ b/tests/baselines/reference/moduleResolutionWithSymlinks_referenceTypes.trace.json @@ -19,6 +19,14 @@ "File '/node_modules/@types/library-b/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/library-b/index.d.ts', result '/node_modules/@types/library-b/index.d.ts'.", "======== Type reference directive 'library-b' was successfully resolved to '/node_modules/@types/library-b/index.d.ts', primary: false. ========", + "File '/node_modules/@types/library-a/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@types/package.json' does not exist.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", + "File '/node_modules/@types/library-b/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@types/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving type reference directive 'library-a', containing file '/node_modules/@types/library-b/index.d.ts', root directory ''. ========", "Root directory cannot be determined, skipping primary search paths.", "Looking up in 'node_modules' folder, initial location '/node_modules/@types/library-b'.", diff --git a/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot.trace.json b/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot.trace.json index c93269a91d0..4432deac645 100644 --- a/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot.trace.json +++ b/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot.trace.json @@ -13,6 +13,7 @@ "File '/node_modules/foo/bar/types.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/foo/bar/types.d.ts', result '/node_modules/foo/bar/types.d.ts'.", "======== Module name 'foo/bar' was successfully resolved to '/node_modules/foo/bar/types.d.ts'. ========", + "File '/node_modules/foo/bar/package.json' exists according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/.src/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot_fakeScopedPackage.trace.json b/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot_fakeScopedPackage.trace.json index 318f6634ceb..33293b8d68f 100644 --- a/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot_fakeScopedPackage.trace.json +++ b/tests/baselines/reference/moduleResolution_packageJson_notAtPackageRoot_fakeScopedPackage.trace.json @@ -13,6 +13,7 @@ "File '/node_modules/foo/@bar/types.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/foo/@bar/types.d.ts', result '/node_modules/foo/@bar/types.d.ts'.", "======== Module name 'foo/@bar' was successfully resolved to '/node_modules/foo/@bar/types.d.ts'. ========", + "File '/node_modules/foo/@bar/package.json' exists according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/.src/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/moduleResolution_packageJson_scopedPackage.trace.json b/tests/baselines/reference/moduleResolution_packageJson_scopedPackage.trace.json index 4d9fcc026a3..13bc7de8f61 100644 --- a/tests/baselines/reference/moduleResolution_packageJson_scopedPackage.trace.json +++ b/tests/baselines/reference/moduleResolution_packageJson_scopedPackage.trace.json @@ -13,6 +13,7 @@ "File '/node_modules/@foo/bar/types.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/@foo/bar/types.d.ts', result '/node_modules/@foo/bar/types.d.ts'.", "======== Module name '@foo/bar' was successfully resolved to '/node_modules/@foo/bar/types.d.ts'. ========", + "File '/node_modules/@foo/bar/package.json' exists according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/.src/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.trace.json b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.trace.json index 38be533dde0..eb2c2768622 100644 --- a/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.trace.json +++ b/tests/baselines/reference/moduleResolution_packageJson_yesAtPackageRoot_mainFieldInSubDirectory.trace.json @@ -1,9 +1,11 @@ [ + "File '/node_modules/foo/src/package.json' does not exist.", + "Found 'package.json' at '/node_modules/foo/package.json'.", "======== Resolving module 'foo' from '/index.ts'. ========", "Module resolution kind is not specified, using 'Node10'.", "Loading module 'foo' from 'node_modules' folder, target file types: TypeScript, Declaration.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", - "Found 'package.json' at '/node_modules/foo/package.json'.", + "File '/node_modules/foo/package.json' exists according to earlier cached lookups.", "File '/node_modules/foo.ts' does not exist.", "File '/node_modules/foo.tsx' does not exist.", "File '/node_modules/foo.d.ts' does not exist.", diff --git a/tests/baselines/reference/nestedPackageJsonRedirect(moduleresolution=bundler).trace.json b/tests/baselines/reference/nestedPackageJsonRedirect(moduleresolution=bundler).trace.json index 7fc8b8ccbde..5d158b4ac06 100644 --- a/tests/baselines/reference/nestedPackageJsonRedirect(moduleresolution=bundler).trace.json +++ b/tests/baselines/reference/nestedPackageJsonRedirect(moduleresolution=bundler).trace.json @@ -1,4 +1,6 @@ [ + "File '/node_modules/@restart/hooks/esm/package.json' does not exist.", + "Found 'package.json' at '/node_modules/@restart/hooks/package.json'.", "======== Resolving module '@restart/hooks/useMergedRefs' from '/main.ts'. ========", "Explicitly specified module resolution kind: 'Bundler'.", "Resolving in CJS mode with conditions 'require', 'types'.", @@ -6,7 +8,7 @@ "Loading module '@restart/hooks/useMergedRefs' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", "Found 'package.json' at '/node_modules/@restart/hooks/useMergedRefs/package.json'.", - "Found 'package.json' at '/node_modules/@restart/hooks/package.json'.", + "File '/node_modules/@restart/hooks/package.json' exists according to earlier cached lookups.", "File '/node_modules/@restart/hooks/useMergedRefs.ts' does not exist.", "File '/node_modules/@restart/hooks/useMergedRefs.tsx' does not exist.", "File '/node_modules/@restart/hooks/useMergedRefs.d.ts' does not exist.", diff --git a/tests/baselines/reference/node10AlternateResult_noResolution.trace.json b/tests/baselines/reference/node10AlternateResult_noResolution.trace.json index e008fb57d8a..dd05eb35573 100644 --- a/tests/baselines/reference/node10AlternateResult_noResolution.trace.json +++ b/tests/baselines/reference/node10AlternateResult_noResolution.trace.json @@ -1,9 +1,10 @@ [ + "Found 'package.json' at '/node_modules/pkg/package.json'.", "======== Resolving module 'pkg' from '/index.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module 'pkg' from 'node_modules' folder, target file types: TypeScript, Declaration.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", - "Found 'package.json' at '/node_modules/pkg/package.json'.", + "File '/node_modules/pkg/package.json' exists according to earlier cached lookups.", "File '/node_modules/pkg.ts' does not exist.", "File '/node_modules/pkg.tsx' does not exist.", "File '/node_modules/pkg.d.ts' does not exist.", diff --git a/tests/baselines/reference/node10Alternateresult_noTypes.trace.json b/tests/baselines/reference/node10Alternateresult_noTypes.trace.json index 3082c74ca52..61528c2501b 100644 --- a/tests/baselines/reference/node10Alternateresult_noTypes.trace.json +++ b/tests/baselines/reference/node10Alternateresult_noTypes.trace.json @@ -1,9 +1,10 @@ [ + "Found 'package.json' at '/node_modules/pkg/package.json'.", "======== Resolving module 'pkg' from '/index.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module 'pkg' from 'node_modules' folder, target file types: TypeScript, Declaration.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", - "Found 'package.json' at '/node_modules/pkg/package.json'.", + "File '/node_modules/pkg/package.json' exists according to earlier cached lookups.", "File '/node_modules/pkg.ts' does not exist.", "File '/node_modules/pkg.tsx' does not exist.", "File '/node_modules/pkg.d.ts' does not exist.", diff --git a/tests/baselines/reference/node10IsNode_node.trace.json b/tests/baselines/reference/node10IsNode_node.trace.json index e95e7fef4cd..63b91f9db02 100644 --- a/tests/baselines/reference/node10IsNode_node.trace.json +++ b/tests/baselines/reference/node10IsNode_node.trace.json @@ -1,9 +1,11 @@ [ + "Found 'package.json' at '/node_modules/fancy-lib/package.json'.", + "File '/node_modules/fancy-lib/package.json' exists according to earlier cached lookups.", "======== Resolving module 'fancy-lib' from '/main.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module 'fancy-lib' from 'node_modules' folder, target file types: TypeScript, Declaration.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", - "Found 'package.json' at '/node_modules/fancy-lib/package.json'.", + "File '/node_modules/fancy-lib/package.json' exists according to earlier cached lookups.", "File '/node_modules/fancy-lib.ts' does not exist.", "File '/node_modules/fancy-lib.tsx' does not exist.", "File '/node_modules/fancy-lib.d.ts' does not exist.", diff --git a/tests/baselines/reference/node10IsNode_node10.trace.json b/tests/baselines/reference/node10IsNode_node10.trace.json index e95e7fef4cd..63b91f9db02 100644 --- a/tests/baselines/reference/node10IsNode_node10.trace.json +++ b/tests/baselines/reference/node10IsNode_node10.trace.json @@ -1,9 +1,11 @@ [ + "Found 'package.json' at '/node_modules/fancy-lib/package.json'.", + "File '/node_modules/fancy-lib/package.json' exists according to earlier cached lookups.", "======== Resolving module 'fancy-lib' from '/main.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module 'fancy-lib' from 'node_modules' folder, target file types: TypeScript, Declaration.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", - "Found 'package.json' at '/node_modules/fancy-lib/package.json'.", + "File '/node_modules/fancy-lib/package.json' exists according to earlier cached lookups.", "File '/node_modules/fancy-lib.ts' does not exist.", "File '/node_modules/fancy-lib.tsx' does not exist.", "File '/node_modules/fancy-lib.d.ts' does not exist.", diff --git a/tests/baselines/reference/nodeColonModuleResolution.trace.json b/tests/baselines/reference/nodeColonModuleResolution.trace.json index 65af448d3ec..78ea40371a4 100644 --- a/tests/baselines/reference/nodeColonModuleResolution.trace.json +++ b/tests/baselines/reference/nodeColonModuleResolution.trace.json @@ -1,4 +1,10 @@ [ + "File '/a/b/node_modules/@types/node/package.json' does not exist.", + "File '/a/b/node_modules/@types/package.json' does not exist.", + "File '/a/b/node_modules/package.json' does not exist.", + "File '/a/b/package.json' does not exist.", + "File '/a/package.json' does not exist.", + "File '/package.json' does not exist.", "Module 'ph' was resolved as locally declared ambient module in file '/a/b/node_modules/@types/node/ph.d.ts'.", "======== Resolving module 'node:ph' from '/a/b/main.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", diff --git a/tests/baselines/reference/nodeColonModuleResolution2.trace.json b/tests/baselines/reference/nodeColonModuleResolution2.trace.json index 08083bc9c84..4d62d933946 100644 --- a/tests/baselines/reference/nodeColonModuleResolution2.trace.json +++ b/tests/baselines/reference/nodeColonModuleResolution2.trace.json @@ -14,6 +14,12 @@ "File '/a/b/node_modules/fake/thing/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/a/b/node_modules/fake/thing/index.d.ts', result '/a/b/node_modules/fake/thing/index.d.ts'.", "======== Module name 'fake:thing' was successfully resolved to '/a/b/node_modules/fake/thing/index.d.ts'. ========", + "File '/a/b/node_modules/fake/thing/package.json' does not exist according to earlier cached lookups.", + "File '/a/b/node_modules/fake/package.json' does not exist.", + "File '/a/b/node_modules/package.json' does not exist.", + "File '/a/b/package.json' does not exist.", + "File '/a/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/a/b/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution3_node.trace.json b/tests/baselines/reference/pathMappingBasedModuleResolution3_node.trace.json index 209dc42d593..6a93f552ca0 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution3_node.trace.json +++ b/tests/baselines/reference/pathMappingBasedModuleResolution3_node.trace.json @@ -33,6 +33,9 @@ "File 'c:/node_modules/file4/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for 'c:/node_modules/file4/index.d.ts', result 'c:/node_modules/file4/index.d.ts'.", "======== Module name 'file4' was successfully resolved to 'c:/node_modules/file4/index.d.ts'. ========", + "File 'c:/node_modules/file4/package.json' does not exist according to earlier cached lookups.", + "File 'c:/node_modules/package.json' does not exist.", + "File 'c:/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/.src/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution4_node.trace.json b/tests/baselines/reference/pathMappingBasedModuleResolution4_node.trace.json index bc4b608cee0..bac803a7418 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution4_node.trace.json +++ b/tests/baselines/reference/pathMappingBasedModuleResolution4_node.trace.json @@ -33,6 +33,9 @@ "File 'c:/node_modules/file4/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for 'c:/node_modules/file4/index.d.ts', result 'c:/node_modules/file4/index.d.ts'.", "======== Module name 'file4' was successfully resolved to 'c:/node_modules/file4/index.d.ts'. ========", + "File 'c:/node_modules/file4/package.json' does not exist according to earlier cached lookups.", + "File 'c:/node_modules/package.json' does not exist.", + "File 'c:/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from 'c:/root/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.trace.json b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.trace.json index 430cebb7279..a4485db887d 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution5_node.trace.json +++ b/tests/baselines/reference/pathMappingBasedModuleResolution5_node.trace.json @@ -58,6 +58,8 @@ "File 'c:/node_modules/file4.ts' exists - use it as a name resolution result.", "Resolving real path for 'c:/node_modules/file4.ts', result 'c:/node_modules/file4.ts'.", "======== Module name 'file4' was successfully resolved to 'c:/node_modules/file4.ts'. ========", + "File 'c:/node_modules/package.json' does not exist.", + "File 'c:/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from 'c:/root/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.trace.json b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.trace.json index 33d0880875b..9963fd527d9 100644 --- a/tests/baselines/reference/pathMappingBasedModuleResolution7_node.trace.json +++ b/tests/baselines/reference/pathMappingBasedModuleResolution7_node.trace.json @@ -92,6 +92,8 @@ "File 'c:/root/src/file3/index.tsx' does not exist.", "File 'c:/root/src/file3/index.d.ts' exists - use it as a name resolution result.", "======== Module name '../file3' was successfully resolved to 'c:/root/src/file3/index.d.ts'. ========", + "File 'c:/node_modules/package.json' does not exist.", + "File 'c:/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from 'c:/root/src/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/resolvesWithoutExportsDiagnostic1(moduleresolution=bundler).trace.json b/tests/baselines/reference/resolvesWithoutExportsDiagnostic1(moduleresolution=bundler).trace.json index f79ccd1ddc6..0901c215691 100644 --- a/tests/baselines/reference/resolvesWithoutExportsDiagnostic1(moduleresolution=bundler).trace.json +++ b/tests/baselines/reference/resolvesWithoutExportsDiagnostic1(moduleresolution=bundler).trace.json @@ -1,11 +1,13 @@ [ + "Found 'package.json' at '/node_modules/foo/package.json'.", + "Found 'package.json' at '/node_modules/@types/bar/package.json'.", "======== Resolving module 'foo' from '/index.mts'. ========", "Explicitly specified module resolution kind: 'Bundler'.", "Resolving in CJS mode with conditions 'import', 'types'.", "File '/package.json' does not exist.", "Loading module 'foo' from 'node_modules' folder, target file types: TypeScript, JavaScript, Declaration, JSON.", "Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration.", - "Found 'package.json' at '/node_modules/foo/package.json'.", + "File '/node_modules/foo/package.json' exists according to earlier cached lookups.", "Entering conditional exports.", "Matched 'exports' condition 'import'.", "Using 'exports' subpath '.' with target './index.mjs'.", @@ -56,7 +58,7 @@ "Failed to resolve under condition 'import'.", "Saw non-matching condition 'require'.", "Exiting conditional exports.", - "Found 'package.json' at '/node_modules/@types/bar/package.json'.", + "File '/node_modules/@types/bar/package.json' exists according to earlier cached lookups.", "Entering conditional exports.", "Saw non-matching condition 'require'.", "Exiting conditional exports.", diff --git a/tests/baselines/reference/reuseProgramStructure/can-reuse-module-resolutions-from-non-modified-files.js b/tests/baselines/reference/reuseProgramStructure/can-reuse-module-resolutions-from-non-modified-files.js index 96526409f24..263bcae52fc 100644 --- a/tests/baselines/reference/reuseProgramStructure/can-reuse-module-resolutions-from-non-modified-files.js +++ b/tests/baselines/reference/reuseProgramStructure/can-reuse-module-resolutions-from-non-modified-files.js @@ -92,9 +92,17 @@ typerefs2: { ] } +File '/node_modules/@types/typerefs1/package.json' does not exist. +File '/node_modules/@types/package.json' does not exist. +File '/node_modules/package.json' does not exist. +File '/package.json' does not exist. +File '/node_modules/@types/typerefs2/package.json' does not exist. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving type reference directive 'typerefs1', containing file '/f1.ts', root directory '/node_modules/@types'. ======== Resolving with primary search path '/node_modules/@types'. -File '/node_modules/@types/typerefs1/package.json' does not exist. +File '/node_modules/@types/typerefs1/package.json' does not exist according to earlier cached lookups. File '/node_modules/@types/typerefs1/index.d.ts' exists - use it as a name resolution result. ======== Type reference directive 'typerefs1' was successfully resolved to '/node_modules/@types/typerefs1/index.d.ts', primary: true. ======== ======== Resolving module './b1' from '/f1.ts'. ======== @@ -103,7 +111,7 @@ File '/b1.ts' exists - use it as a name resolution result. ======== Module name './b1' was successfully resolved to '/b1.ts'. ======== ======== Resolving type reference directive 'typerefs2', containing file '/f2.ts', root directory '/node_modules/@types'. ======== Resolving with primary search path '/node_modules/@types'. -File '/node_modules/@types/typerefs2/package.json' does not exist. +File '/node_modules/@types/typerefs2/package.json' does not exist according to earlier cached lookups. File '/node_modules/@types/typerefs2/index.d.ts' exists - use it as a name resolution result. ======== Type reference directive 'typerefs2' was successfully resolved to '/node_modules/@types/typerefs2/index.d.ts', primary: true. ======== ======== Resolving module './b2' from '/f2.ts'. ======== @@ -217,9 +225,25 @@ typerefs2: { ] } +File '/node_modules/@types/typerefs1/package.json' does not exist. +File '/node_modules/@types/package.json' does not exist. +File '/node_modules/package.json' does not exist. +File '/package.json' does not exist. +File '/node_modules/@types/typerefs2/package.json' does not exist. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/typerefs1/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/typerefs2/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving type reference directive 'typerefs1', containing file '/f1.ts', root directory '/node_modules/@types'. ======== Resolving with primary search path '/node_modules/@types'. -File '/node_modules/@types/typerefs1/package.json' does not exist. +File '/node_modules/@types/typerefs1/package.json' does not exist according to earlier cached lookups. File '/node_modules/@types/typerefs1/index.d.ts' exists - use it as a name resolution result. ======== Type reference directive 'typerefs1' was successfully resolved to '/node_modules/@types/typerefs1/index.d.ts', primary: true. ======== ======== Resolving module './b1' from '/f1.ts'. ======== @@ -322,6 +346,22 @@ typerefs2: { ] } +File '/node_modules/@types/typerefs1/package.json' does not exist. +File '/node_modules/@types/package.json' does not exist. +File '/node_modules/package.json' does not exist. +File '/package.json' does not exist. +File '/node_modules/@types/typerefs2/package.json' does not exist. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/typerefs1/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/typerefs2/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module './b1' from '/f1.ts'. ======== Explicitly specified module resolution kind: 'Classic'. File '/b1.ts' exists - use it as a name resolution result. @@ -422,6 +462,22 @@ typerefs2: { ] } +File '/node_modules/@types/typerefs1/package.json' does not exist. +File '/node_modules/@types/package.json' does not exist. +File '/node_modules/package.json' does not exist. +File '/package.json' does not exist. +File '/node_modules/@types/typerefs2/package.json' does not exist. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/typerefs1/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/typerefs2/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module './b1' from '/f1.ts'. ======== Explicitly specified module resolution kind: 'Classic'. File '/b1.ts' exists - use it as a name resolution result. @@ -521,6 +577,14 @@ typerefs2: { ] } +File '/node_modules/@types/typerefs1/package.json' does not exist. +File '/node_modules/@types/package.json' does not exist. +File '/node_modules/package.json' does not exist. +File '/package.json' does not exist. +File '/node_modules/@types/typerefs2/package.json' does not exist. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module './b1' from '/f1.ts'. ======== Explicitly specified module resolution kind: 'Classic'. File '/b1.ts' exists - use it as a name resolution result. @@ -618,6 +682,22 @@ typerefs2: { ] } +File '/node_modules/@types/typerefs1/package.json' does not exist. +File '/node_modules/@types/package.json' does not exist. +File '/node_modules/package.json' does not exist. +File '/package.json' does not exist. +File '/node_modules/@types/typerefs2/package.json' does not exist. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/typerefs1/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/typerefs2/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module './b1' from '/f1.ts'. ======== Explicitly specified module resolution kind: 'Classic'. File '/b1.ts' exists - use it as a name resolution result. @@ -709,6 +789,22 @@ typerefs2: { ] } +File '/node_modules/@types/typerefs1/package.json' does not exist. +File '/node_modules/@types/package.json' does not exist. +File '/node_modules/package.json' does not exist. +File '/package.json' does not exist. +File '/node_modules/@types/typerefs2/package.json' does not exist. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/typerefs1/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/typerefs2/package.json' does not exist according to earlier cached lookups. +File '/node_modules/@types/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of type reference directive 'typerefs2' from '/f2.ts' of old program, it was successfully resolved to '/node_modules/@types/typerefs2/index.d.ts'. Reusing resolution of module './b2' from '/f2.ts' of old program, it was successfully resolved to '/b2.ts'. Reusing resolution of module './f1' from '/f2.ts' of old program, it was successfully resolved to '/f1.ts'. diff --git a/tests/baselines/reference/reuseProgramStructure/fetches-imports-after-npm-install.js b/tests/baselines/reference/reuseProgramStructure/fetches-imports-after-npm-install.js index eda662540f2..3e5e73fead2 100644 --- a/tests/baselines/reference/reuseProgramStructure/fetches-imports-after-npm-install.js +++ b/tests/baselines/reference/reuseProgramStructure/fetches-imports-after-npm-install.js @@ -105,6 +105,9 @@ File '/node_modules/a/index.ts' does not exist. File '/node_modules/a/index.tsx' does not exist. File '/node_modules/a/index.d.ts' exists - use it as a name resolution result. ======== Module name 'a' was successfully resolved to '/node_modules/a/index.d.ts'. ======== +File '/node_modules/a/package.json' does not exist according to earlier cached lookups. +File '/node_modules/package.json' does not exist. +File '/package.json' does not exist. MissingPaths:: [] diff --git a/tests/baselines/reference/scopedPackages.trace.json b/tests/baselines/reference/scopedPackages.trace.json index 7b4f3e8c2c3..a2320a796a1 100644 --- a/tests/baselines/reference/scopedPackages.trace.json +++ b/tests/baselines/reference/scopedPackages.trace.json @@ -31,6 +31,19 @@ "File '/node_modules/@types/be__bop/e/z.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/be__bop/e/z.d.ts', result '/node_modules/@types/be__bop/e/z.d.ts'.", "======== Module name '@be/bop/e/z' was successfully resolved to '/node_modules/@types/be__bop/e/z.d.ts'. ========", + "File '/node_modules/@cow/boy/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@cow/package.json' does not exist.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", + "File '/node_modules/@types/be__bop/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@types/package.json' does not exist.", + "File '/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@types/be__bop/e/package.json' does not exist.", + "File '/node_modules/@types/be__bop/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@types/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/.src/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/scopedPackagesClassic.trace.json b/tests/baselines/reference/scopedPackagesClassic.trace.json index 2407dcda0f1..4a6472faf86 100644 --- a/tests/baselines/reference/scopedPackagesClassic.trace.json +++ b/tests/baselines/reference/scopedPackagesClassic.trace.json @@ -8,6 +8,10 @@ "File '/node_modules/@types/see__saw/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/see__saw/index.d.ts', result '/node_modules/@types/see__saw/index.d.ts'.", "======== Module name '@see/saw' was successfully resolved to '/node_modules/@types/see__saw/index.d.ts'. ========", + "File '/node_modules/@types/see__saw/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@types/package.json' does not exist.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/.src/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/selfNameModuleAugmentation.trace.json b/tests/baselines/reference/selfNameModuleAugmentation.trace.json index f3eac5210e5..c02409bd734 100644 --- a/tests/baselines/reference/selfNameModuleAugmentation.trace.json +++ b/tests/baselines/reference/selfNameModuleAugmentation.trace.json @@ -1,9 +1,11 @@ [ + "File '/node_modules/acorn-walk/dist/package.json' does not exist.", + "Found 'package.json' at '/node_modules/acorn-walk/package.json'.", "======== Resolving module 'acorn-walk' from '/node_modules/acorn-walk/dist/walk.d.ts'. ========", "Explicitly specified module resolution kind: 'Bundler'.", "Resolving in CJS mode with conditions 'import', 'types'.", - "File '/node_modules/acorn-walk/dist/package.json' does not exist.", - "Found 'package.json' at '/node_modules/acorn-walk/package.json'.", + "File '/node_modules/acorn-walk/dist/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/acorn-walk/package.json' exists according to earlier cached lookups.", "Entering conditional exports.", "Matched 'exports' condition 'import'.", "Using 'exports' subpath '.' with target './dist/walk.mjs'.", diff --git a/tests/baselines/reference/tsbuild/libraryResolution/with-config-with-redirection.js b/tests/baselines/reference/tsbuild/libraryResolution/with-config-with-redirection.js index 398b621b1de..d60adcf9846 100644 --- a/tests/baselines/reference/tsbuild/libraryResolution/with-config-with-redirection.js +++ b/tests/baselines/reference/tsbuild/libraryResolution/with-config-with-redirection.js @@ -216,6 +216,13 @@ File '/home/src/projects/node_modules/@typescript/lib-webworker/index.tsx' does File '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== Module name '@typescript/lib-webworker' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist. +File '/home/src/projects/node_modules/package.json' does not exist. +File '/home/src/projects/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. ======== Resolving module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-scripthost' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -231,6 +238,13 @@ File '/home/src/projects/node_modules/@typescript/lib-scripthost/index.tsx' does File '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. ======== Module name '@typescript/lib-scripthost' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -246,6 +260,13 @@ File '/home/src/projects/node_modules/@typescript/lib-es5/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== Module name '@typescript/lib-es5' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving type reference directive 'sometype', containing file '/home/src/projects/project1/__inferred type names__.ts', root directory '/home/src/projects/project1/typeroot1'. ======== Resolving with primary search path '/home/src/projects/project1/typeroot1'. File '/home/src/projects/project1/typeroot1/sometype.d.ts' does not exist. @@ -268,6 +289,13 @@ File '/home/src/projects/node_modules/@typescript/lib-dom/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. node_modules/@typescript/lib-webworker/index.d.ts Library referenced via 'webworker' from file 'project1/file2.ts' node_modules/@typescript/lib-scripthost/index.d.ts @@ -302,6 +330,13 @@ Directory '/home/src/projects/project2/node_modules' does not exist, skipping al Scoped package detected, looking in 'typescript__lib-es5' Resolution for module '@typescript/lib-es5' was found in cache from location '/home/src/projects'. ======== Module name '@typescript/lib-es5' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-dom' from '/home/src/projects/project2/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -310,6 +345,13 @@ Directory '/home/src/projects/project2/node_modules' does not exist, skipping al Scoped package detected, looking in 'typescript__lib-dom' Resolution for module '@typescript/lib-dom' was found in cache from location '/home/src/projects'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. node_modules/@typescript/lib-es5/index.d.ts Library 'lib.es5.d.ts' specified in compilerOptions node_modules/@typescript/lib-dom/index.d.ts @@ -330,6 +372,13 @@ Directory '/home/src/projects/project3/node_modules' does not exist, skipping al Scoped package detected, looking in 'typescript__lib-es5' Resolution for module '@typescript/lib-es5' was found in cache from location '/home/src/projects'. ======== Module name '@typescript/lib-es5' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-dom' from '/home/src/projects/project3/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -338,6 +387,13 @@ Directory '/home/src/projects/project3/node_modules' does not exist, skipping al Scoped package detected, looking in 'typescript__lib-dom' Resolution for module '@typescript/lib-dom' was found in cache from location '/home/src/projects'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. node_modules/@typescript/lib-es5/index.d.ts Library 'lib.es5.d.ts' specified in compilerOptions node_modules/@typescript/lib-dom/index.d.ts @@ -365,6 +421,13 @@ File '/home/src/projects/node_modules/@typescript/lib-esnext/index.tsx' does not File '/home/src/projects/node_modules/@typescript/lib-esnext/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-esnext/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-esnext/index.d.ts'. ======== Module name '@typescript/lib-esnext' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-esnext/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-esnext/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-dom' from '/home/src/projects/project4/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -373,6 +436,13 @@ Directory '/home/src/projects/project4/node_modules' does not exist, skipping al Scoped package detected, looking in 'typescript__lib-dom' Resolution for module '@typescript/lib-dom' was found in cache from location '/home/src/projects'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-webworker' from '/home/src/projects/project4/__lib_node_modules_lookup_lib.webworker.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-webworker' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -381,6 +451,13 @@ Directory '/home/src/projects/project4/node_modules' does not exist, skipping al Scoped package detected, looking in 'typescript__lib-webworker' Resolution for module '@typescript/lib-webworker' was found in cache from location '/home/src/projects'. ======== Module name '@typescript/lib-webworker' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. node_modules/@typescript/lib-esnext/index.d.ts Library 'lib.esnext.d.ts' specified in compilerOptions node_modules/@typescript/lib-dom/index.d.ts @@ -590,7 +667,7 @@ exports.x = "type1"; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -610,38 +687,46 @@ exports.x = "type1"; "../node_modules/@typescript/lib-webworker/index.d.ts": { "original": { "version": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-7827135529-interface WebworkerInterface { }", "signature": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-scripthost/index.d.ts": { "original": { "version": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-5403980302-interface ScriptHostInterface { }", "signature": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-es5/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./core.d.ts": { "version": "-15683237936-export const core = 10;", @@ -701,7 +786,7 @@ exports.x = "type1"; }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1680 + "size": 1752 } //// [/home/src/projects/project2/index.d.ts] @@ -716,7 +801,7 @@ exports.y = 10; //// [/home/src/projects/project2/tsconfig.tsbuildinfo] -{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-11999455899-export const y = 10","signature":"-7152472870-export declare const y = 10;\n"},"-13729955264-export const y = 10;"],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11999455899-export const y = 10","signature":"-7152472870-export declare const y = 10;\n"},"-13729955264-export const y = 10;"],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -730,20 +815,24 @@ exports.y = 10; "../node_modules/@typescript/lib-es5/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./index.ts": { "original": { @@ -773,7 +862,7 @@ exports.y = 10; }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 959 + "size": 995 } //// [/home/src/projects/project3/index.d.ts] @@ -788,7 +877,7 @@ exports.z = 10; //// [/home/src/projects/project3/tsconfig.tsbuildinfo] -{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n"},"-13729955264-export const y = 10;"],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n"},"-13729955264-export const y = 10;"],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project3/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -802,20 +891,24 @@ exports.z = 10; "../node_modules/@typescript/lib-es5/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./index.ts": { "original": { @@ -845,7 +938,7 @@ exports.z = 10; }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 959 + "size": 995 } //// [/home/src/projects/project4/index.d.ts] @@ -860,7 +953,7 @@ exports.z = 10; //// [/home/src/projects/project4/tsconfig.tsbuildinfo] -{"fileNames":["../node_modules/@typescript/lib-esnext/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n"},"-13729955264-export const y = 10;"],"root":[4,5],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../node_modules/@typescript/lib-esnext/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n"},"-13729955264-export const y = 10;"],"root":[4,5],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project4/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -875,29 +968,35 @@ exports.z = 10; "../node_modules/@typescript/lib-esnext/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-webworker/index.d.ts": { "original": { "version": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-7827135529-interface WebworkerInterface { }", "signature": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./index.ts": { "original": { @@ -927,6 +1026,6 @@ exports.z = 10; }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1102 + "size": 1156 } diff --git a/tests/baselines/reference/tsbuild/moduleResolution/impliedNodeFormat-differs-between-projects-for-shared-file.js b/tests/baselines/reference/tsbuild/moduleResolution/impliedNodeFormat-differs-between-projects-for-shared-file.js index cb94ea67dc6..10d5acdcc40 100644 --- a/tests/baselines/reference/tsbuild/moduleResolution/impliedNodeFormat-differs-between-projects-for-shared-file.js +++ b/tests/baselines/reference/tsbuild/moduleResolution/impliedNodeFormat-differs-between-projects-for-shared-file.js @@ -88,6 +88,7 @@ Found 'package.json' at '/src/projects/node_modules/@types/pg/package.json'. File '/src/projects/node_modules/@types/pg/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/src/projects/node_modules/@types/pg/index.d.ts', result '/src/projects/node_modules/@types/pg/index.d.ts'. ======== Type reference directive 'pg' was successfully resolved to '/src/projects/node_modules/@types/pg/index.d.ts', primary: true. ======== +File '/src/projects/node_modules/@types/pg/package.json' exists according to earlier cached lookups. lib/lib.d.ts Default library for target 'es5' src/projects/a/src/index.ts diff --git a/tests/baselines/reference/tsbuild/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly-with-preserveSymlinks.js b/tests/baselines/reference/tsbuild/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly-with-preserveSymlinks.js index 240e8ab2cd2..71935c0bfc8 100644 --- a/tests/baselines/reference/tsbuild/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsbuild/moduleResolution/resolves-specifier-in-output-declaration-file-from-referenced-project-correctly-with-preserveSymlinks.js @@ -96,6 +96,8 @@ File '/user/username/projects/myproject/node_modules/pkg2/build/index.tsx' does File '/user/username/projects/myproject/node_modules/pkg2/build/index.d.ts' exists - use it as a name resolution result. 'package.json' does not have a 'peerDependencies' field. ======== Module name 'pkg2' was successfully resolved to '/user/username/projects/myproject/node_modules/pkg2/build/index.d.ts' with Package ID 'pkg2/build/index.d.ts@1.0.0'. ======== +File '/user/username/projects/myproject/node_modules/pkg2/build/package.json' does not exist. +File '/user/username/projects/myproject/node_modules/pkg2/package.json' exists according to earlier cached lookups. ======== Resolving module 'const' from '/user/username/projects/myproject/node_modules/pkg2/build/index.d.ts'. ======== Using compiler options of project reference redirect '/user/username/projects/myproject/packages/pkg2/tsconfig.json'. Module resolution kind is not specified, using 'Node10'. diff --git a/tests/baselines/reference/tsbuildWatch/libraryResolution/with-config-with-redirection.js b/tests/baselines/reference/tsbuildWatch/libraryResolution/with-config-with-redirection.js index 5471f68b606..75f96f95533 100644 --- a/tests/baselines/reference/tsbuildWatch/libraryResolution/with-config-with-redirection.js +++ b/tests/baselines/reference/tsbuildWatch/libraryResolution/with-config-with-redirection.js @@ -202,6 +202,13 @@ File '/home/src/projects/node_modules/@typescript/lib-webworker/index.tsx' does File '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== Module name '@typescript/lib-webworker' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist. +File '/home/src/projects/node_modules/package.json' does not exist. +File '/home/src/projects/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. ======== Resolving module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-scripthost' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -217,6 +224,13 @@ File '/home/src/projects/node_modules/@typescript/lib-scripthost/index.tsx' does File '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. ======== Module name '@typescript/lib-scripthost' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -232,6 +246,13 @@ File '/home/src/projects/node_modules/@typescript/lib-es5/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== Module name '@typescript/lib-es5' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving type reference directive 'sometype', containing file '/home/src/projects/project1/__inferred type names__.ts', root directory '/home/src/projects/project1/typeroot1'. ======== Resolving with primary search path '/home/src/projects/project1/typeroot1'. File '/home/src/projects/project1/typeroot1/sometype.d.ts' does not exist. @@ -254,6 +275,13 @@ File '/home/src/projects/node_modules/@typescript/lib-dom/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. node_modules/@typescript/lib-webworker/index.d.ts Library referenced via 'webworker' from file 'project1/file2.ts' node_modules/@typescript/lib-scripthost/index.d.ts @@ -288,6 +316,13 @@ Directory '/home/src/projects/project2/node_modules' does not exist, skipping al Scoped package detected, looking in 'typescript__lib-es5' Resolution for module '@typescript/lib-es5' was found in cache from location '/home/src/projects'. ======== Module name '@typescript/lib-es5' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-dom' from '/home/src/projects/project2/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -296,6 +331,13 @@ Directory '/home/src/projects/project2/node_modules' does not exist, skipping al Scoped package detected, looking in 'typescript__lib-dom' Resolution for module '@typescript/lib-dom' was found in cache from location '/home/src/projects'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. node_modules/@typescript/lib-es5/index.d.ts Library 'lib.es5.d.ts' specified in compilerOptions node_modules/@typescript/lib-dom/index.d.ts @@ -316,6 +358,13 @@ Directory '/home/src/projects/project3/node_modules' does not exist, skipping al Scoped package detected, looking in 'typescript__lib-es5' Resolution for module '@typescript/lib-es5' was found in cache from location '/home/src/projects'. ======== Module name '@typescript/lib-es5' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-dom' from '/home/src/projects/project3/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -324,6 +373,13 @@ Directory '/home/src/projects/project3/node_modules' does not exist, skipping al Scoped package detected, looking in 'typescript__lib-dom' Resolution for module '@typescript/lib-dom' was found in cache from location '/home/src/projects'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. node_modules/@typescript/lib-es5/index.d.ts Library 'lib.es5.d.ts' specified in compilerOptions node_modules/@typescript/lib-dom/index.d.ts @@ -351,6 +407,13 @@ File '/home/src/projects/node_modules/@typescript/lib-esnext/index.tsx' does not File '/home/src/projects/node_modules/@typescript/lib-esnext/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-esnext/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-esnext/index.d.ts'. ======== Module name '@typescript/lib-esnext' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-esnext/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-esnext/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-dom' from '/home/src/projects/project4/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -359,6 +422,13 @@ Directory '/home/src/projects/project4/node_modules' does not exist, skipping al Scoped package detected, looking in 'typescript__lib-dom' Resolution for module '@typescript/lib-dom' was found in cache from location '/home/src/projects'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-webworker' from '/home/src/projects/project4/__lib_node_modules_lookup_lib.webworker.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-webworker' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -367,6 +437,13 @@ Directory '/home/src/projects/project4/node_modules' does not exist, skipping al Scoped package detected, looking in 'typescript__lib-webworker' Resolution for module '@typescript/lib-webworker' was found in cache from location '/home/src/projects'. ======== Module name '@typescript/lib-webworker' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. node_modules/@typescript/lib-esnext/index.d.ts Library 'lib.esnext.d.ts' specified in compilerOptions node_modules/@typescript/lib-dom/index.d.ts @@ -389,6 +466,12 @@ FileWatcher:: Added:: WatchInfo: /home/src/projects/project1/index.ts 250 undefi FileWatcher:: Added:: WatchInfo: /home/src/projects/project1/utils.d.ts 250 undefined Source file /home/src/projects/project1/tsconfig.json FileWatcher:: Added:: WatchInfo: /home/src/projects/project1/typeroot1/sometype/index.d.ts 250 undefined Source file /home/src/projects/project1/tsconfig.json FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined package.json file /home/src/projects/project1/tsconfig.json +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/package.json 2000 undefined package.json file /home/src/projects/project1/tsconfig.json +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/package.json 2000 undefined package.json file /home/src/projects/project1/tsconfig.json +FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined package.json file /home/src/projects/project1/tsconfig.json +FileWatcher:: Added:: WatchInfo: /home/src/package.json 2000 undefined package.json file /home/src/projects/project1/tsconfig.json +FileWatcher:: Added:: WatchInfo: /home/package.json 2000 undefined package.json file /home/src/projects/project1/tsconfig.json +FileWatcher:: Added:: WatchInfo: /package.json 2000 undefined package.json file /home/src/projects/project1/tsconfig.json FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-scripthost/package.json 2000 undefined package.json file /home/src/projects/project1/tsconfig.json FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-es5/package.json 2000 undefined package.json file /home/src/projects/project1/tsconfig.json FileWatcher:: Added:: WatchInfo: /home/src/projects/project1/typeroot1/sometype/package.json 2000 undefined package.json file /home/src/projects/project1/tsconfig.json @@ -443,7 +526,7 @@ export declare const x = "type1"; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -463,38 +546,46 @@ export declare const x = "type1"; "../node_modules/@typescript/lib-webworker/index.d.ts": { "original": { "version": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-7827135529-interface WebworkerInterface { }", "signature": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-scripthost/index.d.ts": { "original": { "version": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-5403980302-interface ScriptHostInterface { }", "signature": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-es5/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./core.d.ts": { "version": "-15683237936-export const core = 10;", @@ -554,7 +645,7 @@ export declare const x = "type1"; }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1680 + "size": 1752 } //// [/home/src/projects/project2/index.js] @@ -569,7 +660,7 @@ export declare const y = 10; //// [/home/src/projects/project2/tsconfig.tsbuildinfo] -{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-11999455899-export const y = 10","signature":"-7152472870-export declare const y = 10;\n"},"-13729955264-export const y = 10;"],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11999455899-export const y = 10","signature":"-7152472870-export declare const y = 10;\n"},"-13729955264-export const y = 10;"],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -583,20 +674,24 @@ export declare const y = 10; "../node_modules/@typescript/lib-es5/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./index.ts": { "original": { @@ -626,7 +721,7 @@ export declare const y = 10; }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 959 + "size": 995 } //// [/home/src/projects/project3/index.js] @@ -641,7 +736,7 @@ export declare const z = 10; //// [/home/src/projects/project3/tsconfig.tsbuildinfo] -{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n"},"-13729955264-export const y = 10;"],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n"},"-13729955264-export const y = 10;"],"root":[3,4],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project3/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -655,20 +750,24 @@ export declare const z = 10; "../node_modules/@typescript/lib-es5/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./index.ts": { "original": { @@ -698,7 +797,7 @@ export declare const z = 10; }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 959 + "size": 995 } //// [/home/src/projects/project4/index.js] @@ -713,7 +812,7 @@ export declare const z = 10; //// [/home/src/projects/project4/tsconfig.tsbuildinfo] -{"fileNames":["../node_modules/@typescript/lib-esnext/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n"},"-13729955264-export const y = 10;"],"root":[4,5],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../node_modules/@typescript/lib-esnext/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","./index.ts","./utils.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-11960320506-export const z = 10","signature":"-7483702853-export declare const z = 10;\n"},"-13729955264-export const y = 10;"],"root":[4,5],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project4/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -728,29 +827,35 @@ export declare const z = 10; "../node_modules/@typescript/lib-esnext/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-webworker/index.d.ts": { "original": { "version": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-7827135529-interface WebworkerInterface { }", "signature": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./index.ts": { "original": { @@ -780,11 +885,15 @@ export declare const z = 10; }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1102 + "size": 1156 } PolledWatches:: +/home/package.json: *new* + {"pollingInterval":2000} +/home/src/package.json: *new* + {"pollingInterval":2000} /home/src/projects/node_modules/@typescript/lib-dom/package.json: *new* {"pollingInterval":2000} /home/src/projects/node_modules/@typescript/lib-es5/package.json: *new* @@ -795,8 +904,16 @@ PolledWatches:: {"pollingInterval":2000} /home/src/projects/node_modules/@typescript/lib-webworker/package.json: *new* {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} /home/src/projects/project1/typeroot1/sometype/package.json: *new* {"pollingInterval":2000} +/package.json: *new* + {"pollingInterval":2000} FsWatches:: /home/src/projects/project1/core.d.ts: *new* diff --git a/tests/baselines/reference/tsbuildWatch/moduleResolutionCache/handles-the-cache-correctly-when-two-projects-use-different-module-resolution-settings.js b/tests/baselines/reference/tsbuildWatch/moduleResolutionCache/handles-the-cache-correctly-when-two-projects-use-different-module-resolution-settings.js index 306e0ff852a..9a8a33b0795 100644 --- a/tests/baselines/reference/tsbuildWatch/moduleResolutionCache/handles-the-cache-correctly-when-two-projects-use-different-module-resolution-settings.js +++ b/tests/baselines/reference/tsbuildWatch/moduleResolutionCache/handles-the-cache-correctly-when-two-projects-use-different-module-resolution-settings.js @@ -105,7 +105,7 @@ export {}; //// [/user/username/projects/myproject/project1/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","./node_modules/file/index.d.ts","./index.ts","../node_modules/@types/foo/index.d.ts","../node_modules/@types/bar/index.d.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-12737086933-export const foo = 10;",{"version":"-4708082513-import { foo } from \"file\";","signature":"-3531856636-export {};\n"},"-12737086933-export const foo = 10;","-12042713060-export const bar = 10;"],"root":[3],"options":{"composite":true},"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","./node_modules/file/index.d.ts","./index.ts","../node_modules/@types/foo/index.d.ts","../node_modules/@types/bar/index.d.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-12737086933-export const foo = 10;","impliedFormat":1},{"version":"-4708082513-import { foo } from \"file\";","signature":"-3531856636-export {};\n"},{"version":"-12737086933-export const foo = 10;","impliedFormat":1},{"version":"-12042713060-export const bar = 10;","impliedFormat":1}],"root":[3],"options":{"composite":true},"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/myproject/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -132,8 +132,13 @@ export {}; "affectsGlobalScope": true }, "./node_modules/file/index.d.ts": { + "original": { + "version": "-12737086933-export const foo = 10;", + "impliedFormat": 1 + }, "version": "-12737086933-export const foo = 10;", - "signature": "-12737086933-export const foo = 10;" + "signature": "-12737086933-export const foo = 10;", + "impliedFormat": "commonjs" }, "./index.ts": { "original": { @@ -144,12 +149,22 @@ export {}; "signature": "-3531856636-export {};\n" }, "../node_modules/@types/foo/index.d.ts": { + "original": { + "version": "-12737086933-export const foo = 10;", + "impliedFormat": 1 + }, "version": "-12737086933-export const foo = 10;", - "signature": "-12737086933-export const foo = 10;" + "signature": "-12737086933-export const foo = 10;", + "impliedFormat": "commonjs" }, "../node_modules/@types/bar/index.d.ts": { + "original": { + "version": "-12042713060-export const bar = 10;", + "impliedFormat": 1 + }, "version": "-12042713060-export const bar = 10;", - "signature": "-12042713060-export const bar = 10;" + "signature": "-12042713060-export const bar = 10;", + "impliedFormat": "commonjs" } }, "root": [ @@ -168,7 +183,7 @@ export {}; }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 943 + "size": 1033 } //// [/user/username/projects/myproject/project2/index.js] @@ -181,7 +196,7 @@ export {}; //// [/user/username/projects/myproject/project2/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","./file.d.ts","./index.ts","../node_modules/@types/foo/index.d.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-12737086933-export const foo = 10;",{"version":"-4708082513-import { foo } from \"file\";","signature":"-3531856636-export {};\n"},"-12737086933-export const foo = 10;"],"root":[3],"options":{"composite":true},"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","./file.d.ts","./index.ts","../node_modules/@types/foo/index.d.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-12737086933-export const foo = 10;",{"version":"-4708082513-import { foo } from \"file\";","signature":"-3531856636-export {};\n"},{"version":"-12737086933-export const foo = 10;","impliedFormat":1}],"root":[3],"options":{"composite":true},"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/myproject/project2/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -219,8 +234,13 @@ export {}; "signature": "-3531856636-export {};\n" }, "../node_modules/@types/foo/index.d.ts": { + "original": { + "version": "-12737086933-export const foo = 10;", + "impliedFormat": 1 + }, "version": "-12737086933-export const foo = 10;", - "signature": "-12737086933-export const foo = 10;" + "signature": "-12737086933-export const foo = 10;", + "impliedFormat": "commonjs" } }, "root": [ @@ -239,17 +259,35 @@ export {}; }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 846 + "size": 876 } PolledWatches:: +/package.json: *new* + {"pollingInterval":2000} +/user/package.json: *new* + {"pollingInterval":2000} +/user/username/package.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/node_modules/@types/bar/package.json: *new* {"pollingInterval":2000} /user/username/projects/myproject/node_modules/@types/foo/package.json: *new* {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/project1/node_modules/file/package.json: *new* {"pollingInterval":2000} +/user/username/projects/myproject/project1/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/project1/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /user/username/projects/myproject/project1/index.ts: *new* @@ -366,7 +404,7 @@ var bar = 10; //// [/user/username/projects/myproject/project1/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","./node_modules/file/index.d.ts","./index.ts","../node_modules/@types/foo/index.d.ts","../node_modules/@types/bar/index.d.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-12737086933-export const foo = 10;",{"version":"-7561100220-import { foo } from \"file\";const bar = 10;","signature":"-3531856636-export {};\n"},"-12737086933-export const foo = 10;","-12042713060-export const bar = 10;"],"root":[3],"options":{"composite":true},"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","./node_modules/file/index.d.ts","./index.ts","../node_modules/@types/foo/index.d.ts","../node_modules/@types/bar/index.d.ts"],"fileIdsList":[[2]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-12737086933-export const foo = 10;","impliedFormat":1},{"version":"-7561100220-import { foo } from \"file\";const bar = 10;","signature":"-3531856636-export {};\n"},{"version":"-12737086933-export const foo = 10;","impliedFormat":1},{"version":"-12042713060-export const bar = 10;","impliedFormat":1}],"root":[3],"options":{"composite":true},"referencedMap":[[3,1]],"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/myproject/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -393,8 +431,13 @@ var bar = 10; "affectsGlobalScope": true }, "./node_modules/file/index.d.ts": { + "original": { + "version": "-12737086933-export const foo = 10;", + "impliedFormat": 1 + }, "version": "-12737086933-export const foo = 10;", - "signature": "-12737086933-export const foo = 10;" + "signature": "-12737086933-export const foo = 10;", + "impliedFormat": "commonjs" }, "./index.ts": { "original": { @@ -405,12 +448,22 @@ var bar = 10; "signature": "-3531856636-export {};\n" }, "../node_modules/@types/foo/index.d.ts": { + "original": { + "version": "-12737086933-export const foo = 10;", + "impliedFormat": 1 + }, "version": "-12737086933-export const foo = 10;", - "signature": "-12737086933-export const foo = 10;" + "signature": "-12737086933-export const foo = 10;", + "impliedFormat": "commonjs" }, "../node_modules/@types/bar/index.d.ts": { + "original": { + "version": "-12042713060-export const bar = 10;", + "impliedFormat": 1 + }, "version": "-12042713060-export const bar = 10;", - "signature": "-12042713060-export const bar = 10;" + "signature": "-12042713060-export const bar = 10;", + "impliedFormat": "commonjs" } }, "root": [ @@ -429,7 +482,7 @@ var bar = 10; }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 958 + "size": 1048 } diff --git a/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package-moduleCaseChange.js b/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package-moduleCaseChange.js index f4daf4e6153..61fe239cc13 100644 --- a/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package-moduleCaseChange.js +++ b/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package-moduleCaseChange.js @@ -118,6 +118,7 @@ File '/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/i 'package.json' does not have a 'peerDependencies' field. Resolving real path for '/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/index.d.ts', result '/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/index.d.ts'. ======== Module name 'typescript-fsa' was successfully resolved to '/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/index.d.ts' with Package ID 'typescript-fsa/index.d.ts@3.0.0-beta-2'. ======== +File '/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/package.json' exists according to earlier cached lookups. ======== Resolving module 'plugin-two' from '/user/username/projects/myproject/plugin-one/index.ts'. ======== Module resolution kind is not specified, using 'Node10'. Loading module 'plugin-two' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -149,6 +150,7 @@ File '/user/username/projects/myProject/plugin-two/node_modules/typescript-fsa/i 'package.json' does not have a 'peerDependencies' field. Resolving real path for '/user/username/projects/myProject/plugin-two/node_modules/typescript-fsa/index.d.ts', result '/user/username/projects/myProject/plugin-two/node_modules/typescript-fsa/index.d.ts'. ======== Module name 'typescript-fsa' was successfully resolved to '/user/username/projects/myProject/plugin-two/node_modules/typescript-fsa/index.d.ts' with Package ID 'typescript-fsa/index.d.ts@3.0.0-beta-2'. ======== +File '/user/username/projects/myProject/plugin-two/node_modules/typescript-fsa/package.json' exists according to earlier cached lookups. ../../../../a/lib/lib.d.ts Default library for target 'es5' plugin-one/node_modules/typescript-fsa/index.d.ts diff --git a/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package-with-indirect-link-moduleCaseChange.js b/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package-with-indirect-link-moduleCaseChange.js index 56d3133c71b..8ac6d3240ba 100644 --- a/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package-with-indirect-link-moduleCaseChange.js +++ b/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package-with-indirect-link-moduleCaseChange.js @@ -163,6 +163,8 @@ File '/user/username/projects/myProject/plugin-two/node_modules/typescript-fsa/i 'package.json' does not have a 'peerDependencies' field. Resolving real path for '/user/username/projects/myProject/plugin-two/node_modules/typescript-fsa/index.d.ts', result '/user/username/projects/myProject/plugin-two/node_modules/typescript-fsa/index.d.ts'. ======== Module name 'typescript-fsa' was successfully resolved to '/user/username/projects/myProject/plugin-two/node_modules/typescript-fsa/index.d.ts' with Package ID 'typescript-fsa/index.d.ts@3.0.0-beta-2'. ======== +File '/user/username/projects/myProject/plugin-two/node_modules/typescript-fsa/package.json' exists according to earlier cached lookups. +File '/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/package.json' exists according to earlier cached lookups. ../../../../a/lib/lib.d.ts Default library for target 'es5' plugin-two/node_modules/typescript-fsa/index.d.ts diff --git a/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package-with-indirect-link.js b/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package-with-indirect-link.js index 366ea665d69..5d7cd7a50f9 100644 --- a/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package-with-indirect-link.js +++ b/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package-with-indirect-link.js @@ -163,6 +163,8 @@ File '/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/i 'package.json' does not have a 'peerDependencies' field. Resolving real path for '/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/index.d.ts', result '/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/index.d.ts'. ======== Module name 'typescript-fsa' was successfully resolved to '/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/index.d.ts' with Package ID 'typescript-fsa/index.d.ts@3.0.0-beta-2'. ======== +File '/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/package.json' exists according to earlier cached lookups. +File '/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/package.json' exists according to earlier cached lookups. ../../../../a/lib/lib.d.ts Default library for target 'es5' plugin-two/node_modules/typescript-fsa/index.d.ts diff --git a/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package.js b/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package.js index 4a79a18f881..ad05a8be189 100644 --- a/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package.js +++ b/tests/baselines/reference/tsc/declarationEmit/when-same-version-is-referenced-through-source-and-another-symlinked-package.js @@ -118,6 +118,7 @@ File '/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/i 'package.json' does not have a 'peerDependencies' field. Resolving real path for '/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/index.d.ts', result '/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/index.d.ts'. ======== Module name 'typescript-fsa' was successfully resolved to '/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/index.d.ts' with Package ID 'typescript-fsa/index.d.ts@3.0.0-beta-2'. ======== +File '/user/username/projects/myproject/plugin-one/node_modules/typescript-fsa/package.json' exists according to earlier cached lookups. ======== Resolving module 'plugin-two' from '/user/username/projects/myproject/plugin-one/index.ts'. ======== Module resolution kind is not specified, using 'Node10'. Loading module 'plugin-two' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -149,6 +150,7 @@ File '/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/i 'package.json' does not have a 'peerDependencies' field. Resolving real path for '/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/index.d.ts', result '/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/index.d.ts'. ======== Module name 'typescript-fsa' was successfully resolved to '/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/index.d.ts' with Package ID 'typescript-fsa/index.d.ts@3.0.0-beta-2'. ======== +File '/user/username/projects/myproject/plugin-two/node_modules/typescript-fsa/package.json' exists according to earlier cached lookups. ../../../../a/lib/lib.d.ts Default library for target 'es5' plugin-one/node_modules/typescript-fsa/index.d.ts diff --git a/tests/baselines/reference/tsc/libraryResolution/with-config-with-redirection.js b/tests/baselines/reference/tsc/libraryResolution/with-config-with-redirection.js index 35d03cae679..1ce9050981a 100644 --- a/tests/baselines/reference/tsc/libraryResolution/with-config-with-redirection.js +++ b/tests/baselines/reference/tsc/libraryResolution/with-config-with-redirection.js @@ -206,6 +206,13 @@ File '/home/src/projects/node_modules/@typescript/lib-webworker/index.tsx' does File '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== Module name '@typescript/lib-webworker' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist. +File '/home/src/projects/node_modules/package.json' does not exist. +File '/home/src/projects/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. ======== Resolving module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-scripthost' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -221,6 +228,13 @@ File '/home/src/projects/node_modules/@typescript/lib-scripthost/index.tsx' does File '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. ======== Module name '@typescript/lib-scripthost' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -236,6 +250,13 @@ File '/home/src/projects/node_modules/@typescript/lib-es5/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== Module name '@typescript/lib-es5' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving type reference directive 'sometype', containing file '/home/src/projects/project1/__inferred type names__.ts', root directory '/home/src/projects/project1/typeroot1'. ======== Resolving with primary search path '/home/src/projects/project1/typeroot1'. File '/home/src/projects/project1/typeroot1/sometype.d.ts' does not exist. @@ -258,6 +279,13 @@ File '/home/src/projects/node_modules/@typescript/lib-dom/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. node_modules/@typescript/lib-webworker/index.d.ts Library referenced via 'webworker' from file 'project1/file2.ts' node_modules/@typescript/lib-scripthost/index.d.ts @@ -373,7 +401,7 @@ exports.x = "type1"; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -393,38 +421,46 @@ exports.x = "type1"; "../node_modules/@typescript/lib-webworker/index.d.ts": { "original": { "version": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-7827135529-interface WebworkerInterface { }", "signature": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-scripthost/index.d.ts": { "original": { "version": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-5403980302-interface ScriptHostInterface { }", "signature": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-es5/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./core.d.ts": { "version": "-15683237936-export const core = 10;", @@ -484,6 +520,6 @@ exports.x = "type1"; }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1680 + "size": 1752 } diff --git a/tests/baselines/reference/tsc/libraryResolution/without-config-with-redirection.js b/tests/baselines/reference/tsc/libraryResolution/without-config-with-redirection.js index 95c948bd17a..6df2d863aa7 100644 --- a/tests/baselines/reference/tsc/libraryResolution/without-config-with-redirection.js +++ b/tests/baselines/reference/tsc/libraryResolution/without-config-with-redirection.js @@ -204,6 +204,13 @@ File '/home/src/projects/node_modules/@typescript/lib-webworker/index.tsx' does File '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== Module name '@typescript/lib-webworker' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist. +File '/home/src/projects/node_modules/package.json' does not exist. +File '/home/src/projects/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. ======== Resolving module '@typescript/lib-scripthost' from '/home/src/projects/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-scripthost' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -217,6 +224,13 @@ File '/home/src/projects/node_modules/@typescript/lib-scripthost/index.tsx' does File '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. ======== Module name '@typescript/lib-scripthost' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-es5' from '/home/src/projects/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -230,6 +244,13 @@ File '/home/src/projects/node_modules/@typescript/lib-es5/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== Module name '@typescript/lib-es5' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-dom' from '/home/src/projects/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -243,6 +264,13 @@ File '/home/src/projects/node_modules/@typescript/lib-dom/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. node_modules/@typescript/lib-webworker/index.d.ts Library referenced via 'webworker' from file 'project1/file2.ts' node_modules/@typescript/lib-scripthost/index.d.ts diff --git a/tests/baselines/reference/tsc/moduleResolution/pnpm-style-layout.js b/tests/baselines/reference/tsc/moduleResolution/pnpm-style-layout.js index 37d45dc691a..a5a91c81970 100644 --- a/tests/baselines/reference/tsc/moduleResolution/pnpm-style-layout.js +++ b/tests/baselines/reference/tsc/moduleResolution/pnpm-style-layout.js @@ -240,6 +240,8 @@ Found 'package.json' at '/home/src/projects/component-type-checker/node_modules/ Found peerDependency '@component-type-checker/button' with '0.0.1' version. Resolving real path for '/home/src/projects/component-type-checker/packages/sdk/node_modules/@component-type-checker/components/src/index.ts', result '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+components@0.0.1_@component-type-checker+button@0.0.1/node_modules/@component-type-checker/components/src/index.ts'. ======== Module name '@component-type-checker/components' was successfully resolved to '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+components@0.0.1_@component-type-checker+button@0.0.1/node_modules/@component-type-checker/components/src/index.ts' with Package ID '@component-type-checker/components/src/index.ts@0.0.1+@component-type-checker/button@0.0.1'. ======== +File '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+components@0.0.1_@component-type-checker+button@0.0.1/node_modules/@component-type-checker/components/src/package.json' does not exist. +Found 'package.json' at '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+components@0.0.1_@component-type-checker+button@0.0.1/node_modules/@component-type-checker/components/package.json'. ======== Resolving module '@component-type-checker/button' from '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+components@0.0.1_@component-type-checker+button@0.0.1/node_modules/@component-type-checker/components/src/index.ts'. ======== Explicitly specified module resolution kind: 'Node10'. 'baseUrl' option is set to '/home/src/projects/component-type-checker/packages/app', using this value to resolve non-relative module name '@component-type-checker/button'. @@ -265,6 +267,10 @@ File '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-ty 'package.json' does not have a 'peerDependencies' field. Resolving real path for '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+components@0.0.1_@component-type-checker+button@0.0.1/node_modules/@component-type-checker/button/src/index.ts', result '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+button@0.0.1/node_modules/@component-type-checker/button/src/index.ts'. ======== Module name '@component-type-checker/button' was successfully resolved to '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+button@0.0.1/node_modules/@component-type-checker/button/src/index.ts' with Package ID '@component-type-checker/button/src/index.ts@0.0.1'. ======== +File '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+button@0.0.1/node_modules/@component-type-checker/button/src/package.json' does not exist. +Found 'package.json' at '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+button@0.0.1/node_modules/@component-type-checker/button/package.json'. +File '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+components@0.0.1_@component-type-checker+button@0.0.2/node_modules/@component-type-checker/components/src/package.json' does not exist. +Found 'package.json' at '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+components@0.0.1_@component-type-checker+button@0.0.2/node_modules/@component-type-checker/components/package.json'. ======== Resolving module '@component-type-checker/button' from '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+components@0.0.1_@component-type-checker+button@0.0.2/node_modules/@component-type-checker/components/src/index.ts'. ======== Explicitly specified module resolution kind: 'Node10'. 'baseUrl' option is set to '/home/src/projects/component-type-checker/packages/app', using this value to resolve non-relative module name '@component-type-checker/button'. @@ -290,6 +296,8 @@ File '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-ty 'package.json' does not have a 'peerDependencies' field. Resolving real path for '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+components@0.0.1_@component-type-checker+button@0.0.2/node_modules/@component-type-checker/button/src/index.ts', result '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+button@0.0.2/node_modules/@component-type-checker/button/src/index.ts'. ======== Module name '@component-type-checker/button' was successfully resolved to '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+button@0.0.2/node_modules/@component-type-checker/button/src/index.ts' with Package ID '@component-type-checker/button/src/index.ts@0.0.2'. ======== +File '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+button@0.0.2/node_modules/@component-type-checker/button/src/package.json' does not exist. +Found 'package.json' at '/home/src/projects/component-type-checker/node_modules/.pnpm/@component-type-checker+button@0.0.2/node_modules/@component-type-checker/button/package.json'. ======== Resolving module '@typescript/lib-es5' from '/home/src/projects/component-type-checker/packages/app/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration. diff --git a/tests/baselines/reference/tsc/projectReferences/default-import-interop-uses-referenced-project-settings.js b/tests/baselines/reference/tsc/projectReferences/default-import-interop-uses-referenced-project-settings.js index cae334db82e..866c833d418 100644 --- a/tests/baselines/reference/tsc/projectReferences/default-import-interop-uses-referenced-project-settings.js +++ b/tests/baselines/reference/tsc/projectReferences/default-import-interop-uses-referenced-project-settings.js @@ -82,6 +82,7 @@ export declare const esm: number; Output:: /lib/tsc --p app --pretty false app/src/index.ts(2,28): error TS2613: Module '"/app/src/local"' has no default export. Did you mean to use 'import { local } from "/app/src/local"' instead? +app/src/index.ts(3,28): error TS2613: Module '"/node_modules/esm-package/index"' has no default export. Did you mean to use 'import { esm } from "/node_modules/esm-package/index"' instead? exitCode:: ExitStatus.DiagnosticsPresent_OutputsGenerated diff --git a/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash-under---strict.js b/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash-under---strict.js index 279f578285c..edd0f77e992 100644 --- a/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash-under---strict.js +++ b/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash-under---strict.js @@ -70,7 +70,7 @@ exports.App = App; //// [/src/project/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.d.ts","./src/index.tsx","./node_modules/@types/react/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-14760199789-export const App = () =>
;",{"version":"-16587767667-\nexport {};\ndeclare global {\n namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n }\n}","affectsGlobalScope":true}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1,"strict":true},"semanticDiagnosticsPerFile":[[2,[{"start":25,"length":24,"code":7016,"category":1,"messageText":"Could not find a declaration file for module 'react/jsx-runtime'. '/src/project/node_modules/react/jsx-runtime.js' implicitly has an 'any' type."}]]],"version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.d.ts","./src/index.tsx","./node_modules/@types/react/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-14760199789-export const App = () =>
;",{"version":"-16587767667-\nexport {};\ndeclare global {\n namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n }\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1,"strict":true},"semanticDiagnosticsPerFile":[[2,[{"start":25,"length":24,"code":7016,"category":1,"messageText":"Could not find a declaration file for module 'react/jsx-runtime'. '/src/project/node_modules/react/jsx-runtime.js' implicitly has an 'any' type."}]]],"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -96,11 +96,13 @@ exports.App = App; "./node_modules/@types/react/index.d.ts": { "original": { "version": "-16587767667-\nexport {};\ndeclare global {\n namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n }\n}", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-16587767667-\nexport {};\ndeclare global {\n namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n }\n}", "signature": "-16587767667-\nexport {};\ndeclare global {\n namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n }\n}", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" } }, "root": [ @@ -130,6 +132,6 @@ exports.App = App; ] ], "version": "FakeTSVersion", - "size": 1275 + "size": 1293 } diff --git a/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash.js b/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash.js index aee89af8a89..a2d2e1144a6 100644 --- a/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash.js +++ b/tests/baselines/reference/tsc/react-jsx-emit-mode/with-no-backing-types-found-doesn't-crash.js @@ -62,7 +62,7 @@ exports.App = App; //// [/src/project/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.d.ts","./src/index.tsx","./node_modules/@types/react/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-14760199789-export const App = () =>
;",{"version":"-16587767667-\nexport {};\ndeclare global {\n namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n }\n}","affectsGlobalScope":true}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1},"version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.d.ts","./src/index.tsx","./node_modules/@types/react/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-14760199789-export const App = () =>
;",{"version":"-16587767667-\nexport {};\ndeclare global {\n namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n }\n}","affectsGlobalScope":true,"impliedFormat":1}],"root":[2],"options":{"jsx":4,"jsxImportSource":"react","module":1},"version":"FakeTSVersion"} //// [/src/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -88,11 +88,13 @@ exports.App = App; "./node_modules/@types/react/index.d.ts": { "original": { "version": "-16587767667-\nexport {};\ndeclare global {\n namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n }\n}", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-16587767667-\nexport {};\ndeclare global {\n namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n }\n}", "signature": "-16587767667-\nexport {};\ndeclare global {\n namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n }\n}", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" } }, "root": [ @@ -107,6 +109,6 @@ exports.App = App; "module": 1 }, "version": "FakeTSVersion", - "size": 1013 + "size": 1031 } diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/jsxImportSource-option-changed.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/jsxImportSource-option-changed.js index 6de5b16cdd4..75405d55fd9 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/jsxImportSource-option-changed.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/jsxImportSource-option-changed.js @@ -89,6 +89,8 @@ exports.App = App; PolledWatches:: /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/react/Jsx-runtime/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} diff --git a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js index 3f8289c5207..8fd695b8883 100644 --- a/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js +++ b/tests/baselines/reference/tscWatch/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js @@ -322,8 +322,18 @@ Object.defineProperty(exports, "__esModule", { value: true }); PolledWatches:: /home/src/projects/node_modules/@types: *new* {"pollingInterval":500} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} /home/src/projects/project/node_modules/@types: *new* {"pollingInterval":500} +/home/src/projects/project/node_modules/fp-ts/lib/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules/fp-ts/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-incremental.js b/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-incremental.js index eb30c9508cf..8d5b0dac686 100644 --- a/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-incremental.js @@ -45,7 +45,7 @@ var classnames_1 = require("classnames"); //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileIdsList":[[2,4],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"1239706283-export interface Result {} export default function classNames(): Result;","-5756287633-import classNames from \"classnames\"; classNames().foo;","-16510108606-export {}; declare module \"classnames\" { interface Result { foo } }"],"root":[3,4],"options":{"module":1},"referencedMap":[[3,1],[4,2]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileIdsList":[[2,4],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1239706283-export interface Result {} export default function classNames(): Result;","impliedFormat":1},"-5756287633-import classNames from \"classnames\"; classNames().foo;","-16510108606-export {}; declare module \"classnames\" { interface Result { foo } }"],"root":[3,4],"options":{"module":1},"referencedMap":[[3,1],[4,2]],"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -75,8 +75,13 @@ var classnames_1 = require("classnames"); "affectsGlobalScope": true }, "./node_modules/classnames/index.d.ts": { + "original": { + "version": "1239706283-export interface Result {} export default function classNames(): Result;", + "impliedFormat": 1 + }, "version": "1239706283-export interface Result {} export default function classNames(): Result;", - "signature": "1239706283-export interface Result {} export default function classNames(): Result;" + "signature": "1239706283-export interface Result {} export default function classNames(): Result;", + "impliedFormat": "commonjs" }, "./src/index.ts": { "version": "-5756287633-import classNames from \"classnames\"; classNames().foo;", @@ -110,7 +115,7 @@ var classnames_1 = require("classnames"); ] }, "version": "FakeTSVersion", - "size": 983 + "size": 1013 } @@ -164,7 +169,7 @@ Found 1 error in src/index.ts:1 //// [/users/username/projects/project/src/index.js] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileIdsList":[[2,4],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"1239706283-export interface Result {} export default function classNames(): Result;",{"version":"-5756287633-import classNames from \"classnames\"; classNames().foo;","signature":"-3531856636-export {};\n"},"-14890340642-export {}; declare module \"classnames\" { interface Result {} }"],"root":[3,4],"options":{"module":1},"referencedMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[[3,[{"start":50,"length":3,"code":2339,"category":1,"messageText":"Property 'foo' does not exist on type 'Result'."}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileIdsList":[[2,4],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1239706283-export interface Result {} export default function classNames(): Result;","impliedFormat":1},{"version":"-5756287633-import classNames from \"classnames\"; classNames().foo;","signature":"-3531856636-export {};\n"},"-14890340642-export {}; declare module \"classnames\" { interface Result {} }"],"root":[3,4],"options":{"module":1},"referencedMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[[3,[{"start":50,"length":3,"code":2339,"category":1,"messageText":"Property 'foo' does not exist on type 'Result'."}]]],"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -194,8 +199,13 @@ Found 1 error in src/index.ts:1 "affectsGlobalScope": true }, "./node_modules/classnames/index.d.ts": { + "original": { + "version": "1239706283-export interface Result {} export default function classNames(): Result;", + "impliedFormat": 1 + }, "version": "1239706283-export interface Result {} export default function classNames(): Result;", - "signature": "1239706283-export interface Result {} export default function classNames(): Result;" + "signature": "1239706283-export interface Result {} export default function classNames(): Result;", + "impliedFormat": "commonjs" }, "./src/index.ts": { "original": { @@ -247,7 +257,7 @@ Found 1 error in src/index.ts:1 ] ], "version": "FakeTSVersion", - "size": 1179 + "size": 1209 } diff --git a/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-watch.js b/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-watch.js index ef2bf5b7a1c..25fefdcb502 100644 --- a/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-watch.js +++ b/tests/baselines/reference/tscWatch/incremental/editing-module-augmentation-watch.js @@ -50,7 +50,7 @@ var classnames_1 = require("classnames"); //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileIdsList":[[2,4],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"1239706283-export interface Result {} export default function classNames(): Result;","-5756287633-import classNames from \"classnames\"; classNames().foo;","-16510108606-export {}; declare module \"classnames\" { interface Result { foo } }"],"root":[3,4],"options":{"module":1},"referencedMap":[[3,1],[4,2]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileIdsList":[[2,4],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1239706283-export interface Result {} export default function classNames(): Result;","impliedFormat":1},"-5756287633-import classNames from \"classnames\"; classNames().foo;","-16510108606-export {}; declare module \"classnames\" { interface Result { foo } }"],"root":[3,4],"options":{"module":1},"referencedMap":[[3,1],[4,2]],"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -80,8 +80,13 @@ var classnames_1 = require("classnames"); "affectsGlobalScope": true }, "./node_modules/classnames/index.d.ts": { + "original": { + "version": "1239706283-export interface Result {} export default function classNames(): Result;", + "impliedFormat": 1 + }, "version": "1239706283-export interface Result {} export default function classNames(): Result;", - "signature": "1239706283-export interface Result {} export default function classNames(): Result;" + "signature": "1239706283-export interface Result {} export default function classNames(): Result;", + "impliedFormat": "commonjs" }, "./src/index.ts": { "version": "-5756287633-import classNames from \"classnames\"; classNames().foo;", @@ -115,15 +120,23 @@ var classnames_1 = require("classnames"); ] }, "version": "FakeTSVersion", - "size": 983 + "size": 1013 } PolledWatches:: /users/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/users/username/projects/package.json: *new* + {"pollingInterval":2000} /users/username/projects/project/node_modules/@types: *new* {"pollingInterval":500} +/users/username/projects/project/node_modules/classnames/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/node_modules/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -186,8 +199,16 @@ export {}; declare module "classnames" { interface Result {} } PolledWatches *deleted*:: /users/username/projects/node_modules/@types: {"pollingInterval":500} +/users/username/projects/package.json: + {"pollingInterval":2000} /users/username/projects/project/node_modules/@types: {"pollingInterval":500} +/users/username/projects/project/node_modules/classnames/package.json: + {"pollingInterval":2000} +/users/username/projects/project/node_modules/package.json: + {"pollingInterval":2000} +/users/username/projects/project/package.json: + {"pollingInterval":2000} FsWatches *deleted*:: /a/lib/lib.d.ts: @@ -224,7 +245,7 @@ Output:: //// [/users/username/projects/project/src/index.js] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileIdsList":[[2,4],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"1239706283-export interface Result {} export default function classNames(): Result;",{"version":"-5756287633-import classNames from \"classnames\"; classNames().foo;","signature":"-3531856636-export {};\n"},"-14890340642-export {}; declare module \"classnames\" { interface Result {} }"],"root":[3,4],"options":{"module":1},"referencedMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[[3,[{"start":50,"length":3,"code":2339,"category":1,"messageText":"Property 'foo' does not exist on type 'Result'."}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/classnames/index.d.ts","./src/index.ts","./src/types/classnames.d.ts"],"fileIdsList":[[2,4],[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1239706283-export interface Result {} export default function classNames(): Result;","impliedFormat":1},{"version":"-5756287633-import classNames from \"classnames\"; classNames().foo;","signature":"-3531856636-export {};\n"},"-14890340642-export {}; declare module \"classnames\" { interface Result {} }"],"root":[3,4],"options":{"module":1},"referencedMap":[[3,1],[4,2]],"semanticDiagnosticsPerFile":[[3,[{"start":50,"length":3,"code":2339,"category":1,"messageText":"Property 'foo' does not exist on type 'Result'."}]]],"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -254,8 +275,13 @@ Output:: "affectsGlobalScope": true }, "./node_modules/classnames/index.d.ts": { + "original": { + "version": "1239706283-export interface Result {} export default function classNames(): Result;", + "impliedFormat": 1 + }, "version": "1239706283-export interface Result {} export default function classNames(): Result;", - "signature": "1239706283-export interface Result {} export default function classNames(): Result;" + "signature": "1239706283-export interface Result {} export default function classNames(): Result;", + "impliedFormat": "commonjs" }, "./src/index.ts": { "original": { @@ -307,15 +333,23 @@ Output:: ] ], "version": "FakeTSVersion", - "size": 1179 + "size": 1209 } PolledWatches:: /users/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/users/username/projects/package.json: *new* + {"pollingInterval":2000} /users/username/projects/project/node_modules/@types: *new* {"pollingInterval":500} +/users/username/projects/project/node_modules/classnames/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/node_modules/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tscWatch/incremental/importHelpers-backing-types-removed-incremental.js b/tests/baselines/reference/tscWatch/incremental/importHelpers-backing-types-removed-incremental.js index 85384d9e7be..696d0e2a10b 100644 --- a/tests/baselines/reference/tscWatch/incremental/importHelpers-backing-types-removed-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/importHelpers-backing-types-removed-incremental.js @@ -48,7 +48,7 @@ exports.x = tslib_1.__assign({}); //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/tslib/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"1620578607-export function __assign(...args: any[]): any;","-14168389096-export const x = {...{}};"],"root":[3],"options":{"importHelpers":true},"referencedMap":[[3,1]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/tslib/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"1620578607-export function __assign(...args: any[]): any;","impliedFormat":1},"-14168389096-export const x = {...{}};"],"root":[3],"options":{"importHelpers":true},"referencedMap":[[3,1]],"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -73,8 +73,13 @@ exports.x = tslib_1.__assign({}); "affectsGlobalScope": true }, "./node_modules/tslib/index.d.ts": { + "original": { + "version": "1620578607-export function __assign(...args: any[]): any;", + "impliedFormat": 1 + }, "version": "1620578607-export function __assign(...args: any[]): any;", - "signature": "1620578607-export function __assign(...args: any[]): any;" + "signature": "1620578607-export function __assign(...args: any[]): any;", + "impliedFormat": "commonjs" }, "./index.tsx": { "version": "-14168389096-export const x = {...{}};", @@ -96,7 +101,7 @@ exports.x = tslib_1.__assign({}); ] }, "version": "FakeTSVersion", - "size": 800 + "size": 830 } diff --git a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-incremental.js b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-incremental.js index df6342f1b7a..401cc30613e 100644 --- a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-incremental.js @@ -158,7 +158,7 @@ Output:: //// [/users/username/projects/project/index.js] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n",{"version":"-14760199789-export const App = () =>
;","signature":"-17269688391-export declare const App: () => import(\"react/jsx-runtime\").JSX.Element;\n"}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[[3,1]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
;","signature":"-17269688391-export declare const App: () => import(\"react/jsx-runtime\").JSX.Element;\n"}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[[3,1]],"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -183,8 +183,13 @@ Output:: "affectsGlobalScope": true }, "./node_modules/react/jsx-runtime/index.d.ts": { + "original": { + "version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": 1 + }, "version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", - "signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n" + "signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": "commonjs" }, "./index.tsx": { "original": { @@ -212,7 +217,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 1214 + "size": 1244 } diff --git a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-watch.js b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-watch.js index 73f2a147bcf..a8d71ffbd82 100644 --- a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-watch.js +++ b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-added-watch.js @@ -210,7 +210,7 @@ Output:: //// [/users/username/projects/project/index.js] file written with same contents //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n",{"version":"-14760199789-export const App = () =>
;","signature":"-17269688391-export declare const App: () => import(\"react/jsx-runtime\").JSX.Element;\n"}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[[3,1]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
;","signature":"-17269688391-export declare const App: () => import(\"react/jsx-runtime\").JSX.Element;\n"}],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[[3,1]],"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -235,8 +235,13 @@ Output:: "affectsGlobalScope": true }, "./node_modules/react/jsx-runtime/index.d.ts": { + "original": { + "version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": 1 + }, "version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", - "signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n" + "signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": "commonjs" }, "./index.tsx": { "original": { @@ -264,7 +269,7 @@ Output:: ] }, "version": "FakeTSVersion", - "size": 1214 + "size": 1244 } @@ -273,6 +278,8 @@ PolledWatches:: {"pollingInterval":500} /users/username/projects/project/node_modules/@types: *new* {"pollingInterval":500} +/users/username/projects/project/node_modules/react/jsx-runtime/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-incremental.js b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-incremental.js index b72dc0fe407..b334d76bc27 100644 --- a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-incremental.js @@ -63,7 +63,7 @@ exports.App = App; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","-14760199789-export const App = () =>
;"],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[[3,1]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},"-14760199789-export const App = () =>
;"],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[[3,1]],"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -88,8 +88,13 @@ exports.App = App; "affectsGlobalScope": true }, "./node_modules/react/jsx-runtime/index.d.ts": { + "original": { + "version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": 1 + }, "version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", - "signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n" + "signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": "commonjs" }, "./index.tsx": { "version": "-14760199789-export const App = () =>
;", @@ -113,7 +118,7 @@ exports.App = App; ] }, "version": "FakeTSVersion", - "size": 1098 + "size": 1128 } diff --git a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-watch.js b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-watch.js index b1455e53f31..5b5bc01e0b8 100644 --- a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-watch.js +++ b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-backing-types-removed-watch.js @@ -68,7 +68,7 @@ exports.App = App; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","-14760199789-export const App = () =>
;"],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[[3,1]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},"-14760199789-export const App = () =>
;"],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[[3,1]],"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -93,8 +93,13 @@ exports.App = App; "affectsGlobalScope": true }, "./node_modules/react/jsx-runtime/index.d.ts": { + "original": { + "version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": 1 + }, "version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", - "signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n" + "signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": "commonjs" }, "./index.tsx": { "version": "-14760199789-export const App = () =>
;", @@ -118,7 +123,7 @@ exports.App = App; ] }, "version": "FakeTSVersion", - "size": 1098 + "size": 1128 } @@ -127,6 +132,8 @@ PolledWatches:: {"pollingInterval":500} /users/username/projects/project/node_modules/@types: *new* {"pollingInterval":500} +/users/username/projects/project/node_modules/react/jsx-runtime/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -186,6 +193,8 @@ PolledWatches *deleted*:: {"pollingInterval":500} /users/username/projects/project/node_modules/@types: {"pollingInterval":500} +/users/username/projects/project/node_modules/react/jsx-runtime/package.json: + {"pollingInterval":2000} FsWatches *deleted*:: /a/lib/lib.d.ts: diff --git a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-incremental.js b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-incremental.js index 17aa26122f2..c744c66e983 100644 --- a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-incremental.js +++ b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-incremental.js @@ -89,7 +89,7 @@ exports.App = App; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","-14760199789-export const App = () =>
;"],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[[3,1]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},"-14760199789-export const App = () =>
;"],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[[3,1]],"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -114,8 +114,13 @@ exports.App = App; "affectsGlobalScope": true }, "./node_modules/react/jsx-runtime/index.d.ts": { + "original": { + "version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": 1 + }, "version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", - "signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n" + "signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": "commonjs" }, "./index.tsx": { "version": "-14760199789-export const App = () =>
;", @@ -139,7 +144,7 @@ exports.App = App; ] }, "version": "FakeTSVersion", - "size": 1098 + "size": 1128 } @@ -214,7 +219,7 @@ exports.App = App; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/preact/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n",{"version":"-14760199789-export const App = () =>
;","signature":"-8162467991-export declare const App: () => import(\"preact/jsx-runtime\").JSX.Element;\n"}],"root":[3],"options":{"jsx":4,"jsxImportSource":"preact","module":1},"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":30,"length":5,"code":2322,"category":1,"messageText":{"messageText":"Type '{ propA: boolean; }' is not assignable to type '{ propB?: boolean; }'.","category":1,"code":2322,"next":[{"messageText":"Property 'propA' does not exist on type '{ propB?: boolean; }'. Did you mean 'propB'?","category":1,"code":2551}]}}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/preact/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
;","signature":"-8162467991-export declare const App: () => import(\"preact/jsx-runtime\").JSX.Element;\n"}],"root":[3],"options":{"jsx":4,"jsxImportSource":"preact","module":1},"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":30,"length":5,"code":2322,"category":1,"messageText":{"messageText":"Type '{ propA: boolean; }' is not assignable to type '{ propB?: boolean; }'.","category":1,"code":2322,"next":[{"messageText":"Property 'propA' does not exist on type '{ propB?: boolean; }'. Did you mean 'propB'?","category":1,"code":2551}]}}]]],"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -239,8 +244,13 @@ exports.App = App; "affectsGlobalScope": true }, "./node_modules/preact/jsx-runtime/index.d.ts": { + "original": { + "version": "-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": 1 + }, "version": "-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", - "signature": "-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n" + "signature": "-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": "commonjs" }, "./index.tsx": { "original": { @@ -293,7 +303,7 @@ exports.App = App; ] ], "version": "FakeTSVersion", - "size": 1574 + "size": 1604 } diff --git a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-watch.js b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-watch.js index 9a32661bae9..ca9bd4edd7f 100644 --- a/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-watch.js +++ b/tests/baselines/reference/tscWatch/incremental/jsxImportSource-option-changed-watch.js @@ -94,7 +94,7 @@ exports.App = App; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","-14760199789-export const App = () =>
;"],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[[3,1]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/react/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},"-14760199789-export const App = () =>
;"],"root":[3],"options":{"jsx":4,"jsxImportSource":"react","module":1},"referencedMap":[[3,1]],"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -119,8 +119,13 @@ exports.App = App; "affectsGlobalScope": true }, "./node_modules/react/jsx-runtime/index.d.ts": { + "original": { + "version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": 1 + }, "version": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", - "signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n" + "signature": "-35656056833-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propA?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": "commonjs" }, "./index.tsx": { "version": "-14760199789-export const App = () =>
;", @@ -144,7 +149,7 @@ exports.App = App; ] }, "version": "FakeTSVersion", - "size": 1098 + "size": 1128 } @@ -153,6 +158,8 @@ PolledWatches:: {"pollingInterval":500} /users/username/projects/project/node_modules/@types: *new* {"pollingInterval":500} +/users/username/projects/project/node_modules/react/jsx-runtime/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -221,6 +228,8 @@ PolledWatches *deleted*:: {"pollingInterval":500} /users/username/projects/project/node_modules/@types: {"pollingInterval":500} +/users/username/projects/project/node_modules/react/jsx-runtime/package.json: + {"pollingInterval":2000} FsWatches *deleted*:: /a/lib/lib.d.ts: @@ -270,7 +279,7 @@ exports.App = App; //// [/users/username/projects/project/tsconfig.tsbuildinfo] -{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/preact/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n",{"version":"-14760199789-export const App = () =>
;","signature":"-8162467991-export declare const App: () => import(\"preact/jsx-runtime\").JSX.Element;\n"}],"root":[3],"options":{"jsx":4,"jsxImportSource":"preact","module":1},"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":30,"length":5,"code":2322,"category":1,"messageText":{"messageText":"Type '{ propA: boolean; }' is not assignable to type '{ propB?: boolean; }'.","category":1,"code":2322,"next":[{"messageText":"Property 'propA' does not exist on type '{ propB?: boolean; }'. Did you mean 'propB'?","category":1,"code":2551}]}}]]],"version":"FakeTSVersion"} +{"fileNames":["../../../../a/lib/lib.d.ts","./node_modules/preact/jsx-runtime/index.d.ts","./index.tsx"],"fileIdsList":[[2]],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n","impliedFormat":1},{"version":"-14760199789-export const App = () =>
;","signature":"-8162467991-export declare const App: () => import(\"preact/jsx-runtime\").JSX.Element;\n"}],"root":[3],"options":{"jsx":4,"jsxImportSource":"preact","module":1},"referencedMap":[[3,1]],"semanticDiagnosticsPerFile":[[3,[{"start":30,"length":5,"code":2322,"category":1,"messageText":{"messageText":"Type '{ propA: boolean; }' is not assignable to type '{ propB?: boolean; }'.","category":1,"code":2322,"next":[{"messageText":"Property 'propA' does not exist on type '{ propB?: boolean; }'. Did you mean 'propB'?","category":1,"code":2551}]}}]]],"version":"FakeTSVersion"} //// [/users/username/projects/project/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -295,8 +304,13 @@ exports.App = App; "affectsGlobalScope": true }, "./node_modules/preact/jsx-runtime/index.d.ts": { + "original": { + "version": "-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": 1 + }, "version": "-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", - "signature": "-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n" + "signature": "-17896129664-export namespace JSX {\n interface Element {}\n interface IntrinsicElements {\n div: {\n propB?: boolean;\n };\n }\n}\nexport function jsx(...args: any[]): void;\nexport function jsxs(...args: any[]): void;\nexport const Fragment: unique symbol;\n", + "impliedFormat": "commonjs" }, "./index.tsx": { "original": { @@ -349,7 +363,7 @@ exports.App = App; ] ], "version": "FakeTSVersion", - "size": 1574 + "size": 1604 } @@ -358,6 +372,8 @@ PolledWatches:: {"pollingInterval":500} /users/username/projects/project/node_modules/@types: *new* {"pollingInterval":500} +/users/username/projects/project/node_modules/preact/jsx-runtime/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tscWatch/libraryResolution/with-config-with-redirection.js b/tests/baselines/reference/tscWatch/libraryResolution/with-config-with-redirection.js index 0b3d485734c..899dd68bb90 100644 --- a/tests/baselines/reference/tscWatch/libraryResolution/with-config-with-redirection.js +++ b/tests/baselines/reference/tscWatch/libraryResolution/with-config-with-redirection.js @@ -205,6 +205,13 @@ DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1/node_modules 1 Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1/node_modules 1 undefined Failed Lookup Locations DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Failed Lookup Locations Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Failed Lookup Locations +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist. +File '/home/src/projects/node_modules/package.json' does not exist. +File '/home/src/projects/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts 250 undefined Source file ======== Resolving module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. @@ -221,6 +228,13 @@ File '/home/src/projects/node_modules/@typescript/lib-scripthost/index.tsx' does File '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. ======== Module name '@typescript/lib-scripthost' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts 250 undefined Source file ======== Resolving module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. @@ -237,6 +251,13 @@ File '/home/src/projects/node_modules/@typescript/lib-es5/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== Module name '@typescript/lib-es5' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-es5/index.d.ts 250 undefined Source file FileWatcher:: Added:: WatchInfo: /home/src/projects/project1/index.ts 250 undefined Source file FileWatcher:: Added:: WatchInfo: /home/src/projects/project1/utils.d.ts 250 undefined Source file @@ -265,7 +286,21 @@ File '/home/src/projects/node_modules/@typescript/lib-dom/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/index.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-scripthost/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-es5/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined File location affecting resolution DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1/typeroot1 1 undefined Type roots Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1/typeroot1 1 undefined Type roots node_modules/@typescript/lib-webworker/index.d.ts @@ -328,7 +363,7 @@ export declare const x = "type1"; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -348,38 +383,46 @@ export declare const x = "type1"; "../node_modules/@typescript/lib-webworker/index.d.ts": { "original": { "version": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-7827135529-interface WebworkerInterface { }", "signature": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-scripthost/index.d.ts": { "original": { "version": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-5403980302-interface ScriptHostInterface { }", "signature": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-es5/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./core.d.ts": { "version": "-15683237936-export const core = 10;", @@ -439,11 +482,25 @@ export declare const x = "type1"; }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1680 + "size": 1752 } PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-es5/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} /home/src/projects/project1/node_modules: *new* {"pollingInterval":500} @@ -573,10 +630,59 @@ Synchronizing program CreatingProgramWith:: roots: ["/home/src/projects/project1/core.d.ts","/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts","/home/src/projects/project1/typeroot1/sometype/index.d.ts"] options: {"composite":true,"typeRoots":["/home/src/projects/project1/typeroot1"],"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/index.d.ts 250 undefined Source file Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. ======== Resolving module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. @@ -584,7 +690,7 @@ Loading module '@typescript/lib-dom' from 'node_modules' folder, target file typ Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. Directory '/home/src/projects/project1/node_modules' does not exist, skipping all lookups in it. Scoped package detected, looking in 'typescript__lib-dom' -File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. File '/home/src/projects/node_modules/@typescript/lib-dom.ts' does not exist. File '/home/src/projects/node_modules/@typescript/lib-dom.tsx' does not exist. File '/home/src/projects/node_modules/@typescript/lib-dom.d.ts' does not exist. @@ -612,6 +718,7 @@ Directory '/home/node_modules' does not exist, skipping all lookups in it. Directory '/node_modules' does not exist, skipping all lookups in it. ======== Module name '@typescript/lib-dom' was not resolved. ======== FileWatcher:: Added:: WatchInfo: /home/src/lib/lib.dom.d.ts 250 undefined Source file +FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined File location affecting resolution ../lib/lib.dom.d.ts Library 'lib.dom.d.ts' specified in compilerOptions node_modules/@typescript/lib-webworker/index.d.ts @@ -642,7 +749,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -671,29 +778,35 @@ project1/typeroot1/sometype/index.d.ts "../node_modules/@typescript/lib-webworker/index.d.ts": { "original": { "version": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-7827135529-interface WebworkerInterface { }", "signature": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-scripthost/index.d.ts": { "original": { "version": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-5403980302-interface ScriptHostInterface { }", "signature": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-es5/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./core.d.ts": { "version": "-15683237936-export const core = 10;", @@ -753,14 +866,30 @@ project1/typeroot1/sometype/index.d.ts }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1656 + "size": 1710 } PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} +PolledWatches *deleted*:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} + FsWatches:: /home/src/lib/lib.dom.d.ts: *new* {} @@ -891,6 +1020,27 @@ Synchronizing program CreatingProgramWith:: roots: ["/home/src/projects/project1/core.d.ts","/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts","/home/src/projects/project1/typeroot1/sometype/index.d.ts"] options: {"composite":true,"typeRoots":["/home/src/projects/project1/typeroot1"],"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. @@ -935,7 +1085,7 @@ export declare const xyz = 10; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -964,29 +1114,35 @@ export declare const xyz = 10; "../node_modules/@typescript/lib-webworker/index.d.ts": { "original": { "version": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-7827135529-interface WebworkerInterface { }", "signature": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-scripthost/index.d.ts": { "original": { "version": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-5403980302-interface ScriptHostInterface { }", "signature": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-es5/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./core.d.ts": { "version": "-15683237936-export const core = 10;", @@ -1046,7 +1202,7 @@ export declare const xyz = 10; }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1709 + "size": 1763 } @@ -1127,8 +1283,29 @@ CreatingProgramWith:: roots: ["/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts","/home/src/projects/project1/typeroot1/sometype/index.d.ts"] options: {"composite":true,"typeRoots":["/home/src/projects/project1/typeroot1"],"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was not resolved. FileWatcher:: Close:: WatchInfo: /home/src/projects/project1/core.d.ts 250 undefined Source file @@ -1157,7 +1334,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1185,29 +1362,35 @@ project1/typeroot1/sometype/index.d.ts "../node_modules/@typescript/lib-webworker/index.d.ts": { "original": { "version": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-7827135529-interface WebworkerInterface { }", "signature": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-scripthost/index.d.ts": { "original": { "version": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-5403980302-interface ScriptHostInterface { }", "signature": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-es5/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./file.ts": { "original": { @@ -1262,11 +1445,23 @@ project1/typeroot1/sometype/index.d.ts }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1655 + "size": 1709 } PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} @@ -1387,6 +1582,27 @@ Synchronizing program CreatingProgramWith:: roots: ["/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts","/home/src/projects/project1/typeroot1/sometype/index.d.ts"] options: {"composite":true,"typeRoots":["/home/src/projects/project1/typeroot1"],"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. @@ -1405,9 +1621,38 @@ File '/home/src/projects/node_modules/@typescript/lib-dom/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/index.d.ts 250 undefined Source file FileWatcher:: Close:: WatchInfo: /home/src/lib/lib.dom.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined File location affecting resolution node_modules/@typescript/lib-webworker/index.d.ts Library referenced via 'webworker' from file 'project1/file2.ts' node_modules/@typescript/lib-scripthost/index.d.ts @@ -1436,7 +1681,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1455,38 +1700,46 @@ project1/typeroot1/sometype/index.d.ts "../node_modules/@typescript/lib-webworker/index.d.ts": { "original": { "version": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-7827135529-interface WebworkerInterface { }", "signature": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-scripthost/index.d.ts": { "original": { "version": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-5403980302-interface ScriptHostInterface { }", "signature": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-es5/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./file.ts": { "original": { @@ -1541,11 +1794,25 @@ project1/typeroot1/sometype/index.d.ts }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1679 + "size": 1751 } PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} @@ -1685,8 +1952,29 @@ CreatingProgramWith:: roots: ["/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts","/home/src/projects/project1/typeroot1/sometype/index.d.ts"] options: {"composite":true,"typeRoots":["/home/src/projects/project1/typeroot1","/home/src/projects/project1/typeroot2"],"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving type reference directive 'sometype', containing file '/home/src/projects/project1/__inferred type names__.ts', root directory '/home/src/projects/project1/typeroot1,/home/src/projects/project1/typeroot2'. ======== Resolving with primary search path '/home/src/projects/project1/typeroot1, /home/src/projects/project1/typeroot2'. File '/home/src/projects/project1/typeroot1/sometype.d.ts' does not exist. @@ -1695,6 +1983,13 @@ File '/home/src/projects/project1/typeroot1/sometype/index.d.ts' exists - use it Resolving real path for '/home/src/projects/project1/typeroot1/sometype/index.d.ts', result '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. ======== Type reference directive 'sometype' was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts', primary: true. ======== Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1/typeroot2 1 undefined Type roots Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1/typeroot2 1 undefined Type roots node_modules/@typescript/lib-webworker/index.d.ts @@ -1723,6 +2018,20 @@ project1/typeroot1/sometype/index.d.ts PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} /home/src/projects/project1/typeroot2: *new* @@ -1852,8 +2161,29 @@ CreatingProgramWith:: roots: ["/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts","/home/src/projects/project1/typeroot1/sometype/index.d.ts"] options: {"composite":true,"typeRoots":["/home/src/projects/project1/typeroot1"],"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving type reference directive 'sometype', containing file '/home/src/projects/project1/__inferred type names__.ts', root directory '/home/src/projects/project1/typeroot1'. ======== Resolving with primary search path '/home/src/projects/project1/typeroot1'. File '/home/src/projects/project1/typeroot1/sometype.d.ts' does not exist. @@ -1896,6 +2226,7 @@ Directory '/node_modules' does not exist, skipping all lookups in it. ======== Module name '@typescript/lib-dom' was not resolved. ======== FileWatcher:: Added:: WatchInfo: /home/src/lib/lib.dom.d.ts 250 undefined Source file FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/index.d.ts 250 undefined Source file +FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined File location affecting resolution DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project1/typeroot2 1 undefined Type roots Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project1/typeroot2 1 undefined Type roots ../lib/lib.dom.d.ts @@ -1926,7 +2257,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1954,29 +2285,35 @@ project1/typeroot1/sometype/index.d.ts "../node_modules/@typescript/lib-webworker/index.d.ts": { "original": { "version": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-7827135529-interface WebworkerInterface { }", "signature": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-scripthost/index.d.ts": { "original": { "version": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-5403980302-interface ScriptHostInterface { }", "signature": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-es5/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./file.ts": { "original": { @@ -2031,15 +2368,29 @@ project1/typeroot1/sometype/index.d.ts }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1655 + "size": 1709 } PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} PolledWatches *deleted*:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} /home/src/projects/project1/typeroot2: {"pollingInterval":500} @@ -2170,6 +2521,13 @@ Synchronizing program CreatingProgramWith:: roots: ["/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts","/home/src/projects/project1/typeroot1/sometype/index.d.ts"] options: {"composite":true,"typeRoots":["/home/src/projects/project1/typeroot1"],"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts 250 undefined Source file ======== Resolving module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. @@ -2177,7 +2535,7 @@ Loading module '@typescript/lib-webworker' from 'node_modules' folder, target fi Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. Directory '/home/src/projects/project1/node_modules' does not exist, skipping all lookups in it. Scoped package detected, looking in 'typescript__lib-webworker' -File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. File '/home/src/projects/node_modules/@typescript/lib-webworker.ts' does not exist. File '/home/src/projects/node_modules/@typescript/lib-webworker.tsx' does not exist. File '/home/src/projects/node_modules/@typescript/lib-webworker.d.ts' does not exist. @@ -2206,9 +2564,24 @@ Directory '/node_modules' does not exist, skipping all lookups in it. ======== Module name '@typescript/lib-webworker' was not resolved. ======== FileWatcher:: Added:: WatchInfo: /home/src/lib/lib.webworker.d.ts 250 undefined Source file Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was not resolved. +FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined File location affecting resolution ../lib/lib.dom.d.ts Library 'lib.dom.d.ts' specified in compilerOptions ../lib/lib.webworker.d.ts @@ -2237,7 +2610,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.dom.d.ts","../../lib/lib.webworker.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2274,20 +2647,24 @@ project1/typeroot1/sometype/index.d.ts "../node_modules/@typescript/lib-scripthost/index.d.ts": { "original": { "version": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-5403980302-interface ScriptHostInterface { }", "signature": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-es5/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./file.ts": { "original": { @@ -2342,14 +2719,28 @@ project1/typeroot1/sometype/index.d.ts }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1631 + "size": 1667 } PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} +PolledWatches *deleted*:: +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} + FsWatches:: /home/src/lib/lib.dom.d.ts: {} @@ -2486,6 +2877,20 @@ Synchronizing program CreatingProgramWith:: roots: ["/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts","/home/src/projects/project1/typeroot1/sometype/index.d.ts"] options: {"composite":true,"typeRoots":["/home/src/projects/project1/typeroot1"],"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-webworker' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -2501,12 +2906,34 @@ File '/home/src/projects/node_modules/@typescript/lib-webworker/index.tsx' does File '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== Module name '@typescript/lib-webworker' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts 250 undefined Source file Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was not resolved. FileWatcher:: Close:: WatchInfo: /home/src/lib/lib.webworker.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined File location affecting resolution ../lib/lib.dom.d.ts Library 'lib.dom.d.ts' specified in compilerOptions node_modules/@typescript/lib-webworker/index.d.ts @@ -2535,7 +2962,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.dom.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-scripthost/index.d.ts","../node_modules/@typescript/lib-es5/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2563,29 +2990,35 @@ project1/typeroot1/sometype/index.d.ts "../node_modules/@typescript/lib-webworker/index.d.ts": { "original": { "version": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-7827135529-interface WebworkerInterface { }", "signature": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-scripthost/index.d.ts": { "original": { "version": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-5403980302-interface ScriptHostInterface { }", "signature": "-5403980302-interface ScriptHostInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-es5/index.d.ts": { "original": { "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", "signature": "3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./file.ts": { "original": { @@ -2640,11 +3073,23 @@ project1/typeroot1/sometype/index.d.ts }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1655 + "size": 1709 } PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} diff --git a/tests/baselines/reference/tscWatch/libraryResolution/with-config.js b/tests/baselines/reference/tscWatch/libraryResolution/with-config.js index d3c89775e9e..fb9dda0fc7a 100644 --- a/tests/baselines/reference/tscWatch/libraryResolution/with-config.js +++ b/tests/baselines/reference/tscWatch/libraryResolution/with-config.js @@ -610,8 +610,19 @@ File '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts' exists - u Resolving real path for '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist. +File '/home/src/projects/node_modules/package.json' does not exist. +File '/home/src/projects/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/index.d.ts 250 undefined Source file FileWatcher:: Close:: WatchInfo: /home/src/lib/lib.dom.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined File location affecting resolution ../lib/lib.es5.d.ts Library referenced via 'es5' from file 'project1/file2.ts' Library 'lib.es5.d.ts' specified in compilerOptions @@ -642,7 +653,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-11532698187-export const x = \"type1\";","signature":"-5899226897-export declare const x = \"type1\";\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -689,11 +700,13 @@ project1/typeroot1/sometype/index.d.ts "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./core.d.ts": { "version": "-15683237936-export const core = 10;", @@ -753,11 +766,19 @@ project1/typeroot1/sometype/index.d.ts }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1608 + "size": 1626 } PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} @@ -888,6 +909,13 @@ Synchronizing program CreatingProgramWith:: roots: ["/home/src/projects/project1/core.d.ts","/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts","/home/src/projects/project1/typeroot1/sometype/index.d.ts"] options: {"composite":true,"typeRoots":["/home/src/projects/project1/typeroot1"],"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was not resolved. Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was not resolved. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was not resolved. @@ -932,7 +960,7 @@ export declare const xyz = 10; //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./core.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},"-15683237936-export const core = 10;",{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,10]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -979,11 +1007,13 @@ export declare const xyz = 10; "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./core.d.ts": { "version": "-15683237936-export const core = 10;", @@ -1043,7 +1073,7 @@ export declare const xyz = 10; }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1661 + "size": 1679 } @@ -1128,6 +1158,13 @@ Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projec Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was not resolved. Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: /home/src/projects/project1/core.d.ts 250 undefined Source file ../lib/lib.es5.d.ts Library referenced via 'es5' from file 'project1/file2.ts' @@ -1154,7 +1191,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1200,11 +1237,13 @@ project1/typeroot1/sometype/index.d.ts "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./file.ts": { "original": { @@ -1259,11 +1298,19 @@ project1/typeroot1/sometype/index.d.ts }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1607 + "size": 1625 } PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} @@ -1374,6 +1421,13 @@ Synchronizing program CreatingProgramWith:: roots: ["/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts","/home/src/projects/project1/typeroot1/sometype/index.d.ts"] options: {"composite":true,"typeRoots":["/home/src/projects/project1/typeroot1"],"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/index.d.ts 250 undefined Source file Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was not resolved. Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was not resolved. @@ -1385,7 +1439,7 @@ Loading module '@typescript/lib-dom' from 'node_modules' folder, target file typ Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. Directory '/home/src/projects/project1/node_modules' does not exist, skipping all lookups in it. Scoped package detected, looking in 'typescript__lib-dom' -File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. File '/home/src/projects/node_modules/@typescript/lib-dom.ts' does not exist. File '/home/src/projects/node_modules/@typescript/lib-dom.tsx' does not exist. File '/home/src/projects/node_modules/@typescript/lib-dom.d.ts' does not exist. @@ -1413,6 +1467,10 @@ Directory '/home/node_modules' does not exist, skipping all lookups in it. Directory '/node_modules' does not exist, skipping all lookups in it. ======== Module name '@typescript/lib-dom' was not resolved. ======== FileWatcher:: Added:: WatchInfo: /home/src/lib/lib.dom.d.ts 250 undefined Source file +FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined File location affecting resolution ../lib/lib.es5.d.ts Library referenced via 'es5' from file 'project1/file2.ts' Library 'lib.es5.d.ts' specified in compilerOptions @@ -1554,6 +1612,16 @@ PolledWatches:: /home/src/projects/project1/node_modules: {"pollingInterval":500} +PolledWatches *deleted*:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} + FsWatches:: /home/src/lib/lib.dom.d.ts: *new* {} @@ -1882,8 +1950,19 @@ File '/home/src/projects/node_modules/@typescript/lib-dom/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/index.d.ts 250 undefined Source file FileWatcher:: Close:: WatchInfo: /home/src/lib/lib.dom.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined File location affecting resolution DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project1/typeroot2 1 undefined Type roots Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project1/typeroot2 1 undefined Type roots ../lib/lib.es5.d.ts @@ -1914,7 +1993,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -1960,11 +2039,13 @@ project1/typeroot1/sometype/index.d.ts "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./file.ts": { "original": { @@ -2019,11 +2100,19 @@ project1/typeroot1/sometype/index.d.ts }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1607 + "size": 1625 } PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} @@ -2171,6 +2260,13 @@ Synchronizing program CreatingProgramWith:: roots: ["/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts","/home/src/projects/project1/typeroot1/sometype/index.d.ts"] options: {"composite":true,"typeRoots":["/home/src/projects/project1/typeroot1"],"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-webworker' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -2186,12 +2282,27 @@ File '/home/src/projects/node_modules/@typescript/lib-webworker/index.tsx' does File '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== Module name '@typescript/lib-webworker' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts 250 undefined Source file Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was not resolved. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was not resolved. Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: /home/src/lib/lib.webworker.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined File location affecting resolution ../lib/lib.es5.d.ts Library referenced via 'es5' from file 'project1/file2.ts' Library 'lib.es5.d.ts' specified in compilerOptions @@ -2220,7 +2331,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-webworker/index.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"-7827135529-interface WebworkerInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2257,20 +2368,24 @@ project1/typeroot1/sometype/index.d.ts "../node_modules/@typescript/lib-webworker/index.d.ts": { "original": { "version": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-7827135529-interface WebworkerInterface { }", "signature": "-7827135529-interface WebworkerInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./file.ts": { "original": { @@ -2325,11 +2440,21 @@ project1/typeroot1/sometype/index.d.ts }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1631 + "size": 1667 } PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} @@ -2456,6 +2581,13 @@ Synchronizing program CreatingProgramWith:: roots: ["/home/src/projects/project1/file.ts","/home/src/projects/project1/file2.ts","/home/src/projects/project1/index.ts","/home/src/projects/project1/utils.d.ts","/home/src/projects/project1/typeroot1/sometype/index.d.ts"] options: {"composite":true,"typeRoots":["/home/src/projects/project1/typeroot1"],"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"watch":true,"project":"/home/src/projects/project1","explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/home/src/projects/project1/tsconfig.json"} +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts 250 undefined Source file ======== Resolving module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. @@ -2463,7 +2595,7 @@ Loading module '@typescript/lib-webworker' from 'node_modules' folder, target fi Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. Directory '/home/src/projects/project1/node_modules' does not exist, skipping all lookups in it. Scoped package detected, looking in 'typescript__lib-webworker' -File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. File '/home/src/projects/node_modules/@typescript/lib-webworker.ts' does not exist. File '/home/src/projects/node_modules/@typescript/lib-webworker.tsx' does not exist. File '/home/src/projects/node_modules/@typescript/lib-webworker.d.ts' does not exist. @@ -2495,6 +2627,14 @@ Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projec Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was not resolved. Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined File location affecting resolution ../lib/lib.es5.d.ts Library referenced via 'es5' from file 'project1/file2.ts' Library 'lib.es5.d.ts' specified in compilerOptions @@ -2523,7 +2663,7 @@ project1/typeroot1/sometype/index.d.ts //// [/home/src/projects/project1/file2.js] file written with same contents //// [/home/src/projects/project1/index.js] file written with same contents //// [/home/src/projects/project1/tsconfig.tsbuildinfo] -{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../lib/lib.es5.d.ts","../../lib/lib.webworker.d.ts","../../lib/lib.scripthost.d.ts","../node_modules/@typescript/lib-dom/index.d.ts","./file.ts","./file2.ts","./index.ts","./utils.d.ts","./typeroot1/sometype/index.d.ts"],"fileInfos":[{"version":"3858781397-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }\ninterface ReadonlyArray {}\ndeclare const console: { log(msg: any): void; };","affectsGlobalScope":true},{"version":"-3990185033-interface WebWorkerInterface { }","affectsGlobalScope":true},{"version":"-5403980302-interface ScriptHostInterface { }","affectsGlobalScope":true},{"version":"-8673759361-interface DOMInterface { }","affectsGlobalScope":true,"impliedFormat":1},{"version":"-16628394009-export const file = 10;","signature":"-9025507999-export declare const file = 10;\n"},{"version":"-11916614574-/// \n/// \n/// \n","signature":"5381-"},{"version":"-6136895998-export const x = \"type1\";export const xyz = 10;","signature":"-9988949802-export declare const x = \"type1\";\nexport declare const xyz = 10;\n"},"-13729955264-export const y = 10;","-12476477079-export type TheNum = \"type1\";"],"root":[[5,9]],"options":{"composite":true},"latestChangedDtsFile":"./index.d.ts","version":"FakeTSVersion"} //// [/home/src/projects/project1/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -2569,11 +2709,13 @@ project1/typeroot1/sometype/index.d.ts "../node_modules/@typescript/lib-dom/index.d.ts": { "original": { "version": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-8673759361-interface DOMInterface { }", "signature": "-8673759361-interface DOMInterface { }", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "./file.ts": { "original": { @@ -2628,14 +2770,26 @@ project1/typeroot1/sometype/index.d.ts }, "latestChangedDtsFile": "./index.d.ts", "version": "FakeTSVersion", - "size": 1607 + "size": 1625 } PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} +PolledWatches *deleted*:: +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} + FsWatches:: /home/src/lib/lib.es5.d.ts: {} diff --git a/tests/baselines/reference/tscWatch/libraryResolution/without-config-with-redirection.js b/tests/baselines/reference/tscWatch/libraryResolution/without-config-with-redirection.js index 93f2a70c74c..db794016f1d 100644 --- a/tests/baselines/reference/tscWatch/libraryResolution/without-config-with-redirection.js +++ b/tests/baselines/reference/tscWatch/libraryResolution/without-config-with-redirection.js @@ -202,6 +202,13 @@ Resolving real path for '/home/src/projects/node_modules/@typescript/lib-webwork ======== Module name '@typescript/lib-webworker' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Failed Lookup Locations Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Failed Lookup Locations +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist. +File '/home/src/projects/node_modules/package.json' does not exist. +File '/home/src/projects/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts 250 undefined Source file ======== Resolving module '@typescript/lib-scripthost' from '/home/src/projects/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. @@ -216,6 +223,13 @@ File '/home/src/projects/node_modules/@typescript/lib-scripthost/index.tsx' does File '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. ======== Module name '@typescript/lib-scripthost' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts 250 undefined Source file ======== Resolving module '@typescript/lib-es5' from '/home/src/projects/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. @@ -230,6 +244,13 @@ File '/home/src/projects/node_modules/@typescript/lib-es5/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== Module name '@typescript/lib-es5' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-es5/index.d.ts 250 undefined Source file ======== Resolving module '@typescript/lib-dom' from '/home/src/projects/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. @@ -244,7 +265,21 @@ File '/home/src/projects/node_modules/@typescript/lib-dom/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/index.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-scripthost/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-es5/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined File location affecting resolution DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Type roots Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Type roots node_modules/@typescript/lib-webworker/index.d.ts @@ -294,6 +329,20 @@ exports.x = "type1"; PolledWatches:: /home/src/projects/node_modules/@types: *new* {"pollingInterval":500} +/home/src/projects/node_modules/@typescript/lib-dom/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-es5/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /home/src/projects/node_modules/@typescript/lib-dom/index.d.ts: *new* @@ -403,15 +452,64 @@ Synchronizing program CreatingProgramWith:: roots: ["project1/core.d.ts","project1/utils.d.ts","project1/file.ts","project1/index.ts","project1/file2.ts"] options: {"watch":true,"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"explainFiles":true,"extendedDiagnostics":true} +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/index.d.ts 250 undefined Source file Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-dom' from '/home/src/projects/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration. Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. -File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. File '/home/src/projects/node_modules/@typescript/lib-dom.ts' does not exist. File '/home/src/projects/node_modules/@typescript/lib-dom.tsx' does not exist. File '/home/src/projects/node_modules/@typescript/lib-dom.d.ts' does not exist. @@ -438,6 +536,7 @@ Directory '/home/node_modules' does not exist, skipping all lookups in it. Directory '/node_modules' does not exist, skipping all lookups in it. ======== Module name '@typescript/lib-dom' was not resolved. ======== FileWatcher:: Added:: WatchInfo: /home/src/lib/lib.dom.d.ts 250 undefined Source file +FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined File location affecting resolution ../lib/lib.dom.d.ts Library 'lib.dom.d.ts' specified in compilerOptions node_modules/@typescript/lib-webworker/index.d.ts @@ -468,6 +567,22 @@ project1/file2.ts PolledWatches:: /home/src/projects/node_modules/@types: {"pollingInterval":500} +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} + +PolledWatches *deleted*:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} FsWatches:: /home/src/lib/lib.dom.d.ts: *new* @@ -581,6 +696,27 @@ Synchronizing program CreatingProgramWith:: roots: ["project1/core.d.ts","project1/utils.d.ts","project1/file.ts","project1/index.ts","project1/file2.ts"] options: {"watch":true,"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"explainFiles":true,"extendedDiagnostics":true} +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. @@ -681,10 +817,52 @@ Synchronizing program CreatingProgramWith:: roots: ["project1/core.d.ts","project1/utils.d.ts","project1/file.ts","project1/index.ts","project1/file2.ts"] options: {"watch":true,"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"explainFiles":true,"extendedDiagnostics":true} +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: project1/core.d.ts 250 undefined Source file Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was not resolved. FileWatcher:: Added:: WatchInfo: project1/core.d.ts 500 undefined Missing file error TS6053: File 'project1/core.d.ts' not found. @@ -716,6 +894,18 @@ project1/file2.ts PolledWatches:: /home/src/projects/node_modules/@types: {"pollingInterval":500} +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/core.d.ts: *new* {"pollingInterval":500} @@ -821,6 +1011,27 @@ Synchronizing program CreatingProgramWith:: roots: ["project1/core.d.ts","project1/utils.d.ts","project1/file.ts","project1/index.ts","project1/file2.ts"] options: {"watch":true,"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"explainFiles":true,"extendedDiagnostics":true} +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. @@ -837,8 +1048,37 @@ File '/home/src/projects/node_modules/@typescript/lib-dom/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/index.d.ts 250 undefined Source file FileWatcher:: Close:: WatchInfo: /home/src/lib/lib.dom.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined File location affecting resolution error TS6053: File 'project1/core.d.ts' not found. The file is in the program because: Root file specified for compilation @@ -871,6 +1111,20 @@ project1/file2.ts PolledWatches:: /home/src/projects/node_modules/@types: {"pollingInterval":500} +/home/src/projects/node_modules/@typescript/lib-dom/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/core.d.ts: {"pollingInterval":500} @@ -973,12 +1227,19 @@ Synchronizing program CreatingProgramWith:: roots: ["project1/core.d.ts","project1/utils.d.ts","project1/file.ts","project1/index.ts","project1/file2.ts"] options: {"watch":true,"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"explainFiles":true,"extendedDiagnostics":true} +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts 250 undefined Source file ======== Resolving module '@typescript/lib-webworker' from '/home/src/projects/__lib_node_modules_lookup_lib.webworker.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-webworker' from 'node_modules' folder, target file types: TypeScript, Declaration. Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. -File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. File '/home/src/projects/node_modules/@typescript/lib-webworker.ts' does not exist. File '/home/src/projects/node_modules/@typescript/lib-webworker.tsx' does not exist. File '/home/src/projects/node_modules/@typescript/lib-webworker.d.ts' does not exist. @@ -1006,8 +1267,30 @@ Directory '/node_modules' does not exist, skipping all lookups in it. ======== Module name '@typescript/lib-webworker' was not resolved. ======== FileWatcher:: Added:: WatchInfo: /home/src/lib/lib.webworker.d.ts 250 undefined Source file Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined File location affecting resolution error TS6053: File 'project1/core.d.ts' not found. The file is in the program because: Root file specified for compilation @@ -1040,9 +1323,25 @@ project1/file2.ts PolledWatches:: /home/src/projects/node_modules/@types: {"pollingInterval":500} +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/core.d.ts: {"pollingInterval":500} +PolledWatches *deleted*:: +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} + FsWatches:: /home/src/lib/lib.webworker.d.ts: *new* {} @@ -1154,6 +1453,27 @@ Synchronizing program CreatingProgramWith:: roots: ["project1/core.d.ts","project1/utils.d.ts","project1/file.ts","project1/index.ts","project1/file2.ts"] options: {"watch":true,"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"explainFiles":true,"extendedDiagnostics":true} +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module '@typescript/lib-webworker' from '/home/src/projects/__lib_node_modules_lookup_lib.webworker.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-webworker' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -1167,11 +1487,40 @@ File '/home/src/projects/node_modules/@typescript/lib-webworker/index.tsx' does File '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== Module name '@typescript/lib-webworker' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts 250 undefined Source file Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: /home/src/lib/lib.webworker.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined File location affecting resolution error TS6053: File 'project1/core.d.ts' not found. The file is in the program because: Root file specified for compilation @@ -1204,6 +1553,20 @@ project1/file2.ts PolledWatches:: /home/src/projects/node_modules/@types: {"pollingInterval":500} +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/core.d.ts: {"pollingInterval":500} diff --git a/tests/baselines/reference/tscWatch/libraryResolution/without-config.js b/tests/baselines/reference/tscWatch/libraryResolution/without-config.js index 7fe78260f97..2916a22ac3a 100644 --- a/tests/baselines/reference/tscWatch/libraryResolution/without-config.js +++ b/tests/baselines/reference/tscWatch/libraryResolution/without-config.js @@ -433,8 +433,19 @@ File '/home/src/projects/node_modules/@typescript/lib-dom/index.tsx' does not ex File '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist. +File '/home/src/projects/node_modules/package.json' does not exist. +File '/home/src/projects/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/index.d.ts 250 undefined Source file FileWatcher:: Close:: WatchInfo: /home/src/lib/lib.dom.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined File location affecting resolution ../lib/lib.es5.d.ts Library referenced via 'es5' from file 'project1/file2.ts' Library 'lib.es5.d.ts' specified in compilerOptions @@ -465,6 +476,14 @@ project1/file2.ts PolledWatches:: /home/src/projects/node_modules/@types: {"pollingInterval":500} +/home/src/projects/node_modules/@typescript/lib-dom/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /home/src/lib/lib.es5.d.ts: @@ -575,6 +594,13 @@ Synchronizing program CreatingProgramWith:: roots: ["project1/core.d.ts","project1/utils.d.ts","project1/file.ts","project1/index.ts","project1/file2.ts"] options: {"watch":true,"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"explainFiles":true,"extendedDiagnostics":true} +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was not resolved. Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was not resolved. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was not resolved. @@ -675,11 +701,25 @@ Synchronizing program CreatingProgramWith:: roots: ["project1/core.d.ts","project1/utils.d.ts","project1/file.ts","project1/index.ts","project1/file2.ts"] options: {"watch":true,"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"explainFiles":true,"extendedDiagnostics":true} +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: project1/core.d.ts 250 undefined Source file Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was not resolved. Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was not resolved. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was not resolved. Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: project1/core.d.ts 500 undefined Missing file error TS6053: File 'project1/core.d.ts' not found. The file is in the program because: @@ -710,6 +750,14 @@ project1/file2.ts PolledWatches:: /home/src/projects/node_modules/@types: {"pollingInterval":500} +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/core.d.ts: *new* {"pollingInterval":500} @@ -805,6 +853,13 @@ Synchronizing program CreatingProgramWith:: roots: ["project1/core.d.ts","project1/utils.d.ts","project1/file.ts","project1/index.ts","project1/file2.ts"] options: {"watch":true,"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"explainFiles":true,"extendedDiagnostics":true} +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/index.d.ts 250 undefined Source file Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was not resolved. Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was not resolved. @@ -813,7 +868,7 @@ Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/__li Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-dom' from 'node_modules' folder, target file types: TypeScript, Declaration. Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. -File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. File '/home/src/projects/node_modules/@typescript/lib-dom.ts' does not exist. File '/home/src/projects/node_modules/@typescript/lib-dom.tsx' does not exist. File '/home/src/projects/node_modules/@typescript/lib-dom.d.ts' does not exist. @@ -840,6 +895,10 @@ Directory '/home/node_modules' does not exist, skipping all lookups in it. Directory '/node_modules' does not exist, skipping all lookups in it. ======== Module name '@typescript/lib-dom' was not resolved. ======== FileWatcher:: Added:: WatchInfo: /home/src/lib/lib.dom.d.ts 250 undefined Source file +FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined File location affecting resolution error TS6053: File 'project1/core.d.ts' not found. The file is in the program because: Root file specified for compilation @@ -875,6 +934,16 @@ PolledWatches:: /home/src/projects/project1/core.d.ts: {"pollingInterval":500} +PolledWatches *deleted*:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} + FsWatches:: /home/src/lib/lib.dom.d.ts: *new* {} @@ -1003,11 +1072,22 @@ File '/home/src/projects/node_modules/@typescript/lib-webworker/index.tsx' does File '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== Module name '@typescript/lib-webworker' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts 250 undefined Source file Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was not resolved. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was not resolved. Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was not resolved. FileWatcher:: Close:: WatchInfo: /home/src/lib/lib.webworker.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined File location affecting resolution error TS6053: File 'project1/core.d.ts' not found. The file is in the program because: Root file specified for compilation @@ -1040,6 +1120,14 @@ project1/file2.ts PolledWatches:: /home/src/projects/node_modules/@types: {"pollingInterval":500} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} /home/src/projects/project1/core.d.ts: {"pollingInterval":500} @@ -1141,12 +1229,19 @@ Synchronizing program CreatingProgramWith:: roots: ["project1/core.d.ts","project1/utils.d.ts","project1/file.ts","project1/index.ts","project1/file2.ts"] options: {"watch":true,"lib":["lib.es5.d.ts","lib.dom.d.ts"],"traceResolution":true,"explainFiles":true,"extendedDiagnostics":true} +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts 250 undefined Source file ======== Resolving module '@typescript/lib-webworker' from '/home/src/projects/__lib_node_modules_lookup_lib.webworker.d.ts__.ts'. ======== Explicitly specified module resolution kind: 'Node10'. Loading module '@typescript/lib-webworker' from 'node_modules' folder, target file types: TypeScript, Declaration. Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. -File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist. +File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. File '/home/src/projects/node_modules/@typescript/lib-webworker.ts' does not exist. File '/home/src/projects/node_modules/@typescript/lib-webworker.tsx' does not exist. File '/home/src/projects/node_modules/@typescript/lib-webworker.d.ts' does not exist. @@ -1176,6 +1271,10 @@ FileWatcher:: Added:: WatchInfo: /home/src/lib/lib.webworker.d.ts 250 undefined Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was not resolved. Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was not resolved. Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was not resolved. +FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined File location affecting resolution error TS6053: File 'project1/core.d.ts' not found. The file is in the program because: Root file specified for compilation @@ -1211,6 +1310,16 @@ PolledWatches:: /home/src/projects/project1/core.d.ts: {"pollingInterval":500} +PolledWatches *deleted*:: +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} + FsWatches:: /home/src/lib/lib.dom.d.ts: {} diff --git a/tests/baselines/reference/tscWatch/moduleResolution/ambient-module-names-are-resolved-correctly.js b/tests/baselines/reference/tscWatch/moduleResolution/ambient-module-names-are-resolved-correctly.js index b91239eacd2..8235093e449 100644 --- a/tests/baselines/reference/tscWatch/moduleResolution/ambient-module-names-are-resolved-correctly.js +++ b/tests/baselines/reference/tscWatch/moduleResolution/ambient-module-names-are-resolved-correctly.js @@ -104,6 +104,13 @@ Directory '/home/src/node_modules' does not exist, skipping all lookups in it. Directory '/home/node_modules' does not exist, skipping all lookups in it. Directory '/node_modules' does not exist, skipping all lookups in it. ======== Module name 'mymoduleutils' was not resolved. ======== +File '/home/src/project/witha/node_modules/mymodule/package.json' does not exist according to earlier cached lookups. +File '/home/src/project/witha/node_modules/package.json' does not exist. +File '/home/src/project/witha/package.json' does not exist. +File '/home/src/project/package.json' does not exist. +File '/home/src/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. FileWatcher:: Added:: WatchInfo: /home/src/project/witha/node_modules/mymodule/index.d.ts 250 undefined Source file FileWatcher:: Added:: WatchInfo: /home/src/project/withb/b.ts 250 undefined Source file ======== Resolving module 'mymodule' from '/home/src/project/withb/b.ts'. ======== @@ -129,6 +136,13 @@ File '/home/src/project/withb/node_modules/mymoduleutils.d.ts' does not exist. Directory '/home/src/project/withb/node_modules/@types' does not exist, skipping all lookups in it. Resolution for module 'mymoduleutils' was found in cache from location '/home/src/project'. ======== Module name 'mymoduleutils' was not resolved. ======== +File '/home/src/project/withb/node_modules/mymodule/package.json' does not exist according to earlier cached lookups. +File '/home/src/project/withb/node_modules/package.json' does not exist. +File '/home/src/project/withb/package.json' does not exist. +File '/home/src/project/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /home/src/project/withb/node_modules/mymodule/index.d.ts 250 undefined Source file FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 250 undefined Source file DirectoryWatcher:: Added:: WatchInfo: /home/src/project/witha 1 undefined Failed Lookup Locations @@ -137,6 +151,13 @@ DirectoryWatcher:: Added:: WatchInfo: /home/src/project/node_modules 1 undefined Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/project/node_modules 1 undefined Failed Lookup Locations DirectoryWatcher:: Added:: WatchInfo: /home/src/project/withb 1 undefined Failed Lookup Locations Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/project/withb 1 undefined Failed Lookup Locations +FileWatcher:: Added:: WatchInfo: /home/src/project/witha/node_modules/mymodule/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/project/witha/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/project/witha/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/project/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/project/withb/node_modules/mymodule/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/project/withb/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/src/project/withb/package.json 2000 undefined File location affecting resolution DirectoryWatcher:: Added:: WatchInfo: /home/src/project/node_modules/@types 1 undefined Type roots Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/project/node_modules/@types 1 undefined Type roots ../../../a/lib/lib.d.ts @@ -161,6 +182,20 @@ PolledWatches:: {"pollingInterval":500} /home/src/project/node_modules/@types: *new* {"pollingInterval":500} +/home/src/project/package.json: *new* + {"pollingInterval":2000} +/home/src/project/witha/node_modules/mymodule/package.json: *new* + {"pollingInterval":2000} +/home/src/project/witha/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/project/witha/package.json: *new* + {"pollingInterval":2000} +/home/src/project/withb/node_modules/mymodule/package.json: *new* + {"pollingInterval":2000} +/home/src/project/withb/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/project/withb/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -325,6 +360,20 @@ Synchronizing program CreatingProgramWith:: roots: ["/home/src/project/witha/a.ts","/home/src/project/withb/b.ts"] options: {"noEmit":true,"traceResolution":true,"watch":true,"extendedDiagnostics":true,"explainFiles":true,"configFilePath":"/home/src/project/tsconfig.json"} +File '/home/src/project/witha/node_modules/mymodule/package.json' does not exist according to earlier cached lookups. +File '/home/src/project/witha/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/project/witha/package.json' does not exist according to earlier cached lookups. +File '/home/src/project/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/home/src/project/withb/node_modules/mymodule/package.json' does not exist. +File '/home/src/project/withb/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/project/withb/package.json' does not exist according to earlier cached lookups. +File '/home/src/project/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: /home/src/project/withb/node_modules/mymodule/index.d.ts 250 undefined Source file Reusing resolution of module 'mymodule' from '/home/src/project/witha/a.ts' of old program, it was successfully resolved to '/home/src/project/witha/node_modules/mymodule/index.d.ts'. ======== Resolving module 'mymoduleutils' from '/home/src/project/witha/a.ts'. ======== @@ -348,6 +397,13 @@ Directory '/home/src/node_modules' does not exist, skipping all lookups in it. Directory '/home/node_modules' does not exist, skipping all lookups in it. Directory '/node_modules' does not exist, skipping all lookups in it. ======== Module name 'mymoduleutils' was not resolved. ======== +File '/home/src/project/witha/node_modules/mymodule/package.json' does not exist according to earlier cached lookups. +File '/home/src/project/witha/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/project/witha/package.json' does not exist according to earlier cached lookups. +File '/home/src/project/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. ======== Resolving module 'mymoduleutils' from '/home/src/project/withb/b.ts'. ======== Module resolution kind is not specified, using 'Node10'. Loading module 'mymoduleutils' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -361,7 +417,16 @@ File '/home/src/project/withb/node_modules/mymoduleutils/index.tsx' does not exi File '/home/src/project/withb/node_modules/mymoduleutils/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/src/project/withb/node_modules/mymoduleutils/index.d.ts', result '/home/src/project/withb/node_modules/mymoduleutils/index.d.ts'. ======== Module name 'mymoduleutils' was successfully resolved to '/home/src/project/withb/node_modules/mymoduleutils/index.d.ts'. ======== +File '/home/src/project/withb/node_modules/mymoduleutils/package.json' does not exist according to earlier cached lookups. +File '/home/src/project/withb/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/src/project/withb/package.json' does not exist according to earlier cached lookups. +File '/home/src/project/package.json' does not exist according to earlier cached lookups. +File '/home/src/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /home/src/project/withb/node_modules/mymoduleutils/index.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /home/src/project/withb/node_modules/mymoduleutils/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/src/project/withb/node_modules/mymodule/package.json 2000 undefined File location affecting resolution ../../../a/lib/lib.d.ts Default library for target 'es5' witha/node_modules/mymodule/index.d.ts @@ -382,6 +447,24 @@ PolledWatches:: {"pollingInterval":500} /home/src/project/node_modules/@types: {"pollingInterval":500} +/home/src/project/package.json: + {"pollingInterval":2000} +/home/src/project/witha/node_modules/mymodule/package.json: + {"pollingInterval":2000} +/home/src/project/witha/node_modules/package.json: + {"pollingInterval":2000} +/home/src/project/witha/package.json: + {"pollingInterval":2000} +/home/src/project/withb/node_modules/mymoduleutils/package.json: *new* + {"pollingInterval":2000} +/home/src/project/withb/node_modules/package.json: + {"pollingInterval":2000} +/home/src/project/withb/package.json: + {"pollingInterval":2000} + +PolledWatches *deleted*:: +/home/src/project/withb/node_modules/mymodule/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: diff --git a/tests/baselines/reference/tscWatch/programUpdates/should-properly-handle-module-resolution-changes-in-config-file.js b/tests/baselines/reference/tscWatch/programUpdates/should-properly-handle-module-resolution-changes-in-config-file.js index f1611518833..356bce1af40 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/should-properly-handle-module-resolution-changes-in-config-file.js +++ b/tests/baselines/reference/tscWatch/programUpdates/should-properly-handle-module-resolution-changes-in-config-file.js @@ -46,6 +46,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); +PolledWatches:: +/a/b/node_modules/package.json: *new* + {"pollingInterval":2000} + FsWatches:: /a/b/file1.ts: *new* {} @@ -118,6 +122,10 @@ Object.defineProperty(exports, "__esModule", { value: true }); +PolledWatches *deleted*:: +/a/b/node_modules/package.json: + {"pollingInterval":2000} + FsWatches:: /a/b/file1.ts: {} diff --git a/tests/baselines/reference/tscWatch/programUpdates/types-should-load-from-config-file-path-if-config-exists.js b/tests/baselines/reference/tscWatch/programUpdates/types-should-load-from-config-file-path-if-config-exists.js index a71bdbda4a5..9c78f9fc725 100644 --- a/tests/baselines/reference/tscWatch/programUpdates/types-should-load-from-config-file-path-if-config-exists.js +++ b/tests/baselines/reference/tscWatch/programUpdates/types-should-load-from-config-file-path-if-config-exists.js @@ -43,6 +43,14 @@ var x = 1; +PolledWatches:: +/a/b/node_modules/@types/node/package.json: *new* + {"pollingInterval":2000} +/a/b/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/b/node_modules/package.json: *new* + {"pollingInterval":2000} + FsWatches:: /a/b/app.ts: *new* {} diff --git a/tests/baselines/reference/tscWatch/resolutionCache/ignores-changes-in-node_modules-that-start-with-dot/watch-with-configFile.js b/tests/baselines/reference/tscWatch/resolutionCache/ignores-changes-in-node_modules-that-start-with-dot/watch-with-configFile.js index ebf84a4a5d6..3c8a457eb7d 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/ignores-changes-in-node_modules-that-start-with-dot/watch-with-configFile.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/ignores-changes-in-node_modules-that-start-with-dot/watch-with-configFile.js @@ -41,8 +41,16 @@ Object.defineProperty(exports, "__esModule", { value: true }); PolledWatches:: /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/somemodule/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tscWatch/resolutionCache/ignores-changes-in-node_modules-that-start-with-dot/watch-without-configFile.js b/tests/baselines/reference/tscWatch/resolutionCache/ignores-changes-in-node_modules-that-start-with-dot/watch-without-configFile.js index 410113f5dc2..3a6b6985453 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/ignores-changes-in-node_modules-that-start-with-dot/watch-without-configFile.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/ignores-changes-in-node_modules-that-start-with-dot/watch-without-configFile.js @@ -38,6 +38,16 @@ Object.defineProperty(exports, "__esModule", { value: true }); +PolledWatches:: +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/somemodule/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} + FsWatches:: /a/lib/lib.d.ts: *new* {} diff --git a/tests/baselines/reference/tscWatch/resolutionCache/reusing-type-ref-resolution.js b/tests/baselines/reference/tscWatch/resolutionCache/reusing-type-ref-resolution.js index 10cef311809..c5f7b580b89 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/reusing-type-ref-resolution.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/reusing-type-ref-resolution.js @@ -86,6 +86,13 @@ Directory '/users/username/node_modules' does not exist, skipping all lookups in Directory '/users/node_modules' does not exist, skipping all lookups in it. Directory '/node_modules' does not exist, skipping all lookups in it. ======== Module name 'pkg1' was not resolved. ======== +File '/users/username/projects/project/node_modules/pkg0/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/package.json' does not exist. +File '/users/username/projects/project/package.json' does not exist. +File '/users/username/projects/package.json' does not exist. +File '/users/username/package.json' does not exist. +File '/users/package.json' does not exist. +File '/package.json' does not exist. FileWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/pkg0/index.d.ts 250 undefined Source file FileWatcher:: Added:: WatchInfo: /users/username/projects/project/fileWithTypeRefs.ts 250 undefined Source file ======== Resolving type reference directive 'pkg2', containing file '/users/username/projects/project/fileWithTypeRefs.ts', root directory '/users/username/projects/project/node_modules/@types,/users/username/projects/node_modules/@types,/users/username/node_modules/@types,/users/node_modules/@types,/node_modules/@types'. ======== @@ -122,8 +129,20 @@ Directory '/users/username/node_modules' does not exist, skipping all lookups in Directory '/users/node_modules' does not exist, skipping all lookups in it. Directory '/node_modules' does not exist, skipping all lookups in it. ======== Type reference directive 'pkg3' was not resolved. ======== +File '/users/username/projects/project/node_modules/pkg2/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/package.json' does not exist according to earlier cached lookups. +File '/users/username/package.json' does not exist according to earlier cached lookups. +File '/users/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/pkg2/index.d.ts 250 undefined Source file FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/pkg0/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /users/username/projects/project/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /users/username/projects/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/pkg2/package.json 2000 undefined File location affecting resolution DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/@types 1 undefined Type roots Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/@types 1 undefined Type roots DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/node_modules/@types 1 undefined Type roots @@ -180,7 +199,7 @@ export {}; //// [/users/username/projects/project/outDir/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","../node_modules/pkg0/index.d.ts","../filewithimports.ts","../node_modules/pkg2/index.d.ts","../filewithtyperefs.ts"],"fileIdsList":[[2],[4]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-8124756421-export interface Import0 {}",{"version":"-14287751515-import type { Import0 } from \"pkg0\";\nimport type { Import1 } from \"pkg1\";\n","signature":"-3531856636-export {};\n"},{"version":"-11273315461-interface Import2 {}","affectsGlobalScope":true},{"version":"-12735305811-/// \n/// \ninterface LocalInterface extends Import2, Import3 {}\nexport {}\n","signature":"-3531856636-export {};\n"}],"root":[3,5],"options":{"composite":true,"outDir":"./"},"referencedMap":[[3,1],[5,2]],"semanticDiagnosticsPerFile":[[3,[{"start":66,"length":6,"messageText":"Cannot find module 'pkg1' or its corresponding type declarations.","category":1,"code":2307}]],[5,[{"start":102,"length":7,"messageText":"Cannot find name 'Import3'. Did you mean 'Import2'?","category":1,"code":2552,"canonicalHead":{"code":2304,"messageText":"Cannot find name 'Import3'."}}]]],"latestChangedDtsFile":"./fileWithTypeRefs.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","../node_modules/pkg0/index.d.ts","../filewithimports.ts","../node_modules/pkg2/index.d.ts","../filewithtyperefs.ts"],"fileIdsList":[[2],[4]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-8124756421-export interface Import0 {}","impliedFormat":1},{"version":"-14287751515-import type { Import0 } from \"pkg0\";\nimport type { Import1 } from \"pkg1\";\n","signature":"-3531856636-export {};\n"},{"version":"-11273315461-interface Import2 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12735305811-/// \n/// \ninterface LocalInterface extends Import2, Import3 {}\nexport {}\n","signature":"-3531856636-export {};\n"}],"root":[3,5],"options":{"composite":true,"outDir":"./"},"referencedMap":[[3,1],[5,2]],"semanticDiagnosticsPerFile":[[3,[{"start":66,"length":6,"messageText":"Cannot find module 'pkg1' or its corresponding type declarations.","category":1,"code":2307}]],[5,[{"start":102,"length":7,"messageText":"Cannot find name 'Import3'. Did you mean 'Import2'?","category":1,"code":2552,"canonicalHead":{"code":2304,"messageText":"Cannot find name 'Import3'."}}]]],"latestChangedDtsFile":"./fileWithTypeRefs.d.ts","version":"FakeTSVersion"} //// [/users/username/projects/project/outDir/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -210,8 +229,13 @@ export {}; "affectsGlobalScope": true }, "../node_modules/pkg0/index.d.ts": { + "original": { + "version": "-8124756421-export interface Import0 {}", + "impliedFormat": 1 + }, "version": "-8124756421-export interface Import0 {}", - "signature": "-8124756421-export interface Import0 {}" + "signature": "-8124756421-export interface Import0 {}", + "impliedFormat": "commonjs" }, "../filewithimports.ts": { "original": { @@ -224,11 +248,13 @@ export {}; "../node_modules/pkg2/index.d.ts": { "original": { "version": "-11273315461-interface Import2 {}", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-11273315461-interface Import2 {}", "signature": "-11273315461-interface Import2 {}", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../filewithtyperefs.ts": { "original": { @@ -293,7 +319,7 @@ export {}; ], "latestChangedDtsFile": "./fileWithTypeRefs.d.ts", "version": "FakeTSVersion", - "size": 1589 + "size": 1637 } @@ -302,8 +328,18 @@ PolledWatches:: {"pollingInterval":500} /users/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/users/username/projects/package.json: *new* + {"pollingInterval":2000} /users/username/projects/project/node_modules/@types: *new* {"pollingInterval":500} +/users/username/projects/project/node_modules/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/node_modules/pkg0/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/node_modules/pkg2/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -416,6 +452,20 @@ Synchronizing program CreatingProgramWith:: roots: ["/users/username/projects/project/fileWithImports.ts","/users/username/projects/project/fileWithTypeRefs.ts"] options: {"composite":true,"traceResolution":true,"outDir":"/users/username/projects/project/outDir","watch":true,"explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/users/username/projects/project/tsconfig.json"} +File '/users/username/projects/project/node_modules/pkg0/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/package.json' does not exist according to earlier cached lookups. +File '/users/username/package.json' does not exist according to earlier cached lookups. +File '/users/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/pkg2/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/package.json' does not exist according to earlier cached lookups. +File '/users/username/package.json' does not exist according to earlier cached lookups. +File '/users/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module 'pkg0' from '/users/username/projects/project/fileWithImports.ts' of old program, it was successfully resolved to '/users/username/projects/project/node_modules/pkg0/index.d.ts'. ======== Resolving module 'pkg1' from '/users/username/projects/project/fileWithImports.ts'. ======== Module resolution kind is not specified, using 'Node10'. @@ -430,9 +480,31 @@ File '/users/username/projects/project/node_modules/pkg1/index.tsx' does not exi File '/users/username/projects/project/node_modules/pkg1/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/users/username/projects/project/node_modules/pkg1/index.d.ts', result '/users/username/projects/project/node_modules/pkg1/index.d.ts'. ======== Module name 'pkg1' was successfully resolved to '/users/username/projects/project/node_modules/pkg1/index.d.ts'. ======== +File '/users/username/projects/project/node_modules/pkg0/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/package.json' does not exist according to earlier cached lookups. +File '/users/username/package.json' does not exist according to earlier cached lookups. +File '/users/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/pkg1/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/package.json' does not exist according to earlier cached lookups. +File '/users/username/package.json' does not exist according to earlier cached lookups. +File '/users/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/pkg1/index.d.ts 250 undefined Source file Reusing resolution of type reference directive 'pkg2' from '/users/username/projects/project/fileWithTypeRefs.ts' of old program, it was successfully resolved to '/users/username/projects/project/node_modules/pkg2/index.d.ts'. Reusing resolution of type reference directive 'pkg3' from '/users/username/projects/project/fileWithTypeRefs.ts' of old program, it was not resolved. +File '/users/username/projects/project/node_modules/pkg2/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/package.json' does not exist according to earlier cached lookups. +File '/users/username/package.json' does not exist according to earlier cached lookups. +File '/users/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +FileWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/pkg1/package.json 2000 undefined File location affecting resolution fileWithTypeRefs.ts:2:23 - error TS2688: Cannot find type definition file for 'pkg3'. 2 /// @@ -461,7 +533,7 @@ fileWithTypeRefs.ts //// [/users/username/projects/project/outDir/fileWithImports.js] file written with same contents //// [/users/username/projects/project/outDir/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","../node_modules/pkg0/index.d.ts","../node_modules/pkg1/index.d.ts","../filewithimports.ts","../node_modules/pkg2/index.d.ts","../filewithtyperefs.ts"],"fileIdsList":[[2,3],[5]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-8124756421-export interface Import0 {}","-8124720484-export interface Import1 {}",{"version":"-14287751515-import type { Import0 } from \"pkg0\";\nimport type { Import1 } from \"pkg1\";\n","signature":"-3531856636-export {};\n"},{"version":"-11273315461-interface Import2 {}","affectsGlobalScope":true},{"version":"-12735305811-/// \n/// \ninterface LocalInterface extends Import2, Import3 {}\nexport {}\n","signature":"-3531856636-export {};\n"}],"root":[4,6],"options":{"composite":true,"outDir":"./"},"referencedMap":[[4,1],[6,2]],"semanticDiagnosticsPerFile":[[6,[{"start":102,"length":7,"messageText":"Cannot find name 'Import3'. Did you mean 'Import2'?","category":1,"code":2552,"canonicalHead":{"code":2304,"messageText":"Cannot find name 'Import3'."}}]]],"latestChangedDtsFile":"./fileWithTypeRefs.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","../node_modules/pkg0/index.d.ts","../node_modules/pkg1/index.d.ts","../filewithimports.ts","../node_modules/pkg2/index.d.ts","../filewithtyperefs.ts"],"fileIdsList":[[2,3],[5]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-8124756421-export interface Import0 {}","impliedFormat":1},{"version":"-8124720484-export interface Import1 {}","impliedFormat":1},{"version":"-14287751515-import type { Import0 } from \"pkg0\";\nimport type { Import1 } from \"pkg1\";\n","signature":"-3531856636-export {};\n"},{"version":"-11273315461-interface Import2 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-12735305811-/// \n/// \ninterface LocalInterface extends Import2, Import3 {}\nexport {}\n","signature":"-3531856636-export {};\n"}],"root":[4,6],"options":{"composite":true,"outDir":"./"},"referencedMap":[[4,1],[6,2]],"semanticDiagnosticsPerFile":[[6,[{"start":102,"length":7,"messageText":"Cannot find name 'Import3'. Did you mean 'Import2'?","category":1,"code":2552,"canonicalHead":{"code":2304,"messageText":"Cannot find name 'Import3'."}}]]],"latestChangedDtsFile":"./fileWithTypeRefs.d.ts","version":"FakeTSVersion"} //// [/users/username/projects/project/outDir/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -493,12 +565,22 @@ fileWithTypeRefs.ts "affectsGlobalScope": true }, "../node_modules/pkg0/index.d.ts": { + "original": { + "version": "-8124756421-export interface Import0 {}", + "impliedFormat": 1 + }, "version": "-8124756421-export interface Import0 {}", - "signature": "-8124756421-export interface Import0 {}" + "signature": "-8124756421-export interface Import0 {}", + "impliedFormat": "commonjs" }, "../node_modules/pkg1/index.d.ts": { + "original": { + "version": "-8124720484-export interface Import1 {}", + "impliedFormat": 1 + }, "version": "-8124720484-export interface Import1 {}", - "signature": "-8124720484-export interface Import1 {}" + "signature": "-8124720484-export interface Import1 {}", + "impliedFormat": "commonjs" }, "../filewithimports.ts": { "original": { @@ -511,11 +593,13 @@ fileWithTypeRefs.ts "../node_modules/pkg2/index.d.ts": { "original": { "version": "-11273315461-interface Import2 {}", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-11273315461-interface Import2 {}", "signature": "-11273315461-interface Import2 {}", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../filewithtyperefs.ts": { "original": { @@ -569,7 +653,7 @@ fileWithTypeRefs.ts ], "latestChangedDtsFile": "./fileWithTypeRefs.d.ts", "version": "FakeTSVersion", - "size": 1530 + "size": 1608 } @@ -578,8 +662,20 @@ PolledWatches:: {"pollingInterval":500} /users/username/projects/node_modules/@types: {"pollingInterval":500} +/users/username/projects/package.json: + {"pollingInterval":2000} /users/username/projects/project/node_modules/@types: {"pollingInterval":500} +/users/username/projects/project/node_modules/package.json: + {"pollingInterval":2000} +/users/username/projects/project/node_modules/pkg0/package.json: + {"pollingInterval":2000} +/users/username/projects/project/node_modules/pkg1/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/node_modules/pkg2/package.json: + {"pollingInterval":2000} +/users/username/projects/project/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -690,8 +786,43 @@ Synchronizing program CreatingProgramWith:: roots: ["/users/username/projects/project/fileWithImports.ts","/users/username/projects/project/fileWithTypeRefs.ts"] options: {"composite":true,"traceResolution":true,"outDir":"/users/username/projects/project/outDir","watch":true,"explainFiles":true,"extendedDiagnostics":true,"configFilePath":"/users/username/projects/project/tsconfig.json"} +File '/users/username/projects/project/node_modules/pkg0/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/package.json' does not exist according to earlier cached lookups. +File '/users/username/package.json' does not exist according to earlier cached lookups. +File '/users/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/pkg1/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/package.json' does not exist according to earlier cached lookups. +File '/users/username/package.json' does not exist according to earlier cached lookups. +File '/users/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/pkg2/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/package.json' does not exist according to earlier cached lookups. +File '/users/username/package.json' does not exist according to earlier cached lookups. +File '/users/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of module 'pkg0' from '/users/username/projects/project/fileWithImports.ts' of old program, it was successfully resolved to '/users/username/projects/project/node_modules/pkg0/index.d.ts'. Reusing resolution of module 'pkg1' from '/users/username/projects/project/fileWithImports.ts' of old program, it was successfully resolved to '/users/username/projects/project/node_modules/pkg1/index.d.ts'. +File '/users/username/projects/project/node_modules/pkg0/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/package.json' does not exist according to earlier cached lookups. +File '/users/username/package.json' does not exist according to earlier cached lookups. +File '/users/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/pkg1/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/package.json' does not exist according to earlier cached lookups. +File '/users/username/package.json' does not exist according to earlier cached lookups. +File '/users/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. Reusing resolution of type reference directive 'pkg2' from '/users/username/projects/project/fileWithTypeRefs.ts' of old program, it was successfully resolved to '/users/username/projects/project/node_modules/pkg2/index.d.ts'. ======== Resolving type reference directive 'pkg3', containing file '/users/username/projects/project/fileWithTypeRefs.ts', root directory '/users/username/projects/project/node_modules/@types,/users/username/projects/node_modules/@types,/users/username/node_modules/@types,/users/node_modules/@types,/node_modules/@types'. ======== Resolving with primary search path '/users/username/projects/project/node_modules/@types, /users/username/projects/node_modules/@types, /users/username/node_modules/@types, /users/node_modules/@types, /node_modules/@types'. @@ -707,7 +838,22 @@ File '/users/username/projects/project/node_modules/pkg3.d.ts' does not exist. File '/users/username/projects/project/node_modules/pkg3/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/users/username/projects/project/node_modules/pkg3/index.d.ts', result '/users/username/projects/project/node_modules/pkg3/index.d.ts'. ======== Type reference directive 'pkg3' was successfully resolved to '/users/username/projects/project/node_modules/pkg3/index.d.ts', primary: false. ======== +File '/users/username/projects/project/node_modules/pkg2/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/package.json' does not exist according to earlier cached lookups. +File '/users/username/package.json' does not exist according to earlier cached lookups. +File '/users/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/pkg3/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/node_modules/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/project/package.json' does not exist according to earlier cached lookups. +File '/users/username/projects/package.json' does not exist according to earlier cached lookups. +File '/users/username/package.json' does not exist according to earlier cached lookups. +File '/users/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/pkg3/index.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/pkg3/package.json 2000 undefined File location affecting resolution fileWithTypeRefs.ts:3:43 - error TS2552: Cannot find name 'Import3'. Did you mean 'Import2'? 3 interface LocalInterface extends Import2, Import3 {} @@ -733,7 +879,7 @@ fileWithTypeRefs.ts //// [/users/username/projects/project/outDir/fileWithTypeRefs.js] file written with same contents //// [/users/username/projects/project/outDir/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../a/lib/lib.d.ts","../node_modules/pkg0/index.d.ts","../node_modules/pkg1/index.d.ts","../filewithimports.ts","../node_modules/pkg2/index.d.ts","../node_modules/pkg3/index.d.ts","../filewithtyperefs.ts"],"fileIdsList":[[2,3],[5,6]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-8124756421-export interface Import0 {}","-8124720484-export interface Import1 {}",{"version":"-14287751515-import type { Import0 } from \"pkg0\";\nimport type { Import1 } from \"pkg1\";\n","signature":"-3531856636-export {};\n"},{"version":"-11273315461-interface Import2 {}","affectsGlobalScope":true},"-8124648610-export interface Import3 {}",{"version":"-12735305811-/// \n/// \ninterface LocalInterface extends Import2, Import3 {}\nexport {}\n","signature":"-3531856636-export {};\n"}],"root":[4,7],"options":{"composite":true,"outDir":"./"},"referencedMap":[[4,1],[7,2]],"semanticDiagnosticsPerFile":[[7,[{"start":102,"length":7,"messageText":"Cannot find name 'Import3'. Did you mean 'Import2'?","category":1,"code":2552,"canonicalHead":{"code":2304,"messageText":"Cannot find name 'Import3'."}}]]],"latestChangedDtsFile":"./fileWithTypeRefs.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../a/lib/lib.d.ts","../node_modules/pkg0/index.d.ts","../node_modules/pkg1/index.d.ts","../filewithimports.ts","../node_modules/pkg2/index.d.ts","../node_modules/pkg3/index.d.ts","../filewithtyperefs.ts"],"fileIdsList":[[2,3],[5,6]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-8124756421-export interface Import0 {}","impliedFormat":1},{"version":"-8124720484-export interface Import1 {}","impliedFormat":1},{"version":"-14287751515-import type { Import0 } from \"pkg0\";\nimport type { Import1 } from \"pkg1\";\n","signature":"-3531856636-export {};\n"},{"version":"-11273315461-interface Import2 {}","affectsGlobalScope":true,"impliedFormat":1},{"version":"-8124648610-export interface Import3 {}","impliedFormat":1},{"version":"-12735305811-/// \n/// \ninterface LocalInterface extends Import2, Import3 {}\nexport {}\n","signature":"-3531856636-export {};\n"}],"root":[4,7],"options":{"composite":true,"outDir":"./"},"referencedMap":[[4,1],[7,2]],"semanticDiagnosticsPerFile":[[7,[{"start":102,"length":7,"messageText":"Cannot find name 'Import3'. Did you mean 'Import2'?","category":1,"code":2552,"canonicalHead":{"code":2304,"messageText":"Cannot find name 'Import3'."}}]]],"latestChangedDtsFile":"./fileWithTypeRefs.d.ts","version":"FakeTSVersion"} //// [/users/username/projects/project/outDir/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -767,12 +913,22 @@ fileWithTypeRefs.ts "affectsGlobalScope": true }, "../node_modules/pkg0/index.d.ts": { + "original": { + "version": "-8124756421-export interface Import0 {}", + "impliedFormat": 1 + }, "version": "-8124756421-export interface Import0 {}", - "signature": "-8124756421-export interface Import0 {}" + "signature": "-8124756421-export interface Import0 {}", + "impliedFormat": "commonjs" }, "../node_modules/pkg1/index.d.ts": { + "original": { + "version": "-8124720484-export interface Import1 {}", + "impliedFormat": 1 + }, "version": "-8124720484-export interface Import1 {}", - "signature": "-8124720484-export interface Import1 {}" + "signature": "-8124720484-export interface Import1 {}", + "impliedFormat": "commonjs" }, "../filewithimports.ts": { "original": { @@ -785,15 +941,22 @@ fileWithTypeRefs.ts "../node_modules/pkg2/index.d.ts": { "original": { "version": "-11273315461-interface Import2 {}", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": 1 }, "version": "-11273315461-interface Import2 {}", "signature": "-11273315461-interface Import2 {}", - "affectsGlobalScope": true + "affectsGlobalScope": true, + "impliedFormat": "commonjs" }, "../node_modules/pkg3/index.d.ts": { + "original": { + "version": "-8124648610-export interface Import3 {}", + "impliedFormat": 1 + }, "version": "-8124648610-export interface Import3 {}", - "signature": "-8124648610-export interface Import3 {}" + "signature": "-8124648610-export interface Import3 {}", + "impliedFormat": "commonjs" }, "../filewithtyperefs.ts": { "original": { @@ -848,7 +1011,7 @@ fileWithTypeRefs.ts ], "latestChangedDtsFile": "./fileWithTypeRefs.d.ts", "version": "FakeTSVersion", - "size": 1608 + "size": 1716 } @@ -857,8 +1020,22 @@ PolledWatches:: {"pollingInterval":500} /users/username/projects/node_modules/@types: {"pollingInterval":500} +/users/username/projects/package.json: + {"pollingInterval":2000} /users/username/projects/project/node_modules/@types: {"pollingInterval":500} +/users/username/projects/project/node_modules/package.json: + {"pollingInterval":2000} +/users/username/projects/project/node_modules/pkg0/package.json: + {"pollingInterval":2000} +/users/username/projects/project/node_modules/pkg1/package.json: + {"pollingInterval":2000} +/users/username/projects/project/node_modules/pkg2/package.json: + {"pollingInterval":2000} +/users/username/projects/project/node_modules/pkg3/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: diff --git a/tests/baselines/reference/tscWatch/resolutionCache/scoped-package-installation.js b/tests/baselines/reference/tscWatch/resolutionCache/scoped-package-installation.js index 0b154a21be7..e694df8aabf 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/scoped-package-installation.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/scoped-package-installation.js @@ -524,7 +524,20 @@ File '/user/username/projects/myproject/node_modules/@myapp/ts-types/index.tsx' File '/user/username/projects/myproject/node_modules/@myapp/ts-types/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/user/username/projects/myproject/node_modules/@myapp/ts-types/index.d.ts', result '/user/username/projects/myproject/node_modules/@myapp/ts-types/index.d.ts'. ======== Module name '@myapp/ts-types' was successfully resolved to '/user/username/projects/myproject/node_modules/@myapp/ts-types/index.d.ts'. ======== +File '/user/username/projects/myproject/node_modules/@myapp/ts-types/package.json' does not exist according to earlier cached lookups. +File '/user/username/projects/myproject/node_modules/@myapp/package.json' does not exist. +File '/user/username/projects/myproject/node_modules/package.json' does not exist. +File '/user/username/projects/myproject/package.json' does not exist. +File '/user/username/projects/package.json' does not exist. +File '/user/username/package.json' does not exist. +File '/user/package.json' does not exist. +File '/package.json' does not exist. FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@myapp/ts-types/index.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@myapp/ts-types/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@myapp/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined File location affecting resolution DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules 1 undefined Failed Lookup Locations Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules 1 undefined Failed Lookup Locations [HH:MM:SS AM] Found 0 errors. Watching for file changes. @@ -534,10 +547,20 @@ Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node //// [/user/username/projects/myproject/lib/app.js] file written with same contents PolledWatches:: +/user/username/projects/myproject/node_modules/@myapp/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@myapp/ts-types/package.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/node_modules/@types: {"pollingInterval":500} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} PolledWatches *deleted*:: /user/username/projects/node_modules: diff --git a/tests/baselines/reference/tscWatch/resolutionCache/when-types-in-compiler-option-are-global-and-installed-at-later-point.js b/tests/baselines/reference/tscWatch/resolutionCache/when-types-in-compiler-option-are-global-and-installed-at-later-point.js index 41603b7a6b7..91c32436f80 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/when-types-in-compiler-option-are-global-and-installed-at-later-point.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/when-types-in-compiler-option-are-global-and-installed-at-later-point.js @@ -166,6 +166,8 @@ Output:: //// [/user/username/projects/myproject/lib/app.js] file written with same contents PolledWatches:: +/user/username/projects/myproject/node_modules/@myapp/ts-types/types/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules: {"pollingInterval":500} diff --git a/tests/baselines/reference/tscWatch/resolutionCache/works-when-installing-something-in-node_modules-or-@types-when-there-is-no-notification-from-fs-for-index-file.js b/tests/baselines/reference/tscWatch/resolutionCache/works-when-installing-something-in-node_modules-or-@types-when-there-is-no-notification-from-fs-for-index-file.js index 9991820321f..9073d85e75b 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/works-when-installing-something-in-node_modules-or-@types-when-there-is-no-notification-from-fs-for-index-file.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/works-when-installing-something-in-node_modules-or-@types-when-there-is-no-notification-from-fs-for-index-file.js @@ -56,6 +56,12 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types/node/ts3.6/base.d.ts 250 undefined Source file FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types/node/globals.d.ts 250 undefined Source file FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types/node/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types/node/ts3.6/package.json 2000 undefined File location affecting resolution DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Type roots Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Type roots DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Type roots @@ -72,8 +78,20 @@ process.on("uncaughtException"); PolledWatches:: +/user/username/projects/myproject/node_modules/@types/node/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types/node/ts3.6/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -249,6 +267,12 @@ FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/ FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types/node/ts3.6/base.d.ts 250 undefined Source file FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types/node/base.d.ts 250 undefined Source file FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types/node/index.d.ts 250 undefined Source file +FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types/node/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /user/username/projects/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types/node/ts3.6/package.json 2000 undefined File location affecting resolution worker.ts:1:1 - error TS2580: Cannot find name 'process'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. 1 process.on("uncaughtException"); @@ -264,6 +288,20 @@ PolledWatches:: /user/username/projects/node_modules/@types: {"pollingInterval":500} +PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/@types/node/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types/node/ts3.6/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} +/user/username/projects/package.json: + {"pollingInterval":2000} + FsWatches:: /a/lib/lib.d.ts: {} @@ -372,6 +410,11 @@ CreatingProgramWith:: roots: ["/user/username/projects/myproject/worker.ts"] options: {"watch":true,"extendedDiagnostics":true,"configFilePath":"/user/username/projects/myproject/tsconfig.json"} FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types/mocha/index.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types/mocha/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined File location affecting resolution worker.ts:1:1 - error TS2580: Cannot find name 'process'. Do you need to install type definitions for node? Try `npm i --save-dev @types/node`. 1 process.on("uncaughtException"); @@ -383,8 +426,18 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/ PolledWatches:: +/user/username/projects/myproject/node_modules/@types/mocha/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -474,10 +527,20 @@ Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node PolledWatches:: +/user/username/projects/myproject/node_modules/@types/mocha/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules: *new* {"pollingInterval":500} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -584,6 +647,8 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types/node/base.d.ts 250 undefined Source file FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types/node/ts3.6/base.d.ts 250 undefined Source file FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types/node/globals.d.ts 250 undefined Source file +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types/node/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types/node/ts3.6/package.json 2000 undefined File location affecting resolution DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules 1 undefined Failed Lookup Locations Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules 1 undefined Failed Lookup Locations [HH:MM:SS AM] Found 0 errors. Watching for file changes. @@ -593,8 +658,22 @@ Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node //// [/user/username/projects/myproject/worker.js] file written with same contents PolledWatches:: +/user/username/projects/myproject/node_modules/@types/mocha/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types/node/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types/node/ts3.6/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} PolledWatches *deleted*:: /user/username/projects/node_modules: diff --git a/tests/baselines/reference/tscWatch/resolutionCache/works-when-renaming-node_modules-folder-that-already-contains-@types-folder.js b/tests/baselines/reference/tscWatch/resolutionCache/works-when-renaming-node_modules-folder-that-already-contains-@types-folder.js index c56847bceed..b2150d972a0 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/works-when-renaming-node_modules-folder-that-already-contains-@types-folder.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/works-when-renaming-node_modules-folder-that-already-contains-@types-folder.js @@ -135,8 +135,18 @@ Output:: //// [/user/username/projects/myproject/a.js] file written with same contents PolledWatches:: +/user/username/projects/myproject/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@types/qqq/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} PolledWatches *deleted*:: /user/username/projects/node_modules: diff --git a/tests/baselines/reference/tscWatch/resolutionCache/works-when-reusing-program-with-files-from-external-library.js b/tests/baselines/reference/tscWatch/resolutionCache/works-when-reusing-program-with-files-from-external-library.js index 7d67ff822e4..3a65b6fbb43 100644 --- a/tests/baselines/reference/tscWatch/resolutionCache/works-when-reusing-program-with-files-from-external-library.js +++ b/tests/baselines/reference/tscWatch/resolutionCache/works-when-reusing-program-with-files-from-external-library.js @@ -63,6 +63,12 @@ module11("hello"); PolledWatches:: /a/b/projects/myProject/node_modules/@types: *new* {"pollingInterval":500} +/a/b/projects/myProject/node_modules/module1/package.json: *new* + {"pollingInterval":2000} +/a/b/projects/myProject/node_modules/package.json: *new* + {"pollingInterval":2000} +/a/b/projects/myProject/package.json: *new* + {"pollingInterval":2000} /a/b/projects/myProject/src/node_modules: *new* {"pollingInterval":500} /a/b/projects/myProject/src/node_modules/@types: *new* @@ -71,6 +77,8 @@ PolledWatches:: {"pollingInterval":500} /a/b/projects/node_modules/@types: *new* {"pollingInterval":500} +/a/b/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/b/projects/myProject/node_modules/module1/index.js: *new* diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-preserveSymlinks-when-solution-is-already-built.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-preserveSymlinks-when-solution-is-already-built.js index 4ade86b132b..00b3a7a97fd 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-preserveSymlinks-when-solution-is-already-built.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-preserveSymlinks-when-solution-is-already-built.js @@ -157,7 +157,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/index.d.ts","../../node_modules/b/lib/bar.d.ts","./src/index.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-5677608893-export declare function foo(): void;\n","-2904461644-export declare function bar(): void;\n",{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/index.d.ts","../../node_modules/b/lib/bar.d.ts","./src/index.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -184,12 +184,22 @@ export {}; "affectsGlobalScope": true }, "../../node_modules/b/lib/index.d.ts": { + "original": { + "version": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": 1 + }, "version": "-5677608893-export declare function foo(): void;\n", - "signature": "-5677608893-export declare function foo(): void;\n" + "signature": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": "commonjs" }, "../../node_modules/b/lib/bar.d.ts": { + "original": { + "version": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": 1 + }, "version": "-2904461644-export declare function bar(): void;\n", - "signature": "-2904461644-export declare function bar(): void;\n" + "signature": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": "commonjs" }, "./src/index.ts": { "original": { @@ -219,7 +229,7 @@ export {}; }, "latestChangedDtsFile": "./lib/index.d.ts", "version": "FakeTSVersion", - "size": 990 + "size": 1050 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js index ab06254380b..2aa475b6bd5 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-packageJson-has-types-field-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js @@ -157,7 +157,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/index.d.ts","../../node_modules/@issue/b/lib/bar.d.ts","./src/index.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-5677608893-export declare function foo(): void;\n","-2904461644-export declare function bar(): void;\n",{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/index.d.ts","../../node_modules/@issue/b/lib/bar.d.ts","./src/index.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -184,12 +184,22 @@ export {}; "affectsGlobalScope": true }, "../../node_modules/@issue/b/lib/index.d.ts": { + "original": { + "version": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": 1 + }, "version": "-5677608893-export declare function foo(): void;\n", - "signature": "-5677608893-export declare function foo(): void;\n" + "signature": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": "commonjs" }, "../../node_modules/@issue/b/lib/bar.d.ts": { + "original": { + "version": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": 1 + }, "version": "-2904461644-export declare function bar(): void;\n", - "signature": "-2904461644-export declare function bar(): void;\n" + "signature": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": "commonjs" }, "./src/index.ts": { "original": { @@ -219,7 +229,7 @@ export {}; }, "latestChangedDtsFile": "./lib/index.d.ts", "version": "FakeTSVersion", - "size": 1018 + "size": 1078 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-preserveSymlinks-when-solution-is-already-built.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-preserveSymlinks-when-solution-is-already-built.js index ecb37a89639..a40870d40be 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-preserveSymlinks-when-solution-is-already-built.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-preserveSymlinks-when-solution-is-already-built.js @@ -154,7 +154,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/foo.d.ts","../../node_modules/b/lib/bar/foo.d.ts","./src/test.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-5677608893-export declare function foo(): void;\n","-2904461644-export declare function bar(): void;\n",{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/foo.d.ts","../../node_modules/b/lib/bar/foo.d.ts","./src/test.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -181,12 +181,22 @@ export {}; "affectsGlobalScope": true }, "../../node_modules/b/lib/foo.d.ts": { + "original": { + "version": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": 1 + }, "version": "-5677608893-export declare function foo(): void;\n", - "signature": "-5677608893-export declare function foo(): void;\n" + "signature": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": "commonjs" }, "../../node_modules/b/lib/bar/foo.d.ts": { + "original": { + "version": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": 1 + }, "version": "-2904461644-export declare function bar(): void;\n", - "signature": "-2904461644-export declare function bar(): void;\n" + "signature": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": "commonjs" }, "./src/test.ts": { "original": { @@ -216,7 +226,7 @@ export {}; }, "latestChangedDtsFile": "./lib/test.d.ts", "version": "FakeTSVersion", - "size": 1003 + "size": 1063 } diff --git a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js index b4dde826dd2..fab45274d3b 100644 --- a/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js +++ b/tests/baselines/reference/tscWatch/sourceOfProjectReferenceRedirect/when-referencing-file-from-subFolder-with-scoped-package-with-preserveSymlinks-when-solution-is-already-built.js @@ -154,7 +154,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/foo.d.ts","../../node_modules/@issue/b/lib/bar/foo.d.ts","./src/test.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-5677608893-export declare function foo(): void;\n","-2904461644-export declare function bar(): void;\n",{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/foo.d.ts","../../node_modules/@issue/b/lib/bar/foo.d.ts","./src/test.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -181,12 +181,22 @@ export {}; "affectsGlobalScope": true }, "../../node_modules/@issue/b/lib/foo.d.ts": { + "original": { + "version": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": 1 + }, "version": "-5677608893-export declare function foo(): void;\n", - "signature": "-5677608893-export declare function foo(): void;\n" + "signature": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": "commonjs" }, "../../node_modules/@issue/b/lib/bar/foo.d.ts": { + "original": { + "version": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": 1 + }, "version": "-2904461644-export declare function bar(): void;\n", - "signature": "-2904461644-export declare function bar(): void;\n" + "signature": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": "commonjs" }, "./src/test.ts": { "original": { @@ -216,7 +226,7 @@ export {}; }, "latestChangedDtsFile": "./lib/test.d.ts", "version": "FakeTSVersion", - "size": 1032 + "size": 1092 } diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders-with-synchronousWatchDirectory.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders-with-synchronousWatchDirectory.js index 71e41cadd7f..141555a0edf 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders-with-synchronousWatchDirectory.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders-with-synchronousWatchDirectory.js @@ -63,6 +63,13 @@ File '/home/user/projects/myproject/node_modules/a/index.tsx' does not exist. File '/home/user/projects/myproject/node_modules/a/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/user/projects/myproject/node_modules/a/index.d.ts', result '/home/user/projects/myproject/node_modules/reala/index.d.ts'. ======== Module name 'a' was successfully resolved to '/home/user/projects/myproject/node_modules/reala/index.d.ts'. ======== +File '/home/user/projects/myproject/node_modules/reala/package.json' does not exist. +File '/home/user/projects/myproject/node_modules/package.json' does not exist. +File '/home/user/projects/myproject/package.json' does not exist. +File '/home/user/projects/package.json' does not exist. +File '/home/user/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. FileWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules/reala/index.d.ts 250 {"synchronousWatchDirectory":true} Source file FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 250 {"synchronousWatchDirectory":true} Source file DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/myproject/src 1 {"synchronousWatchDirectory":true} Failed Lookup Locations @@ -71,6 +78,10 @@ DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules/a 1 {"synchronousWatchDirectory":true} Failed Lookup Locations DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules 1 {"synchronousWatchDirectory":true} Failed Lookup Locations Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules 1 {"synchronousWatchDirectory":true} Failed Lookup Locations +FileWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules/reala/package.json 2000 {"synchronousWatchDirectory":true} File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules/package.json 2000 {"synchronousWatchDirectory":true} File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/user/projects/myproject/package.json 2000 {"synchronousWatchDirectory":true} File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/user/projects/package.json 2000 {"synchronousWatchDirectory":true} File location affecting resolution DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules/@types 1 {"synchronousWatchDirectory":true} Type roots Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules/@types 1 {"synchronousWatchDirectory":true} Type roots DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/node_modules/@types 1 {"synchronousWatchDirectory":true} Type roots @@ -92,8 +103,16 @@ Object.defineProperty(exports, "__esModule", { value: true }); PolledWatches:: /home/user/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/home/user/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/user/projects/myproject/node_modules/reala/package.json: *new* + {"pollingInterval":2000} +/home/user/projects/myproject/package.json: *new* + {"pollingInterval":2000} /home/user/projects/node_modules/@types: *new* {"pollingInterval":500} +/home/user/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -178,10 +197,18 @@ Elapsed:: *ms DirectoryWatcher:: Triggered with /home/user/projects/myproject/no PolledWatches:: /home/user/projects/myproject/node_modules/@types: {"pollingInterval":500} +/home/user/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} /home/user/projects/myproject/node_modules/reala/index.d.ts: *new* {"pollingInterval":250} +/home/user/projects/myproject/node_modules/reala/package.json: + {"pollingInterval":2000} +/home/user/projects/myproject/package.json: + {"pollingInterval":2000} /home/user/projects/node_modules/@types: {"pollingInterval":500} +/home/user/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -229,6 +256,13 @@ Synchronizing program CreatingProgramWith:: roots: ["/home/user/projects/myproject/src/file.ts"] options: {"extendedDiagnostics":true,"traceResolution":true,"watch":true,"configFilePath":"/home/user/projects/myproject/tsconfig.json"} +File '/home/user/projects/myproject/node_modules/reala/package.json' does not exist. +File '/home/user/projects/myproject/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/user/projects/myproject/package.json' does not exist according to earlier cached lookups. +File '/home/user/projects/package.json' does not exist according to earlier cached lookups. +File '/home/user/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: /home/user/projects/myproject/node_modules/reala/index.d.ts 250 {"synchronousWatchDirectory":true} Source file ======== Resolving module 'a' from '/home/user/projects/myproject/src/file.ts'. ======== Module resolution kind is not specified, using 'Node10'. @@ -262,6 +296,10 @@ Directory '/node_modules' does not exist, skipping all lookups in it. ======== Module name 'a' was not resolved. ======== DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/node_modules 1 {"synchronousWatchDirectory":true} Failed Lookup Locations Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/node_modules 1 {"synchronousWatchDirectory":true} Failed Lookup Locations +FileWatcher:: Close:: WatchInfo: /home/user/projects/myproject/node_modules/reala/package.json 2000 {"synchronousWatchDirectory":true} File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/user/projects/myproject/node_modules/package.json 2000 {"synchronousWatchDirectory":true} File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/user/projects/myproject/package.json 2000 {"synchronousWatchDirectory":true} File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/user/projects/package.json 2000 {"synchronousWatchDirectory":true} File location affecting resolution src/file.ts:1:20 - error TS2307: Cannot find module 'a' or its corresponding type declarations. 1 import * as a from "a" @@ -282,8 +320,16 @@ PolledWatches:: {"pollingInterval":500} PolledWatches *deleted*:: +/home/user/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} /home/user/projects/myproject/node_modules/reala/index.d.ts: {"pollingInterval":250} +/home/user/projects/myproject/node_modules/reala/package.json: + {"pollingInterval":2000} +/home/user/projects/myproject/package.json: + {"pollingInterval":2000} +/home/user/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders.js index 8de7ef4ce96..89a7ac57bee 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/when-there-are-symlinks-to-folders-in-recursive-folders.js @@ -60,6 +60,13 @@ File '/home/user/projects/myproject/node_modules/a/index.tsx' does not exist. File '/home/user/projects/myproject/node_modules/a/index.d.ts' exists - use it as a name resolution result. Resolving real path for '/home/user/projects/myproject/node_modules/a/index.d.ts', result '/home/user/projects/myproject/node_modules/reala/index.d.ts'. ======== Module name 'a' was successfully resolved to '/home/user/projects/myproject/node_modules/reala/index.d.ts'. ======== +File '/home/user/projects/myproject/node_modules/reala/package.json' does not exist. +File '/home/user/projects/myproject/node_modules/package.json' does not exist. +File '/home/user/projects/myproject/package.json' does not exist. +File '/home/user/projects/package.json' does not exist. +File '/home/user/package.json' does not exist. +File '/home/package.json' does not exist. +File '/package.json' does not exist. FileWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules/reala/index.d.ts 250 undefined Source file FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 250 undefined Source file DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/myproject/src 1 undefined Failed Lookup Locations @@ -68,6 +75,10 @@ DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules/a 1 undefined Failed Lookup Locations DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules 1 undefined Failed Lookup Locations Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules 1 undefined Failed Lookup Locations +FileWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules/reala/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/user/projects/myproject/package.json 2000 undefined File location affecting resolution +FileWatcher:: Added:: WatchInfo: /home/user/projects/package.json 2000 undefined File location affecting resolution DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules/@types 1 undefined Type roots Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/myproject/node_modules/@types 1 undefined Type roots DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/node_modules/@types 1 undefined Type roots @@ -87,8 +98,16 @@ Object.defineProperty(exports, "__esModule", { value: true }); PolledWatches:: /home/user/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/home/user/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/user/projects/myproject/node_modules/reala/package.json: *new* + {"pollingInterval":2000} +/home/user/projects/myproject/package.json: *new* + {"pollingInterval":2000} /home/user/projects/node_modules/@types: *new* {"pollingInterval":500} +/home/user/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -161,10 +180,18 @@ sysLog:: /home/user/projects/myproject/node_modules/reala/index.d.ts:: Changing PolledWatches:: /home/user/projects/myproject/node_modules/@types: {"pollingInterval":500} +/home/user/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} /home/user/projects/myproject/node_modules/reala/index.d.ts: *new* {"pollingInterval":250} +/home/user/projects/myproject/node_modules/reala/package.json: + {"pollingInterval":2000} +/home/user/projects/myproject/package.json: + {"pollingInterval":2000} /home/user/projects/node_modules/@types: {"pollingInterval":500} +/home/user/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -212,6 +239,13 @@ Synchronizing program CreatingProgramWith:: roots: ["/home/user/projects/myproject/src/file.ts"] options: {"extendedDiagnostics":true,"traceResolution":true,"watch":true,"configFilePath":"/home/user/projects/myproject/tsconfig.json"} +File '/home/user/projects/myproject/node_modules/reala/package.json' does not exist according to earlier cached lookups. +File '/home/user/projects/myproject/node_modules/package.json' does not exist according to earlier cached lookups. +File '/home/user/projects/myproject/package.json' does not exist according to earlier cached lookups. +File '/home/user/projects/package.json' does not exist according to earlier cached lookups. +File '/home/user/package.json' does not exist according to earlier cached lookups. +File '/home/package.json' does not exist according to earlier cached lookups. +File '/package.json' does not exist according to earlier cached lookups. FileWatcher:: Close:: WatchInfo: /home/user/projects/myproject/node_modules/reala/index.d.ts 250 undefined Source file ======== Resolving module 'a' from '/home/user/projects/myproject/src/file.ts'. ======== Module resolution kind is not specified, using 'Node10'. @@ -245,6 +279,10 @@ Directory '/node_modules' does not exist, skipping all lookups in it. ======== Module name 'a' was not resolved. ======== DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/node_modules 1 undefined Failed Lookup Locations Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/user/projects/node_modules 1 undefined Failed Lookup Locations +FileWatcher:: Close:: WatchInfo: /home/user/projects/myproject/node_modules/reala/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/user/projects/myproject/node_modules/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/user/projects/myproject/package.json 2000 undefined File location affecting resolution +FileWatcher:: Close:: WatchInfo: /home/user/projects/package.json 2000 undefined File location affecting resolution src/file.ts:1:20 - error TS2307: Cannot find module 'a' or its corresponding type declarations. 1 import * as a from "a" @@ -288,8 +326,16 @@ PolledWatches:: {"pollingInterval":500} PolledWatches *deleted*:: +/home/user/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} /home/user/projects/myproject/node_modules/reala/index.d.ts: {"pollingInterval":250} +/home/user/projects/myproject/node_modules/reala/package.json: + {"pollingInterval":2000} +/home/user/projects/myproject/package.json: + {"pollingInterval":2000} +/home/user/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory-with-outDir-and-declaration-enabled.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory-with-outDir-and-declaration-enabled.js index 241fb0210d5..92bf6e6842c 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory-with-outDir-and-declaration-enabled.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory-with-outDir-and-declaration-enabled.js @@ -50,8 +50,16 @@ export {}; PolledWatches:: /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/file2/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -164,8 +172,16 @@ export declare const y = 10; PolledWatches:: /user/username/projects/myproject/node_modules/@types: {"pollingInterval":500} +/user/username/projects/myproject/node_modules/file2/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory.js index ca9bb25a8c0..9444c74bb9f 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchDirectories/with-non-synchronous-watch-directory.js @@ -41,8 +41,16 @@ Object.defineProperty(exports, "__esModule", { value: true }); PolledWatches:: /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/file2/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -121,8 +129,16 @@ PolledWatches:: {"pollingInterval":500} /user/username/projects/myproject/node_modules/file2/index.d.ts: *new* {"pollingInterval":250} +/user/username/projects/myproject/node_modules/file2/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -185,6 +201,14 @@ PolledWatches:: PolledWatches *deleted*:: /user/username/projects/myproject/node_modules/file2/index.d.ts: {"pollingInterval":250} +/user/username/projects/myproject/node_modules/file2/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -429,8 +453,16 @@ Output:: PolledWatches:: /user/username/projects/myproject/node_modules/@types: {"pollingInterval":500} +/user/username/projects/myproject/node_modules/file2/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} PolledWatches *deleted*:: /user/username/projects/node_modules: diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option-extendedDiagnostics.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option-extendedDiagnostics.js index ced53f0f301..1f1abc60c6c 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option-extendedDiagnostics.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option-extendedDiagnostics.js @@ -58,6 +58,10 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/ FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 250 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Source file DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Failed Lookup Locations Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Failed Lookup Locations +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/bar/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} File location affecting resolution ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Type roots DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Type roots Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Type roots @@ -78,8 +82,16 @@ var bar_1 = require("bar"); PolledWatches:: +/user/username/projects/myproject/node_modules/bar/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option-with-recursive-directory-watching-extendedDiagnostics.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option-with-recursive-directory-watching-extendedDiagnostics.js index 3221f7c15e8..390afeedcfa 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option-with-recursive-directory-watching-extendedDiagnostics.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option-with-recursive-directory-watching-extendedDiagnostics.js @@ -59,6 +59,10 @@ FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/ FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 250 {"excludeDirectories":["/user/username/projects/myproject/**/temp"]} Source file DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/**/temp"]} Failed Lookup Locations Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/**/temp"]} Failed Lookup Locations +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/bar/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/**/temp"]} File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/**/temp"]} File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/**/temp"]} File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/**/temp"]} File location affecting resolution DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/**/temp"]} Type roots Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/**/temp"]} Type roots DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/**/temp"]} Type roots @@ -80,8 +84,16 @@ var bar_1 = require("bar"); PolledWatches:: /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/bar/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option-with-recursive-directory-watching.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option-with-recursive-directory-watching.js index 51809bf4798..5e580149fc0 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option-with-recursive-directory-watching.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option-with-recursive-directory-watching.js @@ -61,8 +61,16 @@ var bar_1 = require("bar"); PolledWatches:: /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/bar/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option.js index 0c4ef46a0ae..f6d462bdba6 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeDirectories-option.js @@ -59,8 +59,16 @@ var bar_1 = require("bar"); PolledWatches:: +/user/username/projects/myproject/node_modules/bar/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeFiles-option-extendedDiagnostics.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeFiles-option-extendedDiagnostics.js index c5a0c59025f..c05d7cb6c8f 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeFiles-option-extendedDiagnostics.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeFiles-option-extendedDiagnostics.js @@ -59,6 +59,10 @@ ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modul FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 250 {"excludeFiles":["/user/username/projects/myproject/node_modules/*"]} Source file DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeFiles":["/user/username/projects/myproject/node_modules/*"]} Failed Lookup Locations Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeFiles":["/user/username/projects/myproject/node_modules/*"]} Failed Lookup Locations +ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/bar/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/node_modules/*"]} File location affecting resolution +ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/node_modules/*"]} File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/node_modules/*"]} File location affecting resolution +FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/node_modules/*"]} File location affecting resolution DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/node_modules/*"]} Type roots Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/node_modules/*"]} Type roots DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/node_modules/*"]} Type roots @@ -82,8 +86,12 @@ var bar_1 = require("bar"); PolledWatches:: /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeFiles-option.js b/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeFiles-option.js index 2d0bdad8858..ed0f23bc912 100644 --- a/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeFiles-option.js +++ b/tests/baselines/reference/tscWatch/watchEnvironment/watchOptions/with-excludeFiles-option.js @@ -61,8 +61,12 @@ var bar_1 = require("bar"); PolledWatches:: /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tsserver/autoImportProvider/Auto-importable-file-is-in-inferred-project-until-imported.js b/tests/baselines/reference/tsserver/autoImportProvider/Auto-importable-file-is-in-inferred-project-until-imported.js index 2e546952717..2ca3bea57e7 100644 --- a/tests/baselines/reference/tsserver/autoImportProvider/Auto-importable-file-is-in-inferred-project-until-imported.js +++ b/tests/baselines/reference/tsserver/autoImportProvider/Auto-importable-file-is-in-inferred-project-until-imported.js @@ -52,6 +52,7 @@ Info seq [hh:mm:ss:mss] request: } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /node_modules/@angular/forms/forms.d.ts ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots @@ -73,6 +74,10 @@ PolledWatches:: /node_modules/@angular/forms/node_modules/@types: *new* {"pollingInterval":500} +FsWatches:: +/node_modules/@angular/forms/package.json: *new* + {} + Projects:: /dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 @@ -229,7 +234,7 @@ PolledWatches:: {"pollingInterval":500} FsWatches:: -/node_modules/@angular/forms/package.json: *new* +/node_modules/@angular/forms/package.json: {} Projects:: diff --git a/tests/baselines/reference/tsserver/autoImportProvider/Closes-AutoImportProviderProject-when-host-project-closes.js b/tests/baselines/reference/tsserver/autoImportProvider/Closes-AutoImportProviderProject-when-host-project-closes.js index f645541ac74..b1b9bd41799 100644 --- a/tests/baselines/reference/tsserver/autoImportProvider/Closes-AutoImportProviderProject-when-host-project-closes.js +++ b/tests/baselines/reference/tsserver/autoImportProvider/Closes-AutoImportProviderProject-when-host-project-closes.js @@ -91,6 +91,7 @@ Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 depe Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -240,6 +241,8 @@ PolledWatches:: {"pollingInterval":500} FsWatches:: +/node_modules/@angular/forms/package.json: *new* + {} /package.json: *new* {} /tsconfig.json: *new* @@ -310,6 +313,8 @@ PolledWatches:: FsWatches:: /index.ts: *new* {} +/node_modules/@angular/forms/package.json: + {} /package.json: {} /tsconfig.json: @@ -370,6 +375,7 @@ Info seq [hh:mm:ss:mss] Files (1) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 dependencies 0 referenced projects in * ms Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject2* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/package.json 2000 undefined Project: /dev/null/autoImportProviderProject2* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject2* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject2*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -398,6 +404,7 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: 1 undefined Conf Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: 1 undefined Config: /tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /tsconfig.json 2000 undefined Project: /tsconfig.json WatchType: Config file Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /tsconfig.json WatchType: Missing file +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /node_modules/@angular/forms/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /index.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (1) @@ -429,6 +436,8 @@ PolledWatches:: {"pollingInterval":500} FsWatches:: +/node_modules/@angular/forms/package.json: + {} /package.json: {} diff --git a/tests/baselines/reference/tsserver/autoImportProvider/Does-not-close-when-root-files-are-redirects-that-dont-actually-exist.js b/tests/baselines/reference/tsserver/autoImportProvider/Does-not-close-when-root-files-are-redirects-that-dont-actually-exist.js index 7bb1f0f3af2..64d74f06008 100644 --- a/tests/baselines/reference/tsserver/autoImportProvider/Does-not-close-when-root-files-are-redirects-that-dont-actually-exist.js +++ b/tests/baselines/reference/tsserver/autoImportProvider/Does-not-close-when-root-files-are-redirects-that-dont-actually-exist.js @@ -113,6 +113,7 @@ Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 depe Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /packages/a/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /packages/a/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /packages/a/node_modules/b/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -263,6 +264,8 @@ PolledWatches:: {"pollingInterval":500} FsWatches:: +/packages/a/node_modules/b/package.json: *new* + {} /packages/a/node_modules/b/tsconfig.json: *new* {} /packages/a/package.json: *new* diff --git a/tests/baselines/reference/tsserver/autoImportProvider/Does-not-create-auto-import-providers-upon-opening-projects-for-find-all-references.js b/tests/baselines/reference/tsserver/autoImportProvider/Does-not-create-auto-import-providers-upon-opening-projects-for-find-all-references.js index ee9e65c9cec..5299e31538c 100644 --- a/tests/baselines/reference/tsserver/autoImportProvider/Does-not-create-auto-import-providers-upon-opening-projects-for-find-all-references.js +++ b/tests/baselines/reference/tsserver/autoImportProvider/Does-not-create-auto-import-providers-upon-opening-projects-for-find-all-references.js @@ -107,6 +107,7 @@ Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 depe Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -264,6 +265,8 @@ PolledWatches:: {"pollingInterval":500} FsWatches:: +/node_modules/@angular/forms/package.json: *new* + {} /package.json: *new* {} /packages/b/package.json: *new* @@ -693,6 +696,8 @@ PolledWatches:: {"pollingInterval":500} FsWatches:: +/node_modules/@angular/forms/package.json: + {} /package.json: {} /packages/a/index.ts: *new* diff --git a/tests/baselines/reference/tsserver/autoImportProvider/Does-not-schedule-ensureProjectForOpenFiles-on-AutoImportProviderProject-creation.js b/tests/baselines/reference/tsserver/autoImportProvider/Does-not-schedule-ensureProjectForOpenFiles-on-AutoImportProviderProject-creation.js index be6dfae8a8a..7ff444d96ba 100644 --- a/tests/baselines/reference/tsserver/autoImportProvider/Does-not-schedule-ensureProjectForOpenFiles-on-AutoImportProviderProject-creation.js +++ b/tests/baselines/reference/tsserver/autoImportProvider/Does-not-schedule-ensureProjectForOpenFiles-on-AutoImportProviderProject-creation.js @@ -302,6 +302,7 @@ Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 depe Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -319,6 +320,8 @@ PolledWatches:: {"pollingInterval":500} FsWatches:: +/node_modules/@angular/forms/package.json: *new* + {} /package.json: {} /tsconfig.json: diff --git a/tests/baselines/reference/tsserver/autoImportProvider/Recovers-from-an-unparseable-package_json.js b/tests/baselines/reference/tsserver/autoImportProvider/Recovers-from-an-unparseable-package_json.js index 34676d8f674..feffb959908 100644 --- a/tests/baselines/reference/tsserver/autoImportProvider/Recovers-from-an-unparseable-package_json.js +++ b/tests/baselines/reference/tsserver/autoImportProvider/Recovers-from-an-unparseable-package_json.js @@ -254,6 +254,7 @@ Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 depe Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -271,6 +272,8 @@ PolledWatches:: {"pollingInterval":500} FsWatches:: +/node_modules/@angular/forms/package.json: *new* + {} /package.json: {} /tsconfig.json: diff --git a/tests/baselines/reference/tsserver/autoImportProvider/Responds-to-automatic-changes-in-node_modules.js b/tests/baselines/reference/tsserver/autoImportProvider/Responds-to-automatic-changes-in-node_modules.js index e58910622d4..29faee9f3ff 100644 --- a/tests/baselines/reference/tsserver/autoImportProvider/Responds-to-automatic-changes-in-node_modules.js +++ b/tests/baselines/reference/tsserver/autoImportProvider/Responds-to-automatic-changes-in-node_modules.js @@ -97,6 +97,8 @@ Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 2 root files in 2 depe Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/core/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (2) @@ -249,6 +251,10 @@ PolledWatches:: {"pollingInterval":500} FsWatches:: +/node_modules/@angular/core/package.json: *new* + {} +/node_modules/@angular/forms/package.json: *new* + {} /package.json: *new* {} /tsconfig.json: *new* diff --git a/tests/baselines/reference/tsserver/autoImportProvider/Responds-to-manual-changes-in-node_modules.js b/tests/baselines/reference/tsserver/autoImportProvider/Responds-to-manual-changes-in-node_modules.js index 192cd160209..2b8146ce5e9 100644 --- a/tests/baselines/reference/tsserver/autoImportProvider/Responds-to-manual-changes-in-node_modules.js +++ b/tests/baselines/reference/tsserver/autoImportProvider/Responds-to-manual-changes-in-node_modules.js @@ -97,6 +97,8 @@ Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 2 root files in 2 depe Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/core/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (2) @@ -249,6 +251,10 @@ PolledWatches:: {"pollingInterval":500} FsWatches:: +/node_modules/@angular/core/package.json: *new* + {} +/node_modules/@angular/forms/package.json: *new* + {} /package.json: *new* {} /tsconfig.json: *new* @@ -296,6 +302,7 @@ Info seq [hh:mm:ss:mss] request: } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /node_modules/@angular/forms/forms.d.ts ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots @@ -318,6 +325,10 @@ PolledWatches:: {"pollingInterval":500} FsWatches:: +/node_modules/@angular/core/package.json: + {} +/node_modules/@angular/forms/package.json: + {} /package.json: {} /tsconfig.json: @@ -409,6 +420,10 @@ PolledWatches:: FsWatches:: /a/data/package.json: *new* {} +/node_modules/@angular/core/package.json: + {} +/node_modules/@angular/forms/package.json: + {} /package.json: {} /tsconfig.json: @@ -575,7 +590,9 @@ PolledWatches:: FsWatches:: /a/data/package.json: {} -/node_modules/@angular/forms/package.json: *new* +/node_modules/@angular/core/package.json: + {} +/node_modules/@angular/forms/package.json: {} /package.json: {} diff --git a/tests/baselines/reference/tsserver/autoImportProvider/Responds-to-package_json-changes.js b/tests/baselines/reference/tsserver/autoImportProvider/Responds-to-package_json-changes.js index 098e7e1643d..33bb9b82aaf 100644 --- a/tests/baselines/reference/tsserver/autoImportProvider/Responds-to-package_json-changes.js +++ b/tests/baselines/reference/tsserver/autoImportProvider/Responds-to-package_json-changes.js @@ -254,6 +254,7 @@ Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 depe Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -271,6 +272,8 @@ PolledWatches:: {"pollingInterval":500} FsWatches:: +/node_modules/@angular/forms/package.json: *new* + {} /package.json: {} /tsconfig.json: diff --git a/tests/baselines/reference/tsserver/autoImportProvider/Reuses-autoImportProvider-when-program-structure-is-unchanged.js b/tests/baselines/reference/tsserver/autoImportProvider/Reuses-autoImportProvider-when-program-structure-is-unchanged.js index 4cec1df69b2..57660d13fc1 100644 --- a/tests/baselines/reference/tsserver/autoImportProvider/Reuses-autoImportProvider-when-program-structure-is-unchanged.js +++ b/tests/baselines/reference/tsserver/autoImportProvider/Reuses-autoImportProvider-when-program-structure-is-unchanged.js @@ -91,6 +91,7 @@ Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 depe Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -240,6 +241,8 @@ PolledWatches:: {"pollingInterval":500} FsWatches:: +/node_modules/@angular/forms/package.json: *new* + {} /package.json: *new* {} /tsconfig.json: *new* diff --git a/tests/baselines/reference/tsserver/autoImportProvider/Shared-source-files-between-AutoImportProvider-and-main-program.js b/tests/baselines/reference/tsserver/autoImportProvider/Shared-source-files-between-AutoImportProvider-and-main-program.js index 7025e9108ab..962211108d6 100644 --- a/tests/baselines/reference/tsserver/autoImportProvider/Shared-source-files-between-AutoImportProvider-and-main-program.js +++ b/tests/baselines/reference/tsserver/autoImportProvider/Shared-source-files-between-AutoImportProvider-and-main-program.js @@ -112,6 +112,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /package.json 250 unde Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 dependencies 0 referenced projects in * ms Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/memfs/lib/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (2) @@ -296,6 +297,8 @@ After request PolledWatches:: /a/lib/lib.d.ts: *new* {"pollingInterval":500} +/node_modules/memfs/lib/package.json: *new* + {"pollingInterval":2000} FsWatches:: /node_modules/@types/node/package.json: *new* diff --git a/tests/baselines/reference/tsserver/autoImportProvider/projects-already-inside-node_modules.js b/tests/baselines/reference/tsserver/autoImportProvider/projects-already-inside-node_modules.js index ed4737ddbc0..37899392a9b 100644 --- a/tests/baselines/reference/tsserver/autoImportProvider/projects-already-inside-node_modules.js +++ b/tests/baselines/reference/tsserver/autoImportProvider/projects-already-inside-node_modules.js @@ -49,6 +49,7 @@ Info seq [hh:mm:ss:mss] request: } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /node_modules/@angular/forms/forms.d.ts ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots @@ -70,6 +71,10 @@ PolledWatches:: /node_modules/@angular/forms/node_modules/@types: *new* {"pollingInterval":500} +FsWatches:: +/node_modules/@angular/forms/package.json: *new* + {} + Projects:: /dev/null/inferredProject1* (Inferred) *new* projectStateVersion: 1 @@ -230,7 +235,7 @@ PolledWatches:: {"pollingInterval":500} FsWatches:: -/node_modules/@angular/forms/package.json: *new* +/node_modules/@angular/forms/package.json: {} Projects:: diff --git a/tests/baselines/reference/tsserver/cachingFileSystemInformation/includes-the-parent-folder-FLLs-in-Classic-module-resolution-mode.js b/tests/baselines/reference/tsserver/cachingFileSystemInformation/includes-the-parent-folder-FLLs-in-Classic-module-resolution-mode.js index d3202742de5..f4cefddaf48 100644 --- a/tests/baselines/reference/tsserver/cachingFileSystemInformation/includes-the-parent-folder-FLLs-in-Classic-module-resolution-mode.js +++ b/tests/baselines/reference/tsserver/cachingFileSystemInformation/includes-the-parent-folder-FLLs-in-Classic-module-resolution-mode.js @@ -303,6 +303,10 @@ Info seq [hh:mm:ss:mss] Running: /users/username/projects/proj/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /users/username/projects/proj/tsconfig.json Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/proj/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/proj/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/proj/node_modules/debug/package.json 2000 undefined Project: /users/username/projects/proj/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/proj/node_modules/package.json 2000 undefined Project: /users/username/projects/proj/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/proj/package.json 2000 undefined Project: /users/username/projects/proj/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/package.json 2000 undefined Project: /users/username/projects/proj/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /users/username/projects/node_modules 1 undefined Project: /users/username/projects/proj/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /users/username/projects/node_modules 1 undefined Project: /users/username/projects/proj/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /users/username/projects/proj/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms @@ -359,8 +363,16 @@ After running Timeout callback:: count: 0 PolledWatches:: /users/username/projects/node_modules/@types: {"pollingInterval":500} +/users/username/projects/package.json: *new* + {"pollingInterval":2000} /users/username/projects/proj/node_modules/@types: {"pollingInterval":500} +/users/username/projects/proj/node_modules/debug/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/proj/node_modules/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/proj/package.json: *new* + {"pollingInterval":2000} PolledWatches *deleted*:: /users/username/projects/node_modules: diff --git a/tests/baselines/reference/tsserver/cachingFileSystemInformation/includes-the-parent-folder-FLLs-in-Node-module-resolution-mode.js b/tests/baselines/reference/tsserver/cachingFileSystemInformation/includes-the-parent-folder-FLLs-in-Node-module-resolution-mode.js index 9ad922afa95..75ec4cf31cc 100644 --- a/tests/baselines/reference/tsserver/cachingFileSystemInformation/includes-the-parent-folder-FLLs-in-Node-module-resolution-mode.js +++ b/tests/baselines/reference/tsserver/cachingFileSystemInformation/includes-the-parent-folder-FLLs-in-Node-module-resolution-mode.js @@ -303,6 +303,10 @@ Info seq [hh:mm:ss:mss] Running: /users/username/projects/proj/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /users/username/projects/proj/tsconfig.json Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/proj/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/proj/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/proj/node_modules/debug/package.json 2000 undefined Project: /users/username/projects/proj/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/proj/node_modules/package.json 2000 undefined Project: /users/username/projects/proj/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/proj/package.json 2000 undefined Project: /users/username/projects/proj/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/package.json 2000 undefined Project: /users/username/projects/proj/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /users/username/projects/node_modules 1 undefined Project: /users/username/projects/proj/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /users/username/projects/node_modules 1 undefined Project: /users/username/projects/proj/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /users/username/projects/proj/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms @@ -359,8 +363,16 @@ After running Timeout callback:: count: 0 PolledWatches:: /users/username/projects/node_modules/@types: {"pollingInterval":500} +/users/username/projects/package.json: *new* + {"pollingInterval":2000} /users/username/projects/proj/node_modules/@types: {"pollingInterval":500} +/users/username/projects/proj/node_modules/debug/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/proj/node_modules/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/proj/package.json: *new* + {"pollingInterval":2000} PolledWatches *deleted*:: /users/username/projects/node_modules: diff --git a/tests/baselines/reference/tsserver/cachingFileSystemInformation/when-node_modules-dont-receive-event-for-the-@types-file-addition.js b/tests/baselines/reference/tsserver/cachingFileSystemInformation/when-node_modules-dont-receive-event-for-the-@types-file-addition.js index 8dcd5b436aa..05cc38d055f 100644 --- a/tests/baselines/reference/tsserver/cachingFileSystemInformation/when-node_modules-dont-receive-event-for-the-@types-file-addition.js +++ b/tests/baselines/reference/tsserver/cachingFileSystemInformation/when-node_modules-dont-receive-event-for-the-@types-file-addition.js @@ -268,6 +268,11 @@ Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earli Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/folder/myproject/tsconfig.json Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/folder/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/folder/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/folder/myproject/node_modules/@types/debug/package.json 2000 undefined Project: /user/username/folder/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/folder/myproject/node_modules/@types/package.json 2000 undefined Project: /user/username/folder/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/folder/myproject/node_modules/package.json 2000 undefined Project: /user/username/folder/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/folder/myproject/package.json 2000 undefined Project: /user/username/folder/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/folder/package.json 2000 undefined Project: /user/username/folder/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/folder/node_modules 1 undefined Project: /user/username/folder/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/folder/node_modules 1 undefined Project: /user/username/folder/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/folder/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms @@ -290,8 +295,18 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- After running Timeout callback:: count: 1 PolledWatches:: +/user/username/folder/myproject/node_modules/@types/debug/package.json: *new* + {"pollingInterval":2000} +/user/username/folder/myproject/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/user/username/folder/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/folder/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/folder/node_modules/@types: {"pollingInterval":500} +/user/username/folder/package.json: *new* + {"pollingInterval":2000} PolledWatches *deleted*:: /user/username/folder/node_modules: diff --git a/tests/baselines/reference/tsserver/configuredProjects/failed-lookup-locations-uses-parent-most-node_modules-directory.js b/tests/baselines/reference/tsserver/configuredProjects/failed-lookup-locations-uses-parent-most-node_modules-directory.js index 4db6182c844..a5e9c1ec37d 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/failed-lookup-locations-uses-parent-most-node_modules-directory.js +++ b/tests/baselines/reference/tsserver/configuredProjects/failed-lookup-locations-uses-parent-most-node_modules-directory.js @@ -73,6 +73,12 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/ro Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/rootfolder/a/b/src/node_modules 1 undefined Project: /user/username/rootfolder/a/b/src/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/rootfolder/a/b/node_modules 1 undefined Project: /user/username/rootfolder/a/b/src/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/rootfolder/a/b/node_modules 1 undefined Project: /user/username/rootfolder/a/b/src/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/a/b/node_modules/module2/package.json 2000 undefined Project: /user/username/rootfolder/a/b/src/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/a/b/node_modules/package.json 2000 undefined Project: /user/username/rootfolder/a/b/src/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/a/b/package.json 2000 undefined Project: /user/username/rootfolder/a/b/src/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/a/package.json 2000 undefined Project: /user/username/rootfolder/a/b/src/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/package.json 2000 undefined Project: /user/username/rootfolder/a/b/src/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/a/b/node_modules/module1/package.json 2000 undefined Project: /user/username/rootfolder/a/b/src/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/rootfolder/a/b/src/node_modules/@types 1 undefined Project: /user/username/rootfolder/a/b/src/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/rootfolder/a/b/src/node_modules/@types 1 undefined Project: /user/username/rootfolder/a/b/src/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/rootfolder/a/b/node_modules/@types 1 undefined Project: /user/username/rootfolder/a/b/src/tsconfig.json WatchType: Type roots @@ -184,14 +190,26 @@ After request PolledWatches:: /user/username/rootfolder/a/b/node_modules/@types: *new* {"pollingInterval":500} +/user/username/rootfolder/a/b/node_modules/module1/package.json: *new* + {"pollingInterval":2000} +/user/username/rootfolder/a/b/node_modules/module2/package.json: *new* + {"pollingInterval":2000} +/user/username/rootfolder/a/b/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/rootfolder/a/b/package.json: *new* + {"pollingInterval":2000} /user/username/rootfolder/a/b/src/node_modules: *new* {"pollingInterval":500} /user/username/rootfolder/a/b/src/node_modules/@types: *new* {"pollingInterval":500} /user/username/rootfolder/a/node_modules/@types: *new* {"pollingInterval":500} +/user/username/rootfolder/a/package.json: *new* + {"pollingInterval":2000} /user/username/rootfolder/node_modules/@types: *new* {"pollingInterval":500} +/user/username/rootfolder/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tsserver/configuredProjects/should-be-able-to-handle-@types-if-input-file-list-is-empty.js b/tests/baselines/reference/tsserver/configuredProjects/should-be-able-to-handle-@types-if-input-file-list-is-empty.js index 9ece68df657..6c8e085f94a 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/should-be-able-to-handle-@types-if-input-file-list-is-empty.js +++ b/tests/baselines/reference/tsserver/configuredProjects/should-be-able-to-handle-@types-if-input-file-list-is-empty.js @@ -131,6 +131,8 @@ Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/tsconfig.json Proje Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /a/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /a/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/node_modules/@types/typings/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/node_modules/@types/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) @@ -175,6 +177,10 @@ After request PolledWatches:: /a/lib/lib.d.ts: *new* {"pollingInterval":500} +/a/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/node_modules/@types/typings/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/tsconfig.json: *new* diff --git a/tests/baselines/reference/tsserver/configuredProjects/should-properly-handle-module-resolution-changes-in-config-file.js b/tests/baselines/reference/tsserver/configuredProjects/should-properly-handle-module-resolution-changes-in-config-file.js index f72b135ae56..f1c639ec516 100644 --- a/tests/baselines/reference/tsserver/configuredProjects/should-properly-handle-module-resolution-changes-in-config-file.js +++ b/tests/baselines/reference/tsserver/configuredProjects/should-properly-handle-module-resolution-changes-in-config-file.js @@ -58,6 +58,7 @@ Info seq [hh:mm:ss:mss] Config: /a/b/tsconfig.json : { Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /a/b/tsconfig.json Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/node_modules/package.json 2000 undefined Project: /a/b/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /a/b/tsconfig.json WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /a/b/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/a/b/tsconfig.json' (Configured) @@ -202,6 +203,8 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/a/b/node_modules/package.json: *new* + {"pollingInterval":2000} /a/lib/lib.d.ts: *new* {"pollingInterval":500} @@ -262,6 +265,8 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/a/b/node_modules/package.json: + {"pollingInterval":2000} /a/lib/lib.d.ts: {"pollingInterval":500} @@ -411,6 +416,7 @@ Info seq [hh:mm:ss:mss] Config: /a/b/tsconfig.json : { } } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /a/b/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /a/b/node_modules/package.json 2000 undefined Project: /a/b/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /a/b/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/a/b/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) @@ -508,6 +514,7 @@ Info seq [hh:mm:ss:mss] Projects: Info seq [hh:mm:ss:mss] FileName: /a/module1.ts ProjectRootPath: undefined Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1*,/a/b/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject2* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject2* WatchType: Missing file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /a/b/node_modules/node_modules/@types 1 undefined Project: /dev/null/inferredProject2* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /a/b/node_modules/node_modules/@types 1 undefined Project: /dev/null/inferredProject2* WatchType: Type roots @@ -569,9 +576,15 @@ After running Timeout callback:: count: 0 PolledWatches:: /a/b/node_modules/node_modules/@types: *new* {"pollingInterval":500} +/a/b/node_modules/package.json: + {"pollingInterval":2000} *new* /a/lib/lib.d.ts: {"pollingInterval":500} +PolledWatches *deleted*:: +/a/b/node_modules/package.json: + {"pollingInterval":2000} + FsWatches:: /a/b/tsconfig.json: {} diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-project-is-not-at-root-level.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-project-is-not-at-root-level.js index dfae8f63aea..9a71fcaea35 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-project-is-not-at-root-level.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/when-event-handler-is-set-in-the-session-and-project-is-not-at-root-level.js @@ -380,6 +380,11 @@ Info seq [hh:mm:ss:mss] Running: /user/username/rootfolder/otherfolder/a/b/proj Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/a/b/node_modules/package.json 2000 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/a/b/package.json 2000 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/a/package.json 2000 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/package.json 2000 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/package.json 2000 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/rootfolder/otherfolder/a/node_modules 1 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/rootfolder/otherfolder/a/node_modules 1 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/rootfolder/otherfolder/node_modules 1 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: Failed Lookup Locations @@ -436,8 +441,18 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 0 PolledWatches:: +/user/username/rootfolder/otherfolder/a/b/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/rootfolder/otherfolder/a/b/package.json: *new* + {"pollingInterval":2000} /user/username/rootfolder/otherfolder/a/b/project/node_modules: {"pollingInterval":500} +/user/username/rootfolder/otherfolder/a/package.json: *new* + {"pollingInterval":2000} +/user/username/rootfolder/otherfolder/package.json: *new* + {"pollingInterval":2000} +/user/username/rootfolder/package.json: *new* + {"pollingInterval":2000} PolledWatches *deleted*:: /user/username/rootfolder/node_modules: diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-project-is-not-at-root-level.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-project-is-not-at-root-level.js index e49a9fe35b3..1e034b6ce89 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-project-is-not-at-root-level.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/with-noGetErrOnBackgroundUpdate-and-project-is-not-at-root-level.js @@ -384,6 +384,11 @@ Info seq [hh:mm:ss:mss] Running: /user/username/rootfolder/otherfolder/a/b/proj Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/a/b/node_modules/package.json 2000 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/a/b/package.json 2000 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/a/package.json 2000 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/package.json 2000 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/package.json 2000 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/rootfolder/otherfolder/a/node_modules 1 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/rootfolder/otherfolder/a/node_modules 1 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/rootfolder/otherfolder/node_modules 1 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: Failed Lookup Locations @@ -441,8 +446,18 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 0 PolledWatches:: +/user/username/rootfolder/otherfolder/a/b/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/rootfolder/otherfolder/a/b/package.json: *new* + {"pollingInterval":2000} /user/username/rootfolder/otherfolder/a/b/project/node_modules: {"pollingInterval":500} +/user/username/rootfolder/otherfolder/a/package.json: *new* + {"pollingInterval":2000} +/user/username/rootfolder/otherfolder/package.json: *new* + {"pollingInterval":2000} +/user/username/rootfolder/package.json: *new* + {"pollingInterval":2000} PolledWatches *deleted*:: /user/username/rootfolder/node_modules: diff --git a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-project-is-not-at-root-level.js b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-project-is-not-at-root-level.js index 20cf9c1ab3b..c98e063ab18 100644 --- a/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-project-is-not-at-root-level.js +++ b/tests/baselines/reference/tsserver/events/projectUpdatedInBackground/without-noGetErrOnBackgroundUpdate-and-project-is-not-at-root-level.js @@ -371,6 +371,11 @@ Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles* Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/a/b/node_modules/package.json 2000 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/a/b/package.json 2000 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/a/package.json 2000 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/otherfolder/package.json 2000 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/rootfolder/package.json 2000 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/rootfolder/otherfolder/a/node_modules 1 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/rootfolder/otherfolder/a/node_modules 1 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/rootfolder/otherfolder/node_modules 1 undefined Project: /user/username/rootfolder/otherfolder/a/b/project/tsconfig.json WatchType: Failed Lookup Locations @@ -409,8 +414,18 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 1 PolledWatches:: +/user/username/rootfolder/otherfolder/a/b/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/rootfolder/otherfolder/a/b/package.json: *new* + {"pollingInterval":2000} /user/username/rootfolder/otherfolder/a/b/project/node_modules: {"pollingInterval":500} +/user/username/rootfolder/otherfolder/a/package.json: *new* + {"pollingInterval":2000} +/user/username/rootfolder/otherfolder/package.json: *new* + {"pollingInterval":2000} +/user/username/rootfolder/package.json: *new* + {"pollingInterval":2000} PolledWatches *deleted*:: /user/username/rootfolder/node_modules: diff --git a/tests/baselines/reference/tsserver/events/watchEvents/canUseWatchEvents-on-windows.js b/tests/baselines/reference/tsserver/events/watchEvents/canUseWatchEvents-on-windows.js index 4419e7303d6..dbeabd3df4d 100644 --- a/tests/baselines/reference/tsserver/events/watchEvents/canUseWatchEvents-on-windows.js +++ b/tests/baselines/reference/tsserver/events/watchEvents/canUseWatchEvents-on-windows.js @@ -141,6 +141,54 @@ Info seq [hh:mm:ss:mss] event: Custom watchFile:: Added:: {"id":6,"path":"c:/a/lib/lib.d.ts"} Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: c:/projects/myproject/node_modules 1 undefined Project: c:/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: c:/projects/myproject/node_modules 1 undefined Project: c:/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/projects/myproject/node_modules/something/package.json 2000 undefined Project: c:/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 7, + "path": "c:/projects/myproject/node_modules/something/package.json" + } + } +Custom watchFile:: Added:: {"id":7,"path":"c:/projects/myproject/node_modules/something/package.json"} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/projects/myproject/node_modules/package.json 2000 undefined Project: c:/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 8, + "path": "c:/projects/myproject/node_modules/package.json" + } + } +Custom watchFile:: Added:: {"id":8,"path":"c:/projects/myproject/node_modules/package.json"} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/projects/myproject/package.json 2000 undefined Project: c:/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 9, + "path": "c:/projects/myproject/package.json" + } + } +Custom watchFile:: Added:: {"id":9,"path":"c:/projects/myproject/package.json"} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/projects/package.json 2000 undefined Project: c:/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 10, + "path": "c:/projects/package.json" + } + } +Custom watchFile:: Added:: {"id":10,"path":"c:/projects/package.json"} Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: c:/projects/myproject/node_modules/@types 1 undefined Project: c:/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] event: { @@ -148,13 +196,13 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "createDirectoryWatcher", "body": { - "id": 7, + "id": 11, "path": "c:/projects/myproject/node_modules/@types", "recursive": true, "ignoreUpdate": true } } -Custom watchDirectory:: Added:: {"id":7,"path":"c:/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true} +Custom watchDirectory:: Added:: {"id":11,"path":"c:/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true} Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: c:/projects/myproject/node_modules/@types 1 undefined Project: c:/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: c:/projects/node_modules/@types 1 undefined Project: c:/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] event: @@ -163,13 +211,13 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "createDirectoryWatcher", "body": { - "id": 8, + "id": 12, "path": "c:/projects/node_modules/@types", "recursive": true, "ignoreUpdate": true } } -Custom watchDirectory:: Added:: {"id":8,"path":"c:/projects/node_modules/@types","recursive":true,"ignoreUpdate":true} +Custom watchDirectory:: Added:: {"id":12,"path":"c:/projects/node_modules/@types","recursive":true,"ignoreUpdate":true} Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: c:/projects/node_modules/@types 1 undefined Project: c:/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: c:/projects/myproject/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project 'c:/projects/myproject/tsconfig.json' (Configured) @@ -281,8 +329,16 @@ c:/projects/myproject/b.ts: *new* {"event":{"id":3,"path":"c:/projects/myproject/b.ts"}} c:/projects/myproject/m.ts: *new* {"event":{"id":4,"path":"c:/projects/myproject/m.ts"}} +c:/projects/myproject/node_modules/package.json: *new* + {"event":{"id":8,"path":"c:/projects/myproject/node_modules/package.json"}} +c:/projects/myproject/node_modules/something/package.json: *new* + {"event":{"id":7,"path":"c:/projects/myproject/node_modules/something/package.json"}} +c:/projects/myproject/package.json: *new* + {"event":{"id":9,"path":"c:/projects/myproject/package.json"}} c:/projects/myproject/tsconfig.json: *new* {"event":{"id":1,"path":"c:/projects/myproject/tsconfig.json"}} +c:/projects/package.json: *new* + {"event":{"id":10,"path":"c:/projects/package.json"}} FsWatchesRecursive:: c:/projects/myproject: *new* @@ -290,9 +346,9 @@ c:/projects/myproject: *new* c:/projects/myproject/node_modules: *new* {"event":{"id":5,"path":"c:/projects/myproject/node_modules","recursive":true}} c:/projects/myproject/node_modules/@types: *new* - {"event":{"id":7,"path":"c:/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":11,"path":"c:/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} c:/projects/node_modules/@types: *new* - {"event":{"id":8,"path":"c:/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":12,"path":"c:/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} Projects:: c:/projects/myproject/tsconfig.json (Configured) *new* @@ -372,11 +428,11 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "createFileWatcher", "body": { - "id": 9, + "id": 13, "path": "c:/projects/myproject/c.ts" } } -Custom watchFile:: Added:: {"id":9,"path":"c:/projects/myproject/c.ts"} +Custom watchFile:: Added:: {"id":13,"path":"c:/projects/myproject/c.ts"} Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: c:/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: c:/projects/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project 'c:/projects/myproject/tsconfig.json' (Configured) @@ -440,11 +496,19 @@ c:/a/lib/lib.d.ts: c:/projects/myproject/b.ts: {"event":{"id":3,"path":"c:/projects/myproject/b.ts"}} c:/projects/myproject/c.ts: *new* - {"event":{"id":9,"path":"c:/projects/myproject/c.ts"}} + {"event":{"id":13,"path":"c:/projects/myproject/c.ts"}} c:/projects/myproject/m.ts: {"event":{"id":4,"path":"c:/projects/myproject/m.ts"}} +c:/projects/myproject/node_modules/package.json: + {"event":{"id":8,"path":"c:/projects/myproject/node_modules/package.json"}} +c:/projects/myproject/node_modules/something/package.json: + {"event":{"id":7,"path":"c:/projects/myproject/node_modules/something/package.json"}} +c:/projects/myproject/package.json: + {"event":{"id":9,"path":"c:/projects/myproject/package.json"}} c:/projects/myproject/tsconfig.json: {"event":{"id":1,"path":"c:/projects/myproject/tsconfig.json"}} +c:/projects/package.json: + {"event":{"id":10,"path":"c:/projects/package.json"}} FsWatchesRecursive:: c:/projects/myproject: @@ -452,9 +516,9 @@ c:/projects/myproject: c:/projects/myproject/node_modules: {"event":{"id":5,"path":"c:/projects/myproject/node_modules","recursive":true}} c:/projects/myproject/node_modules/@types: - {"event":{"id":7,"path":"c:/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":11,"path":"c:/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} c:/projects/node_modules/@types: - {"event":{"id":8,"path":"c:/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":12,"path":"c:/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} Projects:: c:/projects/myproject/tsconfig.json (Configured) *changed* @@ -681,11 +745,19 @@ PolledWatches:: c:/a/lib/lib.d.ts: {"event":{"id":6,"path":"c:/a/lib/lib.d.ts"}} c:/projects/myproject/c.ts: - {"event":{"id":9,"path":"c:/projects/myproject/c.ts"}} + {"event":{"id":13,"path":"c:/projects/myproject/c.ts"}} c:/projects/myproject/m.ts: {"event":{"id":4,"path":"c:/projects/myproject/m.ts"}} +c:/projects/myproject/node_modules/package.json: + {"event":{"id":8,"path":"c:/projects/myproject/node_modules/package.json"}} +c:/projects/myproject/node_modules/something/package.json: + {"event":{"id":7,"path":"c:/projects/myproject/node_modules/something/package.json"}} +c:/projects/myproject/package.json: + {"event":{"id":9,"path":"c:/projects/myproject/package.json"}} c:/projects/myproject/tsconfig.json: {"event":{"id":1,"path":"c:/projects/myproject/tsconfig.json"}} +c:/projects/package.json: + {"event":{"id":10,"path":"c:/projects/package.json"}} PolledWatches *deleted*:: c:/projects/myproject/b.ts: @@ -697,9 +769,9 @@ c:/projects/myproject: c:/projects/myproject/node_modules: {"event":{"id":5,"path":"c:/projects/myproject/node_modules","recursive":true}} c:/projects/myproject/node_modules/@types: - {"event":{"id":7,"path":"c:/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":11,"path":"c:/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} c:/projects/node_modules/@types: - {"event":{"id":8,"path":"c:/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":12,"path":"c:/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} ScriptInfos:: c:/a/lib/lib.d.ts @@ -746,11 +818,11 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "createFileWatcher", "body": { - "id": 10, + "id": 14, "path": "c:/projects/myproject/b.ts" } } -Custom watchFile:: Added:: {"id":10,"path":"c:/projects/myproject/b.ts"} +Custom watchFile:: Added:: {"id":14,"path":"c:/projects/myproject/b.ts"} Info seq [hh:mm:ss:mss] Project 'c:/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (6) @@ -772,13 +844,21 @@ PolledWatches:: c:/a/lib/lib.d.ts: {"event":{"id":6,"path":"c:/a/lib/lib.d.ts"}} c:/projects/myproject/b.ts: *new* - {"event":{"id":10,"path":"c:/projects/myproject/b.ts"}} + {"event":{"id":14,"path":"c:/projects/myproject/b.ts"}} c:/projects/myproject/c.ts: - {"event":{"id":9,"path":"c:/projects/myproject/c.ts"}} + {"event":{"id":13,"path":"c:/projects/myproject/c.ts"}} c:/projects/myproject/m.ts: {"event":{"id":4,"path":"c:/projects/myproject/m.ts"}} +c:/projects/myproject/node_modules/package.json: + {"event":{"id":8,"path":"c:/projects/myproject/node_modules/package.json"}} +c:/projects/myproject/node_modules/something/package.json: + {"event":{"id":7,"path":"c:/projects/myproject/node_modules/something/package.json"}} +c:/projects/myproject/package.json: + {"event":{"id":9,"path":"c:/projects/myproject/package.json"}} c:/projects/myproject/tsconfig.json: {"event":{"id":1,"path":"c:/projects/myproject/tsconfig.json"}} +c:/projects/package.json: + {"event":{"id":10,"path":"c:/projects/package.json"}} FsWatchesRecursive:: c:/projects/myproject: @@ -786,9 +866,9 @@ c:/projects/myproject: c:/projects/myproject/node_modules: {"event":{"id":5,"path":"c:/projects/myproject/node_modules","recursive":true}} c:/projects/myproject/node_modules/@types: - {"event":{"id":7,"path":"c:/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":11,"path":"c:/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} c:/projects/node_modules/@types: - {"event":{"id":8,"path":"c:/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":12,"path":"c:/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} ScriptInfos:: c:/a/lib/lib.d.ts @@ -817,7 +897,7 @@ c:/projects/myproject/node_modules/something/index.d.ts containingProjects: 1 c:/projects/myproject/tsconfig.json -Custom watchFile:: Triggered:: {"id":9,"path":"c:/projects/myproject/c.ts"}:: c:\projects\myproject\c.ts updated +Custom watchFile:: Triggered:: {"id":13,"path":"c:/projects/myproject/c.ts"}:: c:\projects\myproject\c.ts updated Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"c:/projects/myproject","recursive":true,"ignoreUpdate":true}:: c:\projects\myproject\c.ts updated Before running Timeout callback:: count: 0 //// [c:/projects/myproject/c.ts] @@ -832,7 +912,7 @@ Info seq [hh:mm:ss:mss] request: { "command": "watchChange", "arguments": { - "id": 9, + "id": 13, "updated": [ "c:\\projects\\myproject\\c.ts" ] @@ -973,7 +1053,7 @@ export class a { prop = "hello"; foo() { return this.prop; } } After running Timeout callback:: count: 0 -Custom watchFile:: Triggered:: {"id":9,"path":"c:/projects/myproject/c.ts"}:: c:\projects\myproject\c.ts updated +Custom watchFile:: Triggered:: {"id":13,"path":"c:/projects/myproject/c.ts"}:: c:\projects\myproject\c.ts updated Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"c:/projects/myproject","recursive":true,"ignoreUpdate":true}:: c:\projects\myproject\c.ts updated Before running Timeout callback:: count: 0 //// [c:/projects/myproject/c.ts] @@ -1005,7 +1085,7 @@ Info seq [hh:mm:ss:mss] request: ] }, { - "id": 9, + "id": 13, "updated": [ "c:\\projects\\myproject\\c.ts" ] @@ -1077,11 +1157,11 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "createFileWatcher", "body": { - "id": 11, + "id": 15, "path": "c:/projects/myproject/d.ts" } } -Custom watchFile:: Added:: {"id":11,"path":"c:/projects/myproject/d.ts"} +Custom watchFile:: Added:: {"id":15,"path":"c:/projects/myproject/d.ts"} Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/projects/myproject/e.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] event: { @@ -1089,11 +1169,11 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "createFileWatcher", "body": { - "id": 12, + "id": 16, "path": "c:/projects/myproject/e.ts" } } -Custom watchFile:: Added:: {"id":12,"path":"c:/projects/myproject/e.ts"} +Custom watchFile:: Added:: {"id":16,"path":"c:/projects/myproject/e.ts"} Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: c:/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: c:/projects/myproject/tsconfig.json projectStateVersion: 5 projectProgramVersion: 2 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project 'c:/projects/myproject/tsconfig.json' (Configured) @@ -1161,17 +1241,25 @@ PolledWatches:: c:/a/lib/lib.d.ts: {"event":{"id":6,"path":"c:/a/lib/lib.d.ts"}} c:/projects/myproject/b.ts: - {"event":{"id":10,"path":"c:/projects/myproject/b.ts"}} + {"event":{"id":14,"path":"c:/projects/myproject/b.ts"}} c:/projects/myproject/c.ts: - {"event":{"id":9,"path":"c:/projects/myproject/c.ts"}} + {"event":{"id":13,"path":"c:/projects/myproject/c.ts"}} c:/projects/myproject/d.ts: *new* - {"event":{"id":11,"path":"c:/projects/myproject/d.ts"}} + {"event":{"id":15,"path":"c:/projects/myproject/d.ts"}} c:/projects/myproject/e.ts: *new* - {"event":{"id":12,"path":"c:/projects/myproject/e.ts"}} + {"event":{"id":16,"path":"c:/projects/myproject/e.ts"}} c:/projects/myproject/m.ts: {"event":{"id":4,"path":"c:/projects/myproject/m.ts"}} +c:/projects/myproject/node_modules/package.json: + {"event":{"id":8,"path":"c:/projects/myproject/node_modules/package.json"}} +c:/projects/myproject/node_modules/something/package.json: + {"event":{"id":7,"path":"c:/projects/myproject/node_modules/something/package.json"}} +c:/projects/myproject/package.json: + {"event":{"id":9,"path":"c:/projects/myproject/package.json"}} c:/projects/myproject/tsconfig.json: {"event":{"id":1,"path":"c:/projects/myproject/tsconfig.json"}} +c:/projects/package.json: + {"event":{"id":10,"path":"c:/projects/package.json"}} FsWatchesRecursive:: c:/projects/myproject: @@ -1179,9 +1267,9 @@ c:/projects/myproject: c:/projects/myproject/node_modules: {"event":{"id":5,"path":"c:/projects/myproject/node_modules","recursive":true}} c:/projects/myproject/node_modules/@types: - {"event":{"id":7,"path":"c:/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":11,"path":"c:/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} c:/projects/node_modules/@types: - {"event":{"id":8,"path":"c:/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":12,"path":"c:/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} Projects:: c:/projects/myproject/tsconfig.json (Configured) *changed* diff --git a/tests/baselines/reference/tsserver/events/watchEvents/canUseWatchEvents-without-canUseEvents.js b/tests/baselines/reference/tsserver/events/watchEvents/canUseWatchEvents-without-canUseEvents.js index 1dc5c284f19..423aed5deb9 100644 --- a/tests/baselines/reference/tsserver/events/watchEvents/canUseWatchEvents-without-canUseEvents.js +++ b/tests/baselines/reference/tsserver/events/watchEvents/canUseWatchEvents-without-canUseEvents.js @@ -62,6 +62,10 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /us Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/something/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -111,8 +115,16 @@ After request PolledWatches:: /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/something/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -228,8 +240,16 @@ After running Timeout callback:: count: 0 PolledWatches:: /user/username/projects/myproject/node_modules/@types: {"pollingInterval":500} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/something/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -491,8 +511,16 @@ After request PolledWatches:: /user/username/projects/myproject/node_modules/@types: {"pollingInterval":500} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/something/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -573,8 +601,16 @@ After request PolledWatches:: /user/username/projects/myproject/node_modules/@types: {"pollingInterval":500} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/something/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -839,8 +875,16 @@ After running Timeout callback:: count: 0 PolledWatches:: /user/username/projects/myproject/node_modules/@types: {"pollingInterval":500} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/something/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -1097,8 +1141,16 @@ After running Timeout callback:: count: 0 PolledWatches:: /user/username/projects/myproject/node_modules/@types: {"pollingInterval":500} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/something/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: diff --git a/tests/baselines/reference/tsserver/events/watchEvents/canUseWatchEvents.js b/tests/baselines/reference/tsserver/events/watchEvents/canUseWatchEvents.js index b56faa94d19..f0e4d7fd84f 100644 --- a/tests/baselines/reference/tsserver/events/watchEvents/canUseWatchEvents.js +++ b/tests/baselines/reference/tsserver/events/watchEvents/canUseWatchEvents.js @@ -141,6 +141,54 @@ Info seq [hh:mm:ss:mss] event: Custom watchFile:: Added:: {"id":6,"path":"/a/lib/lib.d.ts"} Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/something/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 7, + "path": "/user/username/projects/myproject/node_modules/something/package.json" + } + } +Custom watchFile:: Added:: {"id":7,"path":"/user/username/projects/myproject/node_modules/something/package.json"} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 8, + "path": "/user/username/projects/myproject/node_modules/package.json" + } + } +Custom watchFile:: Added:: {"id":8,"path":"/user/username/projects/myproject/node_modules/package.json"} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 9, + "path": "/user/username/projects/myproject/package.json" + } + } +Custom watchFile:: Added:: {"id":9,"path":"/user/username/projects/myproject/package.json"} +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] event: + { + "seq": 0, + "type": "event", + "event": "createFileWatcher", + "body": { + "id": 10, + "path": "/user/username/projects/package.json" + } + } +Custom watchFile:: Added:: {"id":10,"path":"/user/username/projects/package.json"} Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] event: { @@ -148,13 +196,13 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "createDirectoryWatcher", "body": { - "id": 7, + "id": 11, "path": "/user/username/projects/myproject/node_modules/@types", "recursive": true, "ignoreUpdate": true } } -Custom watchDirectory:: Added:: {"id":7,"path":"/user/username/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true} +Custom watchDirectory:: Added:: {"id":11,"path":"/user/username/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true} Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] event: @@ -163,13 +211,13 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "createDirectoryWatcher", "body": { - "id": 8, + "id": 12, "path": "/user/username/projects/node_modules/@types", "recursive": true, "ignoreUpdate": true } } -Custom watchDirectory:: Added:: {"id":8,"path":"/user/username/projects/node_modules/@types","recursive":true,"ignoreUpdate":true} +Custom watchDirectory:: Added:: {"id":12,"path":"/user/username/projects/node_modules/@types","recursive":true,"ignoreUpdate":true} Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) @@ -281,8 +329,16 @@ PolledWatches:: {"event":{"id":3,"path":"/user/username/projects/myproject/b.ts"}} /user/username/projects/myproject/m.ts: *new* {"event":{"id":4,"path":"/user/username/projects/myproject/m.ts"}} +/user/username/projects/myproject/node_modules/package.json: *new* + {"event":{"id":8,"path":"/user/username/projects/myproject/node_modules/package.json"}} +/user/username/projects/myproject/node_modules/something/package.json: *new* + {"event":{"id":7,"path":"/user/username/projects/myproject/node_modules/something/package.json"}} +/user/username/projects/myproject/package.json: *new* + {"event":{"id":9,"path":"/user/username/projects/myproject/package.json"}} /user/username/projects/myproject/tsconfig.json: *new* {"event":{"id":1,"path":"/user/username/projects/myproject/tsconfig.json"}} +/user/username/projects/package.json: *new* + {"event":{"id":10,"path":"/user/username/projects/package.json"}} FsWatchesRecursive:: /user/username/projects/myproject: *new* @@ -290,9 +346,9 @@ FsWatchesRecursive:: /user/username/projects/myproject/node_modules: *new* {"event":{"id":5,"path":"/user/username/projects/myproject/node_modules","recursive":true}} /user/username/projects/myproject/node_modules/@types: *new* - {"event":{"id":7,"path":"/user/username/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":11,"path":"/user/username/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} /user/username/projects/node_modules/@types: *new* - {"event":{"id":8,"path":"/user/username/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":12,"path":"/user/username/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} Projects:: /user/username/projects/myproject/tsconfig.json (Configured) *new* @@ -372,11 +428,11 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "createFileWatcher", "body": { - "id": 9, + "id": 13, "path": "/user/username/projects/myproject/c.ts" } } -Custom watchFile:: Added:: {"id":9,"path":"/user/username/projects/myproject/c.ts"} +Custom watchFile:: Added:: {"id":13,"path":"/user/username/projects/myproject/c.ts"} Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) @@ -440,11 +496,19 @@ PolledWatches:: /user/username/projects/myproject/b.ts: {"event":{"id":3,"path":"/user/username/projects/myproject/b.ts"}} /user/username/projects/myproject/c.ts: *new* - {"event":{"id":9,"path":"/user/username/projects/myproject/c.ts"}} + {"event":{"id":13,"path":"/user/username/projects/myproject/c.ts"}} /user/username/projects/myproject/m.ts: {"event":{"id":4,"path":"/user/username/projects/myproject/m.ts"}} +/user/username/projects/myproject/node_modules/package.json: + {"event":{"id":8,"path":"/user/username/projects/myproject/node_modules/package.json"}} +/user/username/projects/myproject/node_modules/something/package.json: + {"event":{"id":7,"path":"/user/username/projects/myproject/node_modules/something/package.json"}} +/user/username/projects/myproject/package.json: + {"event":{"id":9,"path":"/user/username/projects/myproject/package.json"}} /user/username/projects/myproject/tsconfig.json: {"event":{"id":1,"path":"/user/username/projects/myproject/tsconfig.json"}} +/user/username/projects/package.json: + {"event":{"id":10,"path":"/user/username/projects/package.json"}} FsWatchesRecursive:: /user/username/projects/myproject: @@ -452,9 +516,9 @@ FsWatchesRecursive:: /user/username/projects/myproject/node_modules: {"event":{"id":5,"path":"/user/username/projects/myproject/node_modules","recursive":true}} /user/username/projects/myproject/node_modules/@types: - {"event":{"id":7,"path":"/user/username/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":11,"path":"/user/username/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} /user/username/projects/node_modules/@types: - {"event":{"id":8,"path":"/user/username/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":12,"path":"/user/username/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} Projects:: /user/username/projects/myproject/tsconfig.json (Configured) *changed* @@ -681,11 +745,19 @@ PolledWatches:: /a/lib/lib.d.ts: {"event":{"id":6,"path":"/a/lib/lib.d.ts"}} /user/username/projects/myproject/c.ts: - {"event":{"id":9,"path":"/user/username/projects/myproject/c.ts"}} + {"event":{"id":13,"path":"/user/username/projects/myproject/c.ts"}} /user/username/projects/myproject/m.ts: {"event":{"id":4,"path":"/user/username/projects/myproject/m.ts"}} +/user/username/projects/myproject/node_modules/package.json: + {"event":{"id":8,"path":"/user/username/projects/myproject/node_modules/package.json"}} +/user/username/projects/myproject/node_modules/something/package.json: + {"event":{"id":7,"path":"/user/username/projects/myproject/node_modules/something/package.json"}} +/user/username/projects/myproject/package.json: + {"event":{"id":9,"path":"/user/username/projects/myproject/package.json"}} /user/username/projects/myproject/tsconfig.json: {"event":{"id":1,"path":"/user/username/projects/myproject/tsconfig.json"}} +/user/username/projects/package.json: + {"event":{"id":10,"path":"/user/username/projects/package.json"}} PolledWatches *deleted*:: /user/username/projects/myproject/b.ts: @@ -697,9 +769,9 @@ FsWatchesRecursive:: /user/username/projects/myproject/node_modules: {"event":{"id":5,"path":"/user/username/projects/myproject/node_modules","recursive":true}} /user/username/projects/myproject/node_modules/@types: - {"event":{"id":7,"path":"/user/username/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":11,"path":"/user/username/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} /user/username/projects/node_modules/@types: - {"event":{"id":8,"path":"/user/username/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":12,"path":"/user/username/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} ScriptInfos:: /a/lib/lib.d.ts @@ -746,11 +818,11 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "createFileWatcher", "body": { - "id": 10, + "id": 14, "path": "/user/username/projects/myproject/b.ts" } } -Custom watchFile:: Added:: {"id":10,"path":"/user/username/projects/myproject/b.ts"} +Custom watchFile:: Added:: {"id":14,"path":"/user/username/projects/myproject/b.ts"} Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (6) @@ -772,13 +844,21 @@ PolledWatches:: /a/lib/lib.d.ts: {"event":{"id":6,"path":"/a/lib/lib.d.ts"}} /user/username/projects/myproject/b.ts: *new* - {"event":{"id":10,"path":"/user/username/projects/myproject/b.ts"}} + {"event":{"id":14,"path":"/user/username/projects/myproject/b.ts"}} /user/username/projects/myproject/c.ts: - {"event":{"id":9,"path":"/user/username/projects/myproject/c.ts"}} + {"event":{"id":13,"path":"/user/username/projects/myproject/c.ts"}} /user/username/projects/myproject/m.ts: {"event":{"id":4,"path":"/user/username/projects/myproject/m.ts"}} +/user/username/projects/myproject/node_modules/package.json: + {"event":{"id":8,"path":"/user/username/projects/myproject/node_modules/package.json"}} +/user/username/projects/myproject/node_modules/something/package.json: + {"event":{"id":7,"path":"/user/username/projects/myproject/node_modules/something/package.json"}} +/user/username/projects/myproject/package.json: + {"event":{"id":9,"path":"/user/username/projects/myproject/package.json"}} /user/username/projects/myproject/tsconfig.json: {"event":{"id":1,"path":"/user/username/projects/myproject/tsconfig.json"}} +/user/username/projects/package.json: + {"event":{"id":10,"path":"/user/username/projects/package.json"}} FsWatchesRecursive:: /user/username/projects/myproject: @@ -786,9 +866,9 @@ FsWatchesRecursive:: /user/username/projects/myproject/node_modules: {"event":{"id":5,"path":"/user/username/projects/myproject/node_modules","recursive":true}} /user/username/projects/myproject/node_modules/@types: - {"event":{"id":7,"path":"/user/username/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":11,"path":"/user/username/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} /user/username/projects/node_modules/@types: - {"event":{"id":8,"path":"/user/username/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":12,"path":"/user/username/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} ScriptInfos:: /a/lib/lib.d.ts @@ -817,7 +897,7 @@ ScriptInfos:: containingProjects: 1 /user/username/projects/myproject/tsconfig.json -Custom watchFile:: Triggered:: {"id":9,"path":"/user/username/projects/myproject/c.ts"}:: /user/username/projects/myproject/c.ts updated +Custom watchFile:: Triggered:: {"id":13,"path":"/user/username/projects/myproject/c.ts"}:: /user/username/projects/myproject/c.ts updated Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/user/username/projects/myproject","recursive":true,"ignoreUpdate":true}:: /user/username/projects/myproject/c.ts updated Before running Timeout callback:: count: 0 //// [/user/username/projects/myproject/c.ts] @@ -832,7 +912,7 @@ Info seq [hh:mm:ss:mss] request: { "command": "watchChange", "arguments": { - "id": 9, + "id": 13, "updated": [ "/user/username/projects/myproject/c.ts" ] @@ -973,7 +1053,7 @@ export class a { prop = "hello"; foo() { return this.prop; } } After running Timeout callback:: count: 0 -Custom watchFile:: Triggered:: {"id":9,"path":"/user/username/projects/myproject/c.ts"}:: /user/username/projects/myproject/c.ts updated +Custom watchFile:: Triggered:: {"id":13,"path":"/user/username/projects/myproject/c.ts"}:: /user/username/projects/myproject/c.ts updated Custom watchDirectory:: Triggered Ignored:: {"id":2,"path":"/user/username/projects/myproject","recursive":true,"ignoreUpdate":true}:: /user/username/projects/myproject/c.ts updated Before running Timeout callback:: count: 0 //// [/user/username/projects/myproject/c.ts] @@ -1005,7 +1085,7 @@ Info seq [hh:mm:ss:mss] request: ] }, { - "id": 9, + "id": 13, "updated": [ "/user/username/projects/myproject/c.ts" ] @@ -1077,11 +1157,11 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "createFileWatcher", "body": { - "id": 11, + "id": 15, "path": "/user/username/projects/myproject/d.ts" } } -Custom watchFile:: Added:: {"id":11,"path":"/user/username/projects/myproject/d.ts"} +Custom watchFile:: Added:: {"id":15,"path":"/user/username/projects/myproject/d.ts"} Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/e.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] event: { @@ -1089,11 +1169,11 @@ Info seq [hh:mm:ss:mss] event: "type": "event", "event": "createFileWatcher", "body": { - "id": 12, + "id": 16, "path": "/user/username/projects/myproject/e.ts" } } -Custom watchFile:: Added:: {"id":12,"path":"/user/username/projects/myproject/e.ts"} +Custom watchFile:: Added:: {"id":16,"path":"/user/username/projects/myproject/e.ts"} Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json projectStateVersion: 5 projectProgramVersion: 2 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/user/username/projects/myproject/tsconfig.json' (Configured) @@ -1161,17 +1241,25 @@ PolledWatches:: /a/lib/lib.d.ts: {"event":{"id":6,"path":"/a/lib/lib.d.ts"}} /user/username/projects/myproject/b.ts: - {"event":{"id":10,"path":"/user/username/projects/myproject/b.ts"}} + {"event":{"id":14,"path":"/user/username/projects/myproject/b.ts"}} /user/username/projects/myproject/c.ts: - {"event":{"id":9,"path":"/user/username/projects/myproject/c.ts"}} + {"event":{"id":13,"path":"/user/username/projects/myproject/c.ts"}} /user/username/projects/myproject/d.ts: *new* - {"event":{"id":11,"path":"/user/username/projects/myproject/d.ts"}} + {"event":{"id":15,"path":"/user/username/projects/myproject/d.ts"}} /user/username/projects/myproject/e.ts: *new* - {"event":{"id":12,"path":"/user/username/projects/myproject/e.ts"}} + {"event":{"id":16,"path":"/user/username/projects/myproject/e.ts"}} /user/username/projects/myproject/m.ts: {"event":{"id":4,"path":"/user/username/projects/myproject/m.ts"}} +/user/username/projects/myproject/node_modules/package.json: + {"event":{"id":8,"path":"/user/username/projects/myproject/node_modules/package.json"}} +/user/username/projects/myproject/node_modules/something/package.json: + {"event":{"id":7,"path":"/user/username/projects/myproject/node_modules/something/package.json"}} +/user/username/projects/myproject/package.json: + {"event":{"id":9,"path":"/user/username/projects/myproject/package.json"}} /user/username/projects/myproject/tsconfig.json: {"event":{"id":1,"path":"/user/username/projects/myproject/tsconfig.json"}} +/user/username/projects/package.json: + {"event":{"id":10,"path":"/user/username/projects/package.json"}} FsWatchesRecursive:: /user/username/projects/myproject: @@ -1179,9 +1267,9 @@ FsWatchesRecursive:: /user/username/projects/myproject/node_modules: {"event":{"id":5,"path":"/user/username/projects/myproject/node_modules","recursive":true}} /user/username/projects/myproject/node_modules/@types: - {"event":{"id":7,"path":"/user/username/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":11,"path":"/user/username/projects/myproject/node_modules/@types","recursive":true,"ignoreUpdate":true}} /user/username/projects/node_modules/@types: - {"event":{"id":8,"path":"/user/username/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} + {"event":{"id":12,"path":"/user/username/projects/node_modules/@types","recursive":true,"ignoreUpdate":true}} Projects:: /user/username/projects/myproject/tsconfig.json (Configured) *changed* diff --git a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js index 1031918b6d2..ea319c3918a 100644 --- a/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js +++ b/tests/baselines/reference/tsserver/forceConsistentCasingInFileNames/when-file-is-included-from-multiple-places-with-different-casing.js @@ -89,6 +89,11 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /ho Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/fp-ts/lib/package.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/fp-ts/package.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/package.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/project/package.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project/node_modules/@types 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@types 1 undefined Project: /home/src/projects/project/tsconfig.json WatchType: Type roots @@ -210,8 +215,18 @@ After request PolledWatches:: /home/src/projects/node_modules/@types: *new* {"pollingInterval":500} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} /home/src/projects/project/node_modules/@types: *new* {"pollingInterval":500} +/home/src/projects/project/node_modules/fp-ts/lib/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules/fp-ts/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns1.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns1.js index 4429b6f3c85..76e6497e379 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns1.js @@ -150,6 +150,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/ Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/aws-sdk/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/aws-sdk/clients/s3.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/aws-sdk/clients/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (2) @@ -200,6 +201,8 @@ watchedFiles:: {"pollingInterval":500} /lib.decorators.legacy.d.ts: {"pollingInterval":500} +/project/node_modules/aws-sdk/clients/package.json: *new* + {"pollingInterval":2000} /project/node_modules/aws-sdk/clients/s3.d.ts: *new* {"pollingInterval":500} /project/node_modules/aws-sdk/index.d.ts: *new* diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns2.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns2.js index fe7fe2c3e2e..611606b2d7a 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns2.js @@ -150,6 +150,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/ Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/aws-sdk/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/aws-sdk/clients/s3.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/aws-sdk/clients/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (2) @@ -200,6 +201,8 @@ watchedFiles:: {"pollingInterval":500} /lib.decorators.legacy.d.ts: {"pollingInterval":500} +/project/node_modules/aws-sdk/clients/package.json: *new* + {"pollingInterval":2000} /project/node_modules/aws-sdk/clients/s3.d.ts: *new* {"pollingInterval":500} /project/node_modules/aws-sdk/index.d.ts: *new* diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_networkPaths.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_networkPaths.js index d694ef92464..b12701df83a 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_networkPaths.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_networkPaths.js @@ -150,6 +150,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: //tsclient/project/nod Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: //tsclient/project/node_modules/aws-sdk/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: //tsclient/project/node_modules/aws-sdk/clients/s3.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: //tsclient/project/node_modules/aws-sdk/clients/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (2) @@ -194,6 +195,8 @@ Info seq [hh:mm:ss:mss] response: } After Request watchedFiles:: +//tsclient/project/node_modules/aws-sdk/clients/package.json: *new* + {"pollingInterval":2000} //tsclient/project/node_modules/aws-sdk/clients/s3.d.ts: *new* {"pollingInterval":500} //tsclient/project/node_modules/aws-sdk/index.d.ts: *new* diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks.js index 538aa1504f1..6ee021c2122 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks.js @@ -170,6 +170,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/package.json Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 dependencies 0 referenced projects in * ms Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.store/@remix-run-server-runtime-virtual-c72daf0d/package/index.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.store/@remix-run-server-runtime-virtual-c72daf0d/package/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -223,6 +224,8 @@ watchedFiles:: {"pollingInterval":500} /project/node_modules/.store/@remix-run-server-runtime-virtual-c72daf0d/package/jsconfig.json: {"pollingInterval":2000} +/project/node_modules/.store/@remix-run-server-runtime-virtual-c72daf0d/package/package.json: *new* + {"pollingInterval":2000} /project/node_modules/.store/@remix-run-server-runtime-virtual-c72daf0d/package/tsconfig.json: {"pollingInterval":2000} /project/node_modules/.store/@remix-run-server-runtime-virtual-c72daf0d/tsconfig.json: diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks2.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks2.js index 113b79e8a67..c841aa010ae 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_symlinks2.js @@ -209,6 +209,8 @@ Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 2 root files in 2 depe Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/project/node_modules/.store/aws-sdk-virtual-adfe098/package/index.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/project/node_modules/@remix-run/server-runtime/index.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/project/node_modules/.store/aws-sdk-virtual-adfe098/package/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/project/node_modules/@remix-run/server-runtime/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (2) @@ -265,6 +267,8 @@ c:/project/node_modules/.store/aws-sdk-virtual-adfe098/package/index.d.ts: *new* {"pollingInterval":500} c:/project/node_modules/.store/aws-sdk-virtual-adfe098/package/jsconfig.json: {"pollingInterval":2000} +c:/project/node_modules/.store/aws-sdk-virtual-adfe098/package/package.json: *new* + {"pollingInterval":2000} c:/project/node_modules/.store/aws-sdk-virtual-adfe098/package/tsconfig.json: {"pollingInterval":2000} c:/project/node_modules/.store/aws-sdk-virtual-adfe098/tsconfig.json: @@ -275,6 +279,8 @@ c:/project/node_modules/.store/tsconfig.json: {"pollingInterval":2000} c:/project/node_modules/@remix-run/server-runtime/index.d.ts: *new* {"pollingInterval":500} +c:/project/node_modules/@remix-run/server-runtime/package.json: *new* + {"pollingInterval":2000} c:/project/node_modules/jsconfig.json: {"pollingInterval":2000} c:/project/node_modules/tsconfig.json: diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_windowsPaths.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_windowsPaths.js index 02833ce2822..68234c85376 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_windowsPaths.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportFileExcludePatterns_windowsPaths.js @@ -184,6 +184,7 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: c:/project/node_m Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: c:/project/node_modules 1 undefined Project: /dev/null/autoImportProviderProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/project/node_modules/aws-sdk/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/project/node_modules/aws-sdk/clients/s3.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: c:/project/node_modules/aws-sdk/clients/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (2) @@ -234,6 +235,8 @@ watchedFiles:: {"pollingInterval":500} /lib.decorators.legacy.d.ts: {"pollingInterval":500} +c:/project/node_modules/aws-sdk/clients/package.json: *new* + {"pollingInterval":2000} c:/project/node_modules/aws-sdk/clients/s3.d.ts: *new* {"pollingInterval":500} c:/project/node_modules/aws-sdk/index.d.ts: *new* diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider1.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider1.js index 9e7bdef7c31..be3178f135f 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider1.js @@ -175,6 +175,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /package.json 250 unde Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 dependencies 0 referenced projects in * ms Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/forms.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@angular/forms/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -244,6 +245,8 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@angular/forms/forms.d.ts: *new* {"pollingInterval":500} +/node_modules/@angular/forms/package.json: *new* + {"pollingInterval":2000} /package.json: *new* {"pollingInterval":250} /tsconfig.json: *new* @@ -488,6 +491,8 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@angular/forms/forms.d.ts: {"pollingInterval":500} +/node_modules/@angular/forms/package.json: + {"pollingInterval":2000} /package.json: {"pollingInterval":250} /tsconfig.json: diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider5.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider5.js index 6f6164f9d39..2005389abb8 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider5.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider5.js @@ -63,6 +63,7 @@ Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 depe Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/react-hook-form/dist/index.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/react-hook-form/dist/useForm.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/react-hook-form/dist/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (2) @@ -109,6 +110,8 @@ watchedFiles:: {"pollingInterval":500} /node_modules/react-hook-form/dist/index.d.ts: *new* {"pollingInterval":500} +/node_modules/react-hook-form/dist/package.json: *new* + {"pollingInterval":2000} /node_modules/react-hook-form/dist/useForm.d.ts: *new* {"pollingInterval":500} /package.json: *new* @@ -181,6 +184,7 @@ Info seq [hh:mm:ss:mss] Files (4) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 dependencies 0 referenced projects in * ms Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject2* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/react-hook-form/dist/package.json 2000 undefined Project: /dev/null/autoImportProviderProject2* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject2* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject2*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (2) @@ -228,6 +232,23 @@ Info seq [hh:mm:ss:mss] response: } } After Request +watchedFiles:: +/lib.d.ts: + {"pollingInterval":500} +/lib.decorators.d.ts: + {"pollingInterval":500} +/lib.decorators.legacy.d.ts: + {"pollingInterval":500} +/node_modules/react-hook-form/dist/index.d.ts: + {"pollingInterval":500} +/node_modules/react-hook-form/dist/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} *new* +/node_modules/react-hook-form/dist/useForm.d.ts: + {"pollingInterval":500} +/package.json: + {"pollingInterval":250} + Projects:: /dev/null/autoImportProviderProject1* (AutoImportProvider) projectStateVersion: 1 @@ -452,6 +473,9 @@ watchedFiles:: {"pollingInterval":500} /node_modules/react-hook-form/dist/index.d.ts: {"pollingInterval":500} +/node_modules/react-hook-form/dist/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /node_modules/react-hook-form/dist/useForm.d.ts: {"pollingInterval":500} /package.json: diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js index 411f474e488..f6ac6f33299 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider6.js @@ -235,6 +235,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.es2019.symbol.d.t Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.es5.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/react/index.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/react/package.json 2000 undefined Project: /tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (38) @@ -423,6 +424,7 @@ Info seq [hh:mm:ss:mss] event: } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (5) @@ -546,6 +548,9 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/react/index.d.ts: *new* {"pollingInterval":500} +/node_modules/@types/react/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} /package.json: *new* {"pollingInterval":250} /tsconfig.json: *new* @@ -834,6 +839,9 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/react/index.d.ts: {"pollingInterval":500} +/node_modules/@types/react/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /package.json: {"pollingInterval":250} /tsconfig.json: diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js index 44305cd8705..19cea47f257 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap2.js @@ -157,6 +157,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /package.json 250 unde Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 dependencies 0 referenced projects in * ms Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/dependency/lib/index.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/dependency/lib/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -165,6 +166,7 @@ Info seq [hh:mm:ss:mss] Files (1) node_modules/dependency/lib/index.d.ts Root file specified for compilation + File is ECMAScript module because 'node_modules/dependency/package.json' has field "type" with value "module" Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) @@ -204,6 +206,8 @@ watchedFiles:: {"pollingInterval":500} /node_modules/dependency/lib/index.d.ts: *new* {"pollingInterval":500} +/node_modules/dependency/lib/package.json: *new* + {"pollingInterval":2000} /package.json: *new* {"pollingInterval":250} /src/foo.ts: *new* @@ -303,6 +307,8 @@ watchedFiles:: {"pollingInterval":500} /node_modules/dependency/lib/index.d.ts: {"pollingInterval":500} +/node_modules/dependency/lib/package.json: + {"pollingInterval":2000} /package.json: {"pollingInterval":250} /tsconfig.json: @@ -410,6 +416,7 @@ Info seq [hh:mm:ss:mss] getCompletionData: Is inside comment: * Info seq [hh:mm:ss:mss] getCompletionData: Get previous token: * Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 dependencies 0 referenced projects in * ms Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject2* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/dependency/lib/package.json 2000 undefined Project: /dev/null/autoImportProviderProject2* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject2* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject2*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -418,6 +425,7 @@ Info seq [hh:mm:ss:mss] Files (1) node_modules/dependency/lib/index.d.ts Root file specified for compilation + File is ECMAScript module because 'node_modules/dependency/package.json' has field "type" with value "module" Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] getExportInfoMap: cache miss or empty; calculating new results @@ -1151,6 +1159,9 @@ watchedFiles:: {"pollingInterval":500} /node_modules/dependency/lib/index.d.ts: {"pollingInterval":500} +/node_modules/dependency/lib/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} *new* /package.json: {"pollingInterval":250} /tsconfig.json: diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js index 94767fceda3..cbbe8ad6fbe 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_exportMap3.js @@ -150,6 +150,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /package.json 250 unde Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 dependencies 0 referenced projects in * ms Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/dependency/lib/index.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/dependency/lib/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -197,6 +198,8 @@ watchedFiles:: {"pollingInterval":500} /node_modules/dependency/lib/index.d.ts: *new* {"pollingInterval":500} +/node_modules/dependency/lib/package.json: *new* + {"pollingInterval":2000} /package.json: *new* {"pollingInterval":250} /src/foo.ts: *new* @@ -296,6 +299,8 @@ watchedFiles:: {"pollingInterval":500} /node_modules/dependency/lib/index.d.ts: {"pollingInterval":500} +/node_modules/dependency/lib/package.json: + {"pollingInterval":2000} /package.json: {"pollingInterval":250} /tsconfig.json: @@ -1153,8 +1158,9 @@ watchedFiles:: {"pollingInterval":500} /node_modules/dependency/lib/lol.d.ts: *new* {"pollingInterval":500} -/node_modules/dependency/lib/package.json: *new* +/node_modules/dependency/lib/package.json: {"pollingInterval":2000} + {"pollingInterval":2000} *new* /package.json: {"pollingInterval":250} /tsconfig.json: diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_globalTypingsCache.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_globalTypingsCache.js index 7e68831aaca..56e8c0e2931 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_globalTypingsCache.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_globalTypingsCache.js @@ -231,6 +231,7 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/package.json 250 undefined WatchType: package.json file Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 dependencies 0 referenced projects in * ms Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /Library/Caches/typescript/node_modules/@types/react-router-dom/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -304,6 +305,7 @@ watchedFiles:: {"pollingInterval":2000} /Library/Caches/typescript/node_modules/@types/react-router-dom/package.json: {"pollingInterval":2000} + {"pollingInterval":2000} *new* /Library/Caches/typescript/node_modules/@types/react-router-dom/tsconfig.json: {"pollingInterval":2000} /Library/Caches/typescript/node_modules/@types/tsconfig.json: @@ -1035,6 +1037,7 @@ watchedFiles:: {"pollingInterval":2000} /Library/Caches/typescript/node_modules/@types/react-router-dom/package.json: {"pollingInterval":2000} + {"pollingInterval":2000} /Library/Caches/typescript/node_modules/@types/react-router-dom/tsconfig.json: {"pollingInterval":2000} /Library/Caches/typescript/node_modules/@types/tsconfig.json: diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_namespaceSameNameAsIntrinsic.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_namespaceSameNameAsIntrinsic.js index 644a1aa1d29..01ffc184f07 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_namespaceSameNameAsIntrinsic.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_namespaceSameNameAsIntrinsic.js @@ -175,6 +175,7 @@ Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 depe Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/fp-ts/index.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/fp-ts/lib/string.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/fp-ts/lib/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (2) @@ -247,6 +248,8 @@ watchedFiles:: {"pollingInterval":500} /node_modules/fp-ts/index.d.ts: *new* {"pollingInterval":500} +/node_modules/fp-ts/lib/package.json: *new* + {"pollingInterval":2000} /node_modules/fp-ts/lib/string.d.ts: *new* {"pollingInterval":500} /package.json: *new* @@ -1290,6 +1293,8 @@ watchedFiles:: {"pollingInterval":500} /node_modules/fp-ts/index.d.ts: {"pollingInterval":500} +/node_modules/fp-ts/lib/package.json: + {"pollingInterval":2000} /node_modules/fp-ts/lib/string.d.ts: {"pollingInterval":500} /package.json: diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_pnpm.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_pnpm.js index c6f264fdbd7..8ae6d39cf50 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_pnpm.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportProvider_pnpm.js @@ -133,6 +133,8 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /package.json 250 unde Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 dependencies 0 referenced projects in * ms Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/.pnpm/mobx@6.0.4/node_modules/mobx/dist/mobx.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/.pnpm/mobx@6.0.4/node_modules/mobx/dist/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/.pnpm/mobx@6.0.4/node_modules/mobx/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -182,6 +184,10 @@ watchedFiles:: {"pollingInterval":500} /node_modules/.pnpm/mobx@6.0.4/node_modules/mobx/dist/mobx.d.ts: *new* {"pollingInterval":500} +/node_modules/.pnpm/mobx@6.0.4/node_modules/mobx/dist/package.json: *new* + {"pollingInterval":2000} +/node_modules/.pnpm/mobx@6.0.4/node_modules/mobx/package.json: *new* + {"pollingInterval":2000} /package.json: *new* {"pollingInterval":250} /tsconfig.json: *new* @@ -279,6 +285,10 @@ watchedFiles:: {"pollingInterval":500} /node_modules/.pnpm/mobx@6.0.4/node_modules/mobx/dist/mobx.d.ts: {"pollingInterval":500} +/node_modules/.pnpm/mobx@6.0.4/node_modules/mobx/dist/package.json: + {"pollingInterval":2000} +/node_modules/.pnpm/mobx@6.0.4/node_modules/mobx/package.json: + {"pollingInterval":2000} /package.json: {"pollingInterval":250} /tsconfig.json: @@ -443,6 +453,8 @@ Info seq [hh:mm:ss:mss] request: } Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 dependencies 0 referenced projects in * ms Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject2* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/.pnpm/mobx@6.0.4/node_modules/mobx/dist/package.json 2000 undefined Project: /dev/null/autoImportProviderProject2* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/.pnpm/mobx@6.0.4/node_modules/mobx/package.json 2000 undefined Project: /dev/null/autoImportProviderProject2* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject2* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject2*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -502,6 +514,12 @@ watchedFiles:: {"pollingInterval":500} /node_modules/.pnpm/mobx@6.0.4/node_modules/mobx/dist/mobx.d.ts: {"pollingInterval":500} +/node_modules/.pnpm/mobx@6.0.4/node_modules/mobx/dist/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} *new* +/node_modules/.pnpm/mobx@6.0.4/node_modules/mobx/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} *new* /package.json: {"pollingInterval":250} /tsconfig.json: diff --git a/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js b/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js index ac0a6cf266b..3d62824418e 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js +++ b/tests/baselines/reference/tsserver/fourslashServer/autoImportReExportFromAmbientModule.js @@ -71,6 +71,8 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/fs-extra/index.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/index.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/fs-extra/package.json 2000 undefined Project: /tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (6) @@ -120,6 +122,8 @@ Info seq [hh:mm:ss:mss] event: } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/fs-extra/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (6) @@ -179,8 +183,14 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/fs-extra/index.d.ts: *new* {"pollingInterval":500} +/node_modules/@types/fs-extra/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} /node_modules/@types/node/index.d.ts: *new* {"pollingInterval":500} +/node_modules/@types/node/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} /tsconfig.json: *new* {"pollingInterval":2000} @@ -274,8 +284,14 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/fs-extra/index.d.ts: {"pollingInterval":500} +/node_modules/@types/fs-extra/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /node_modules/@types/node/index.d.ts: {"pollingInterval":500} +/node_modules/@types/node/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /tsconfig.json: {"pollingInterval":2000} @@ -1110,8 +1126,14 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/fs-extra/index.d.ts: {"pollingInterval":500} +/node_modules/@types/fs-extra/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /node_modules/@types/node/index.d.ts: {"pollingInterval":500} +/node_modules/@types/node/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /tsconfig.json: {"pollingInterval":2000} diff --git a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_computedSymbolName.js b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_computedSymbolName.js index 67cd8d3a734..7ae432a29bb 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/completionsImport_computedSymbolName.js +++ b/tests/baselines/reference/tsserver/fourslashServer/completionsImport_computedSymbolName.js @@ -83,6 +83,8 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/index.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/ts-node/index.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/ts-node/package.json 2000 undefined Project: /tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (6) @@ -132,6 +134,8 @@ Info seq [hh:mm:ss:mss] event: } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/ts-node/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (6) @@ -191,8 +195,14 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/node/index.d.ts: *new* {"pollingInterval":500} +/node_modules/@types/node/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} /node_modules/@types/ts-node/index.d.ts: *new* {"pollingInterval":500} +/node_modules/@types/ts-node/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} /tsconfig.json: *new* {"pollingInterval":2000} @@ -286,8 +296,14 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/node/index.d.ts: {"pollingInterval":500} +/node_modules/@types/node/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /node_modules/@types/ts-node/index.d.ts: {"pollingInterval":500} +/node_modules/@types/ts-node/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /tsconfig.json: {"pollingInterval":2000} diff --git a/tests/baselines/reference/tsserver/fourslashServer/declarationMapsOutOfDateMapping.js b/tests/baselines/reference/tsserver/fourslashServer/declarationMapsOutOfDateMapping.js index 7236a9c40bf..7b308f13dc7 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/declarationMapsOutOfDateMapping.js +++ b/tests/baselines/reference/tsserver/fourslashServer/declarationMapsOutOfDateMapping.js @@ -50,6 +50,7 @@ Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferred Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/a/dist/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules/a/dist/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules/a/dist/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms @@ -97,6 +98,8 @@ watchedFiles:: {"pollingInterval":500} /lib.decorators.legacy.d.ts: *new* {"pollingInterval":500} +/node_modules/a/dist/package.json: *new* + {"pollingInterval":2000} watchedDirectoriesRecursive:: /node_modules/a/dist/node_modules/@types: *new* @@ -136,6 +139,7 @@ Info seq [hh:mm:ss:mss] request: } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /index.ts ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/a/dist/package.json 2000 undefined Project: /dev/null/inferredProject2* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) Info seq [hh:mm:ss:mss] Files (5) @@ -177,6 +181,7 @@ Info seq [hh:mm:ss:mss] Files (4) Root file specified for compilation Info seq [hh:mm:ss:mss] ----------------------------------------------- +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /node_modules/a/dist/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /node_modules/a/dist/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /node_modules/a/dist/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) @@ -207,6 +212,12 @@ watchedFiles:: {"pollingInterval":500} /lib.decorators.legacy.d.ts: {"pollingInterval":500} +/node_modules/a/dist/package.json: + {"pollingInterval":2000} *new* + +watchedFiles *deleted*:: +/node_modules/a/dist/package.json: + {"pollingInterval":2000} watchedDirectoriesRecursive *deleted*:: /node_modules/a/dist/node_modules/@types: @@ -301,6 +312,8 @@ watchedFiles:: {"pollingInterval":500} /node_modules/a/dist/index.d.ts.map: *new* {"pollingInterval":500} +/node_modules/a/dist/package.json: + {"pollingInterval":2000} /node_modules/a/src/index.ts: *new* {"pollingInterval":500} diff --git a/tests/baselines/reference/tsserver/fourslashServer/goToSource15_bundler.js b/tests/baselines/reference/tsserver/fourslashServer/goToSource15_bundler.js index 9e3ac7ab90c..c4f6c64bd6f 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/goToSource15_bundler.js +++ b/tests/baselines/reference/tsserver/fourslashServer/goToSource15_bundler.js @@ -319,6 +319,7 @@ Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/auxiliar Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/react/index.js 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/react/cjs/react.production.min.js 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/react/cjs/react.development.js 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/react/cjs/package.json 2000 undefined Project: /dev/null/auxiliaryProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/auxiliaryProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/auxiliaryProject1*' (Auxiliary) Info seq [hh:mm:ss:mss] Files (4) @@ -397,6 +398,8 @@ watchedFiles:: {"pollingInterval":500} /lib.decorators.legacy.d.ts: {"pollingInterval":500} +/node_modules/react/cjs/package.json: *new* + {"pollingInterval":2000} /node_modules/react/cjs/react.development.js: *new* {"pollingInterval":500} /node_modules/react/cjs/react.production.min.js: *new* diff --git a/tests/baselines/reference/tsserver/fourslashServer/goToSource2_nodeModulesWithTypes.js b/tests/baselines/reference/tsserver/fourslashServer/goToSource2_nodeModulesWithTypes.js index 92173c62aca..06a70894c23 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/goToSource2_nodeModulesWithTypes.js +++ b/tests/baselines/reference/tsserver/fourslashServer/goToSource2_nodeModulesWithTypes.js @@ -118,6 +118,7 @@ Info seq [hh:mm:ss:mss] request: Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /index.ts ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/foo/types/main.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/foo/types/package.json 2000 undefined Project: /dev/null/inferredProject2* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) Info seq [hh:mm:ss:mss] Files (5) @@ -174,6 +175,8 @@ watchedFiles:: {"pollingInterval":500} /node_modules/foo/types/main.d.ts: *new* {"pollingInterval":500} +/node_modules/foo/types/package.json: *new* + {"pollingInterval":2000} Projects:: /dev/null/inferredProject1* (Inferred) @@ -225,6 +228,7 @@ Info seq [hh:mm:ss:mss] request: } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/auxiliaryProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/foo/lib/main.js 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/foo/lib/package.json 2000 undefined Project: /dev/null/auxiliaryProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/auxiliaryProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/auxiliaryProject1*' (Auxiliary) Info seq [hh:mm:ss:mss] Files (2) @@ -280,8 +284,12 @@ watchedFiles:: {"pollingInterval":500} /node_modules/foo/lib/main.js: *new* {"pollingInterval":500} +/node_modules/foo/lib/package.json: *new* + {"pollingInterval":2000} /node_modules/foo/types/main.d.ts: {"pollingInterval":500} +/node_modules/foo/types/package.json: + {"pollingInterval":2000} Projects:: /dev/null/auxiliaryProject1* (Auxiliary) *new* diff --git a/tests/baselines/reference/tsserver/fourslashServer/goToSource3_nodeModulesAtTypes.js b/tests/baselines/reference/tsserver/fourslashServer/goToSource3_nodeModulesAtTypes.js index 1f648782180..dee443e2eb6 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/goToSource3_nodeModulesAtTypes.js +++ b/tests/baselines/reference/tsserver/fourslashServer/goToSource3_nodeModulesAtTypes.js @@ -246,6 +246,7 @@ Info seq [hh:mm:ss:mss] request: } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/auxiliaryProject1* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/foo/lib/main.js 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/foo/lib/package.json 2000 undefined Project: /dev/null/auxiliaryProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/auxiliaryProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/auxiliaryProject1*' (Auxiliary) Info seq [hh:mm:ss:mss] Files (2) @@ -306,6 +307,8 @@ watchedFiles:: {"pollingInterval":2000} /node_modules/foo/lib/main.js: *new* {"pollingInterval":500} +/node_modules/foo/lib/package.json: *new* + {"pollingInterval":2000} Projects:: /dev/null/auxiliaryProject1* (Auxiliary) *new* diff --git a/tests/baselines/reference/tsserver/fourslashServer/goToSource6_sameAsGoToDef2.js b/tests/baselines/reference/tsserver/fourslashServer/goToSource6_sameAsGoToDef2.js index 6672a461620..ae8d06cb0f2 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/goToSource6_sameAsGoToDef2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/goToSource6_sameAsGoToDef2.js @@ -125,6 +125,7 @@ Info seq [hh:mm:ss:mss] request: Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /b.ts ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/foo/types/a.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/foo/types/package.json 2000 undefined Project: /dev/null/inferredProject2* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) Info seq [hh:mm:ss:mss] Files (5) @@ -181,6 +182,8 @@ watchedFiles:: {"pollingInterval":500} /node_modules/foo/types/a.d.ts: *new* {"pollingInterval":500} +/node_modules/foo/types/package.json: *new* + {"pollingInterval":2000} Projects:: /dev/null/inferredProject1* (Inferred) @@ -275,6 +278,8 @@ watchedFiles:: {"pollingInterval":500} /node_modules/foo/types/a.d.ts.map: *new* {"pollingInterval":500} +/node_modules/foo/types/package.json: + {"pollingInterval":2000} Projects:: /dev/null/inferredProject1* (Inferred) diff --git a/tests/baselines/reference/tsserver/fourslashServer/goToSource7_conditionallyMinified.js b/tests/baselines/reference/tsserver/fourslashServer/goToSource7_conditionallyMinified.js index 8b94e9c1f3b..f7fce4603e0 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/goToSource7_conditionallyMinified.js +++ b/tests/baselines/reference/tsserver/fourslashServer/goToSource7_conditionallyMinified.js @@ -224,6 +224,7 @@ Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/auxiliar Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/react/index.js 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/react/cjs/react.production.min.js 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/react/cjs/react.development.js 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/react/cjs/package.json 2000 undefined Project: /dev/null/auxiliaryProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/auxiliaryProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/auxiliaryProject1*' (Auxiliary) Info seq [hh:mm:ss:mss] Files (4) @@ -302,6 +303,8 @@ watchedFiles:: {"pollingInterval":500} /lib.decorators.legacy.d.ts: {"pollingInterval":500} +/node_modules/react/cjs/package.json: *new* + {"pollingInterval":2000} /node_modules/react/cjs/react.development.js: *new* {"pollingInterval":500} /node_modules/react/cjs/react.production.min.js: *new* diff --git a/tests/baselines/reference/tsserver/fourslashServer/goToSource8_mapFromAtTypes.js b/tests/baselines/reference/tsserver/fourslashServer/goToSource8_mapFromAtTypes.js index 26b569f3c28..0b434c2018d 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/goToSource8_mapFromAtTypes.js +++ b/tests/baselines/reference/tsserver/fourslashServer/goToSource8_mapFromAtTypes.js @@ -99,6 +99,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/l Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/lodash/common/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (6) @@ -153,6 +154,8 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/lodash/common/math.d.ts: *new* {"pollingInterval":500} +/node_modules/@types/lodash/common/package.json: *new* + {"pollingInterval":2000} /node_modules/@types/lodash/index.d.ts: *new* {"pollingInterval":500} /node_modules/@types/lodash/package.json: *new* @@ -201,6 +204,7 @@ Info seq [hh:mm:ss:mss] request: Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /index.ts ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/lodash/package.json 2000 undefined Project: /dev/null/inferredProject2* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/lodash/common/package.json 2000 undefined Project: /dev/null/inferredProject2* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) Info seq [hh:mm:ss:mss] Files (6) @@ -262,6 +266,9 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/lodash/common/math.d.ts: {"pollingInterval":500} +/node_modules/@types/lodash/common/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} *new* /node_modules/@types/lodash/index.d.ts: {"pollingInterval":500} /node_modules/@types/lodash/package.json: @@ -400,6 +407,9 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/lodash/common/math.d.ts: {"pollingInterval":500} +/node_modules/@types/lodash/common/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /node_modules/@types/lodash/index.d.ts: {"pollingInterval":500} /node_modules/@types/lodash/package.json: diff --git a/tests/baselines/reference/tsserver/fourslashServer/goToSource9_mapFromAtTypes2.js b/tests/baselines/reference/tsserver/fourslashServer/goToSource9_mapFromAtTypes2.js index e960acd6dbe..2f29a1dd966 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/goToSource9_mapFromAtTypes2.js +++ b/tests/baselines/reference/tsserver/fourslashServer/goToSource9_mapFromAtTypes2.js @@ -100,6 +100,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/l Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/lodash/common/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (6) @@ -154,6 +155,8 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/lodash/common/math.d.ts: *new* {"pollingInterval":500} +/node_modules/@types/lodash/common/package.json: *new* + {"pollingInterval":2000} /node_modules/@types/lodash/index.d.ts: *new* {"pollingInterval":500} /node_modules/@types/lodash/package.json: *new* @@ -202,6 +205,7 @@ Info seq [hh:mm:ss:mss] request: Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /index.ts ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject2* Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/lodash/package.json 2000 undefined Project: /dev/null/inferredProject2* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/lodash/common/package.json 2000 undefined Project: /dev/null/inferredProject2* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject2* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) Info seq [hh:mm:ss:mss] Files (6) @@ -263,6 +267,9 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/lodash/common/math.d.ts: {"pollingInterval":500} +/node_modules/@types/lodash/common/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} *new* /node_modules/@types/lodash/index.d.ts: {"pollingInterval":500} /node_modules/@types/lodash/package.json: @@ -373,6 +380,9 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/lodash/common/math.d.ts: {"pollingInterval":500} +/node_modules/@types/lodash/common/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /node_modules/@types/lodash/index.d.ts: {"pollingInterval":500} /node_modules/@types/lodash/package.json: diff --git a/tests/baselines/reference/tsserver/fourslashServer/importNameCodeFix_pnpm1.js b/tests/baselines/reference/tsserver/fourslashServer/importNameCodeFix_pnpm1.js index 75a03f3c1da..9693d660af6 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importNameCodeFix_pnpm1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importNameCodeFix_pnpm1.js @@ -59,6 +59,11 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /project/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/project/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (5) @@ -103,6 +108,11 @@ Info seq [hh:mm:ss:mss] event: } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /project/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (5) @@ -157,8 +167,23 @@ watchedFiles:: {"pollingInterval":500} /project/index.ts: *new* {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/index.d.ts: *new* {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} /project/tsconfig.json: *new* {"pollingInterval":2000} @@ -245,8 +270,23 @@ watchedFiles:: {"pollingInterval":500} /lib.decorators.legacy.d.ts: {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/index.d.ts: {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /project/tsconfig.json: {"pollingInterval":2000} @@ -446,8 +486,23 @@ watchedFiles:: {"pollingInterval":500} /lib.decorators.legacy.d.ts: {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/index.d.ts: {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /project/tsconfig.json: {"pollingInterval":2000} diff --git a/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js b/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js index 2756d4732d0..0a388404faf 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpm1.js @@ -59,6 +59,11 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /project/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/project/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (5) @@ -103,6 +108,11 @@ Info seq [hh:mm:ss:mss] event: } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /project/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (5) @@ -157,8 +167,23 @@ watchedFiles:: {"pollingInterval":500} /project/index.ts: *new* {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/index.d.ts: *new* {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} /project/tsconfig.json: *new* {"pollingInterval":2000} @@ -245,8 +270,23 @@ watchedFiles:: {"pollingInterval":500} /lib.decorators.legacy.d.ts: {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/index.d.ts: {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /project/tsconfig.json: {"pollingInterval":2000} @@ -415,8 +455,23 @@ watchedFiles:: {"pollingInterval":500} /lib.decorators.legacy.d.ts: {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/index.d.ts: {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /project/tsconfig.json: {"pollingInterval":2000} diff --git a/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpmTransitive.js b/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpmTransitive.js index 0856fa94c22..c1f99beaf19 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpmTransitive.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importStatementCompletions_pnpmTransitive.js @@ -65,6 +65,14 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/csstype@3.0.8/node_modules/csstype/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/csstype@3.0.8/node_modules/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/csstype@3.0.8/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /project/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/project/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (6) @@ -112,6 +120,14 @@ Info seq [hh:mm:ss:mss] event: } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /project/tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/csstype@3.0.8/node_modules/csstype/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/csstype@3.0.8/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/csstype@3.0.8/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.pnpm/@types+react@17.0.7/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (6) @@ -169,10 +185,34 @@ watchedFiles:: {"pollingInterval":500} /project/index.ts: *new* {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/index.d.ts: *new* {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} /project/node_modules/.pnpm/csstype@3.0.8/node_modules/csstype/index.d.ts: *new* {"pollingInterval":500} +/project/node_modules/.pnpm/csstype@3.0.8/node_modules/csstype/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/csstype@3.0.8/node_modules/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/csstype@3.0.8/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} /project/tsconfig.json: *new* {"pollingInterval":2000} @@ -264,10 +304,34 @@ watchedFiles:: {"pollingInterval":500} /lib.decorators.legacy.d.ts: {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/index.d.ts: {"pollingInterval":500} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/@types/react/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/node_modules/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/@types+react@17.0.7/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /project/node_modules/.pnpm/csstype@3.0.8/node_modules/csstype/index.d.ts: {"pollingInterval":500} +/project/node_modules/.pnpm/csstype@3.0.8/node_modules/csstype/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/csstype@3.0.8/node_modules/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/csstype@3.0.8/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} +/project/node_modules/.pnpm/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /project/tsconfig.json: {"pollingInterval":2000} diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js index 79d1c3ef7e0..b22577f1c52 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_coreNodeModules.js @@ -88,6 +88,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 5 Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/index.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules/@types 1 undefined Project: /tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules/@types 1 undefined Project: /tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms @@ -142,6 +143,7 @@ Info seq [hh:mm:ss:mss] event: } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (5) @@ -199,6 +201,9 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/node/index.d.ts: *new* {"pollingInterval":500} +/node_modules/@types/node/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} /package.json: *new* {"pollingInterval":250} /tsconfig.json: *new* @@ -291,6 +296,9 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/node/index.d.ts: {"pollingInterval":500} +/node_modules/@types/node/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /package.json: {"pollingInterval":250} /tsconfig.json: diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js index 4ed5681a847..cc255143c22 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_invalidPackageJson.js @@ -79,6 +79,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 5 Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /jsconfig.json Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/index.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /jsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /jsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/jsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (5) @@ -125,6 +126,7 @@ Info seq [hh:mm:ss:mss] event: } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /jsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (5) @@ -184,6 +186,9 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/node/index.d.ts: *new* {"pollingInterval":500} +/node_modules/@types/node/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} /package.json: *new* {"pollingInterval":250} @@ -274,6 +279,9 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/node/index.d.ts: {"pollingInterval":500} +/node_modules/@types/node/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /package.json: {"pollingInterval":250} diff --git a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js index 3c334cafc94..6fda92b60d5 100644 --- a/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js +++ b/tests/baselines/reference/tsserver/fourslashServer/importSuggestionsCache_moduleAugmentation.js @@ -66,6 +66,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.d.ts 5 Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /lib.decorators.legacy.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /tsconfig.json Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/react/index.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/react/package.json 2000 undefined Project: /tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (5) @@ -113,6 +114,7 @@ Info seq [hh:mm:ss:mss] event: } Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /tsconfig.json ProjectRootPath: undefined:: Result: undefined Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/react/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (5) @@ -169,6 +171,9 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/react/index.d.ts: *new* {"pollingInterval":500} +/node_modules/@types/react/package.json: *new* + {"pollingInterval":2000} + {"pollingInterval":2000} /tsconfig.json: *new* {"pollingInterval":2000} @@ -257,6 +262,9 @@ watchedFiles:: {"pollingInterval":500} /node_modules/@types/react/index.d.ts: {"pollingInterval":500} +/node_modules/@types/react/package.json: + {"pollingInterval":2000} + {"pollingInterval":2000} /tsconfig.json: {"pollingInterval":2000} diff --git a/tests/baselines/reference/tsserver/getMoveToRefactoringFileSuggestions/works-for-suggesting-a-list-of-files,-excluding-node_modules-within-a-project.js b/tests/baselines/reference/tsserver/getMoveToRefactoringFileSuggestions/works-for-suggesting-a-list-of-files,-excluding-node_modules-within-a-project.js index 77ea91770e0..cbe9503a685 100644 --- a/tests/baselines/reference/tsserver/getMoveToRefactoringFileSuggestions/works-for-suggesting-a-list-of-files,-excluding-node_modules-within-a-project.js +++ b/tests/baselines/reference/tsserver/getMoveToRefactoringFileSuggestions/works-for-suggesting-a-list-of-files,-excluding-node_modules-within-a-project.js @@ -68,6 +68,9 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/d/e/file3.ts Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /project/tsconfig.json Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /project/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /project/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/@types/node/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/@types/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/.cache/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /project/tsconfig.json WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /project/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/project/tsconfig.json' (Configured) @@ -229,6 +232,12 @@ After request PolledWatches:: /a/lib/lib.d.ts: *new* {"pollingInterval":500} +/project/node_modules/.cache/package.json: *new* + {"pollingInterval":2000} +/project/node_modules/@types/node/package.json: *new* + {"pollingInterval":2000} +/project/node_modules/@types/package.json: *new* + {"pollingInterval":2000} FsWatches:: /project/a/file4.ts: *new* diff --git a/tests/baselines/reference/tsserver/importHelpers/should-not-crash-in-tsserver.js b/tests/baselines/reference/tsserver/importHelpers/should-not-crash-in-tsserver.js index 3f492da9dc6..56875a8f865 100644 --- a/tests/baselines/reference/tsserver/importHelpers/should-not-crash-in-tsserver.js +++ b/tests/baselines/reference/tsserver/importHelpers/should-not-crash-in-tsserver.js @@ -29,6 +29,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/app.ts 500 undefine Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: p Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /a/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /a/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/node_modules/tslib/package.json 2000 undefined Project: p WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: p WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: p projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project 'p' (External) @@ -100,6 +101,8 @@ After request PolledWatches:: /a/lib/lib.d.ts: *new* {"pollingInterval":500} +/a/node_modules/tslib/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/app.ts: *new* diff --git a/tests/baselines/reference/tsserver/libraryResolution/with-config-with-redirection.js b/tests/baselines/reference/tsserver/libraryResolution/with-config-with-redirection.js index c4cac17bc19..02f8b24c440 100644 --- a/tests/baselines/reference/tsserver/libraryResolution/with-config-with-redirection.js +++ b/tests/baselines/reference/tsserver/libraryResolution/with-config-with-redirection.js @@ -245,6 +245,13 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/project Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1/node_modules 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist. Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] ======== Resolving module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts'. ======== @@ -262,6 +269,13 @@ Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-s Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts' exists - use it as a name resolution result. Info seq [hh:mm:ss:mss] Resolving real path for '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. Info seq [hh:mm:ss:mss] ======== Module name '@typescript/lib-scripthost' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. ======== +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] ======== Resolving module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ======== Info seq [hh:mm:ss:mss] Explicitly specified module resolution kind: 'Node10'. Info seq [hh:mm:ss:mss] Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -277,6 +291,13 @@ Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-e Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts' exists - use it as a name resolution result. Info seq [hh:mm:ss:mss] Resolving real path for '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. Info seq [hh:mm:ss:mss] ======== Module name '@typescript/lib-es5' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. ======== +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] ======== Resolving type reference directive 'sometype', containing file '/home/src/projects/project1/__inferred type names__.ts', root directory '/home/src/projects/project1/typeroot1'. ======== Info seq [hh:mm:ss:mss] Resolving with primary search path '/home/src/projects/project1/typeroot1'. Info seq [hh:mm:ss:mss] File '/home/src/projects/project1/typeroot1/sometype.d.ts' does not exist. @@ -301,6 +322,20 @@ Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-d Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result. Info seq [hh:mm:ss:mss] Resolving real path for '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. Info seq [hh:mm:ss:mss] ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-scripthost/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-es5/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1/typeroot1 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1/typeroot1 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms @@ -435,6 +470,20 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-es5/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} /home/src/projects/project1/node_modules: *new* {"pollingInterval":500} @@ -578,9 +627,58 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.jsonFailedLookupInvalidation Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. Info seq [hh:mm:ss:mss] ======== Resolving module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts'. ======== Info seq [hh:mm:ss:mss] Explicitly specified module resolution kind: 'Node10'. @@ -588,7 +686,7 @@ Info seq [hh:mm:ss:mss] Loading module '@typescript/lib-dom' from 'node_modules Info seq [hh:mm:ss:mss] Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. Info seq [hh:mm:ss:mss] Directory '/home/src/projects/project1/node_modules' does not exist, skipping all lookups in it. Info seq [hh:mm:ss:mss] Scoped package detected, looking in 'typescript__lib-dom' -Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom.ts' does not exist. Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom.tsx' does not exist. Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom.d.ts' does not exist. @@ -616,6 +714,7 @@ Info seq [hh:mm:ss:mss] Directory '/home/node_modules' does not exist, skipping Info seq [hh:mm:ss:mss] Directory '/node_modules' does not exist, skipping all lookups in it. Info seq [hh:mm:ss:mss] ======== Module name '@typescript/lib-dom' was not resolved. ======== Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/lib/lib.dom.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/home/src/projects/project1/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (10) @@ -687,9 +786,25 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 0 PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} +PolledWatches *deleted*:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} + FsWatches:: /home/src/lib/lib.dom.d.ts: *new* {} @@ -838,6 +953,27 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. @@ -1017,8 +1153,29 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was not resolved. Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json projectStateVersion: 4 projectProgramVersion: 2 structureChanged: true structureIsReused:: Not Elapsed:: *ms @@ -1177,6 +1334,27 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. @@ -1195,7 +1373,36 @@ Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-d Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result. Info seq [hh:mm:ss:mss] Resolving real path for '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. Info seq [hh:mm:ss:mss] ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json projectStateVersion: 5 projectProgramVersion: 3 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/home/src/projects/project1/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (9) @@ -1263,6 +1470,48 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project1/node_modules: + {"pollingInterval":500} + +FsWatches:: +/home/src/lib/lib.dom.d.ts: + {} +/home/src/projects/project1/core.d.ts: + {} +/home/src/projects/project1/file.ts: + {} +/home/src/projects/project1/file2.ts: + {} +/home/src/projects/project1/tsconfig.json: + {} +/home/src/projects/project1/typeroot1/sometype/index.d.ts: + {} +/home/src/projects/project1/utils.d.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/node_modules: + {} +/home/src/projects/project1: + {} +/home/src/projects/project1/typeroot1: + {} + Projects:: /home/src/projects/project1/tsconfig.json (Configured) *changed* projectStateVersion: 5 @@ -1387,8 +1636,29 @@ Info seq [hh:mm:ss:mss] Config: /home/src/projects/project1/tsconfig.json : { } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] ======== Resolving type reference directive 'sometype', containing file '/home/src/projects/project1/__inferred type names__.ts', root directory '/home/src/projects/project1/typeroot1,/home/src/projects/project1/typeroot2'. ======== Info seq [hh:mm:ss:mss] Resolving with primary search path '/home/src/projects/project1/typeroot1, /home/src/projects/project1/typeroot2'. Info seq [hh:mm:ss:mss] File '/home/src/projects/project1/typeroot1/sometype.d.ts' does not exist. @@ -1397,6 +1667,13 @@ Info seq [hh:mm:ss:mss] File '/home/src/projects/project1/typeroot1/sometype/in Info seq [hh:mm:ss:mss] Resolving real path for '/home/src/projects/project1/typeroot1/sometype/index.d.ts', result '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. Info seq [hh:mm:ss:mss] ======== Type reference directive 'sometype' was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts', primary: true. ======== Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1/typeroot2 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/project1/typeroot2 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json projectStateVersion: 6 projectProgramVersion: 4 structureChanged: true structureIsReused:: Not Elapsed:: *ms @@ -1466,6 +1743,20 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 0 PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} /home/src/projects/project1/typeroot2: *new* @@ -1628,8 +1919,29 @@ Info seq [hh:mm:ss:mss] Config: /home/src/projects/project1/tsconfig.json : { } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] ======== Resolving type reference directive 'sometype', containing file '/home/src/projects/project1/__inferred type names__.ts', root directory '/home/src/projects/project1/typeroot1'. ======== Info seq [hh:mm:ss:mss] Resolving with primary search path '/home/src/projects/project1/typeroot1'. Info seq [hh:mm:ss:mss] File '/home/src/projects/project1/typeroot1/sometype.d.ts' does not exist. @@ -1670,6 +1982,7 @@ Info seq [hh:mm:ss:mss] Directory '/home/src/node_modules' does not exist, skip Info seq [hh:mm:ss:mss] Directory '/home/node_modules' does not exist, skipping all lookups in it. Info seq [hh:mm:ss:mss] Directory '/node_modules' does not exist, skipping all lookups in it. Info seq [hh:mm:ss:mss] ======== Module name '@typescript/lib-dom' was not resolved. ======== +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project1/typeroot2 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project1/typeroot2 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json projectStateVersion: 7 projectProgramVersion: 5 structureChanged: true structureIsReused:: Not Elapsed:: *ms @@ -1761,10 +2074,24 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 0 PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} PolledWatches *deleted*:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} /home/src/projects/project1/typeroot2: {"pollingInterval":500} @@ -1923,13 +2250,20 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.jsonFailedLookupInvalidation Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] ======== Resolving module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts'. ======== Info seq [hh:mm:ss:mss] Explicitly specified module resolution kind: 'Node10'. Info seq [hh:mm:ss:mss] Loading module '@typescript/lib-webworker' from 'node_modules' folder, target file types: TypeScript, Declaration. Info seq [hh:mm:ss:mss] Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. Info seq [hh:mm:ss:mss] Directory '/home/src/projects/project1/node_modules' does not exist, skipping all lookups in it. Info seq [hh:mm:ss:mss] Scoped package detected, looking in 'typescript__lib-webworker' -Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker.ts' does not exist. Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker.tsx' does not exist. Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker.d.ts' does not exist. @@ -1958,9 +2292,24 @@ Info seq [hh:mm:ss:mss] Directory '/node_modules' does not exist, skipping all Info seq [hh:mm:ss:mss] ======== Module name '@typescript/lib-webworker' was not resolved. ======== Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/lib/lib.webworker.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was not resolved. +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json projectStateVersion: 8 projectProgramVersion: 6 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/home/src/projects/project1/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (9) @@ -2029,9 +2378,23 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 0 PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} +PolledWatches *deleted*:: +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} + FsWatches:: /home/src/lib/lib.dom.d.ts: {} @@ -2205,6 +2568,20 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] ======== Resolving module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts'. ======== Info seq [hh:mm:ss:mss] Explicitly specified module resolution kind: 'Node10'. Info seq [hh:mm:ss:mss] Loading module '@typescript/lib-webworker' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -2220,10 +2597,32 @@ Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-w Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts' exists - use it as a name resolution result. Info seq [hh:mm:ss:mss] Resolving real path for '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. Info seq [hh:mm:ss:mss] ======== Module name '@typescript/lib-webworker' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-scripthost/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-scripthost/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-es5/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-es5/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was not resolved. +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json projectStateVersion: 9 projectProgramVersion: 7 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/home/src/projects/project1/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (9) @@ -2291,6 +2690,48 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-es5/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-scripthost/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project1/node_modules: + {"pollingInterval":500} + +FsWatches:: +/home/src/lib/lib.dom.d.ts: + {} +/home/src/lib/lib.webworker.d.ts: + {} +/home/src/projects/project1/core.d.ts: + {} +/home/src/projects/project1/file.ts: + {} +/home/src/projects/project1/file2.ts: + {} +/home/src/projects/project1/tsconfig.json: + {} +/home/src/projects/project1/typeroot1/sometype/index.d.ts: + {} +/home/src/projects/project1/utils.d.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/node_modules: + {} +/home/src/projects/project1: + {} +/home/src/projects/project1/typeroot1: + {} + Projects:: /home/src/projects/project1/tsconfig.json (Configured) *changed* projectStateVersion: 9 diff --git a/tests/baselines/reference/tsserver/libraryResolution/with-config.js b/tests/baselines/reference/tsserver/libraryResolution/with-config.js index 18f24521186..bcf9df246f1 100644 --- a/tests/baselines/reference/tsserver/libraryResolution/with-config.js +++ b/tests/baselines/reference/tsserver/libraryResolution/with-config.js @@ -577,8 +577,19 @@ Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-d Info seq [hh:mm:ss:mss] Resolving real path for '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. Info seq [hh:mm:ss:mss] ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== Info seq [hh:mm:ss:mss] Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist. Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /home/src/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/home/src/projects/project1/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (10) @@ -649,6 +660,48 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/project1/node_modules: + {"pollingInterval":500} + +FsWatches:: +/home/src/lib/lib.dom.d.ts: + {} +/home/src/lib/lib.es5.d.ts: + {} +/home/src/lib/lib.scripthost.d.ts: + {} +/home/src/lib/lib.webworker.d.ts: + {} +/home/src/projects/project1/core.d.ts: + {} +/home/src/projects/project1/file.ts: + {} +/home/src/projects/project1/file2.ts: + {} +/home/src/projects/project1/tsconfig.json: + {} +/home/src/projects/project1/typeroot1/sometype/index.d.ts: + {} +/home/src/projects/project1/utils.d.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/node_modules: + {} +/home/src/projects/project1: + {} +/home/src/projects/project1/typeroot1: + {} + Projects:: /home/src/projects/project1/tsconfig.json (Configured) *changed* projectStateVersion: 2 @@ -770,6 +823,13 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was not resolved. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was not resolved. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was not resolved. @@ -949,6 +1009,13 @@ Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-scripthos Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was not resolved. Info seq [hh:mm:ss:mss] Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json projectStateVersion: 4 projectProgramVersion: 2 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/home/src/projects/project1/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (9) @@ -1097,6 +1164,13 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.jsonFailedLookupInvalidation Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts' of old program, it was not resolved. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was not resolved. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was not resolved. @@ -1107,7 +1181,7 @@ Info seq [hh:mm:ss:mss] Loading module '@typescript/lib-dom' from 'node_modules Info seq [hh:mm:ss:mss] Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. Info seq [hh:mm:ss:mss] Directory '/home/src/projects/project1/node_modules' does not exist, skipping all lookups in it. Info seq [hh:mm:ss:mss] Scoped package detected, looking in 'typescript__lib-dom' -Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom.ts' does not exist. Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom.tsx' does not exist. Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom.d.ts' does not exist. @@ -1134,6 +1208,10 @@ Info seq [hh:mm:ss:mss] Directory '/home/src/node_modules' does not exist, skip Info seq [hh:mm:ss:mss] Directory '/home/node_modules' does not exist, skipping all lookups in it. Info seq [hh:mm:ss:mss] Directory '/node_modules' does not exist, skipping all lookups in it. Info seq [hh:mm:ss:mss] ======== Module name '@typescript/lib-dom' was not resolved. ======== +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json projectStateVersion: 5 projectProgramVersion: 3 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/home/src/projects/project1/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (9) @@ -1201,6 +1279,50 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/home/src/projects/project1/node_modules: + {"pollingInterval":500} + +PolledWatches *deleted*:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} + +FsWatches:: +/home/src/lib/lib.dom.d.ts: + {} +/home/src/lib/lib.es5.d.ts: + {} +/home/src/lib/lib.scripthost.d.ts: + {} +/home/src/lib/lib.webworker.d.ts: + {} +/home/src/projects/project1/core.d.ts: + {} +/home/src/projects/project1/file.ts: + {} +/home/src/projects/project1/file2.ts: + {} +/home/src/projects/project1/tsconfig.json: + {} +/home/src/projects/project1/typeroot1/sometype/index.d.ts: + {} +/home/src/projects/project1/utils.d.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/node_modules: + {} +/home/src/projects/project1: + {} +/home/src/projects/project1/typeroot1: + {} + Projects:: /home/src/projects/project1/tsconfig.json (Configured) *changed* projectStateVersion: 5 @@ -1596,6 +1718,17 @@ Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-d Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts' exists - use it as a name resolution result. Info seq [hh:mm:ss:mss] Resolving real path for '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. Info seq [hh:mm:ss:mss] ======== Module name '@typescript/lib-dom' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. ======== +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-dom/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project1/typeroot2 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /home/src/projects/project1/typeroot2 1 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json projectStateVersion: 7 projectProgramVersion: 5 structureChanged: true structureIsReused:: Not Elapsed:: *ms @@ -1657,6 +1790,14 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 1 PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/package.json: *new* + {"pollingInterval":2000} /home/src/projects/project1/node_modules: {"pollingInterval":500} @@ -1828,6 +1969,13 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] ======== Resolving module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts'. ======== Info seq [hh:mm:ss:mss] Explicitly specified module resolution kind: 'Node10'. Info seq [hh:mm:ss:mss] Loading module '@typescript/lib-webworker' from 'node_modules' folder, target file types: TypeScript, Declaration. @@ -1843,10 +1991,25 @@ Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-w Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts' exists - use it as a name resolution result. Info seq [hh:mm:ss:mss] Resolving real path for '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts', result '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. Info seq [hh:mm:ss:mss] ======== Module name '@typescript/lib-webworker' was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-webworker/index.d.ts'. ======== +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-scripthost' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.scripthost.d.ts__.ts' of old program, it was not resolved. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was not resolved. Info seq [hh:mm:ss:mss] Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json projectStateVersion: 8 projectProgramVersion: 6 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/home/src/projects/project1/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (9) @@ -1914,6 +2077,50 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: *new* + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project1/node_modules: + {"pollingInterval":500} + +FsWatches:: +/home/src/lib/lib.dom.d.ts: + {} +/home/src/lib/lib.es5.d.ts: + {} +/home/src/lib/lib.scripthost.d.ts: + {} +/home/src/lib/lib.webworker.d.ts: + {} +/home/src/projects/project1/core.d.ts: + {} +/home/src/projects/project1/file.ts: + {} +/home/src/projects/project1/file2.ts: + {} +/home/src/projects/project1/tsconfig.json: + {} +/home/src/projects/project1/typeroot1/sometype/index.d.ts: + {} +/home/src/projects/project1/utils.d.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/node_modules: + {} +/home/src/projects/project1: + {} +/home/src/projects/project1/typeroot1: + {} + Projects:: /home/src/projects/project1/tsconfig.json (Configured) *changed* projectStateVersion: 8 @@ -2048,13 +2255,20 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.jsonFailedLookupInvalidation Info seq [hh:mm:ss:mss] Running: /home/src/projects/project1/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] ======== Resolving module '@typescript/lib-webworker' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.webworker.d.ts__.ts'. ======== Info seq [hh:mm:ss:mss] Explicitly specified module resolution kind: 'Node10'. Info seq [hh:mm:ss:mss] Loading module '@typescript/lib-webworker' from 'node_modules' folder, target file types: TypeScript, Declaration. Info seq [hh:mm:ss:mss] Searching all ancestor node_modules directories for preferred extensions: TypeScript, Declaration. Info seq [hh:mm:ss:mss] Directory '/home/src/projects/project1/node_modules' does not exist, skipping all lookups in it. Info seq [hh:mm:ss:mss] Scoped package detected, looking in 'typescript__lib-webworker' -Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker.ts' does not exist. Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker.tsx' does not exist. Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-webworker.d.ts' does not exist. @@ -2085,6 +2299,14 @@ Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-scripthos Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-es5' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.es5.d.ts__.ts' of old program, it was not resolved. Info seq [hh:mm:ss:mss] Reusing resolution of type reference directive 'sometype' from '/home/src/projects/project1/__inferred type names__.ts' of old program, it was successfully resolved to '/home/src/projects/project1/typeroot1/sometype/index.d.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module '@typescript/lib-dom' from '/home/src/projects/project1/__lib_node_modules_lookup_lib.dom.d.ts__.ts' of old program, it was successfully resolved to '/home/src/projects/node_modules/@typescript/lib-dom/index.d.ts'. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/lib-dom/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/@typescript/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/home/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /home/src/projects/node_modules/@typescript/lib-webworker/package.json 2000 undefined Project: /home/src/projects/project1/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /home/src/projects/project1/tsconfig.json projectStateVersion: 9 projectProgramVersion: 7 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/home/src/projects/project1/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (9) @@ -2152,6 +2374,52 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/home/src/projects/node_modules/@typescript/lib-dom/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/@typescript/package.json: + {"pollingInterval":2000} +/home/src/projects/node_modules/package.json: + {"pollingInterval":2000} +/home/src/projects/package.json: + {"pollingInterval":2000} +/home/src/projects/project1/node_modules: + {"pollingInterval":500} + +PolledWatches *deleted*:: +/home/src/projects/node_modules/@typescript/lib-webworker/package.json: + {"pollingInterval":2000} + +FsWatches:: +/home/src/lib/lib.dom.d.ts: + {} +/home/src/lib/lib.es5.d.ts: + {} +/home/src/lib/lib.scripthost.d.ts: + {} +/home/src/lib/lib.webworker.d.ts: + {} +/home/src/projects/project1/core.d.ts: + {} +/home/src/projects/project1/file.ts: + {} +/home/src/projects/project1/file2.ts: + {} +/home/src/projects/project1/tsconfig.json: + {} +/home/src/projects/project1/typeroot1/sometype/index.d.ts: + {} +/home/src/projects/project1/utils.d.ts: + {} + +FsWatchesRecursive:: +/home/src/projects/node_modules: + {} +/home/src/projects/project1: + {} +/home/src/projects/project1/typeroot1: + {} + Projects:: /home/src/projects/project1/tsconfig.json (Configured) *changed* projectStateVersion: 9 diff --git a/tests/baselines/reference/tsserver/maxNodeModuleJsDepth/handles-resolutions-when-currentNodeModulesDepth-changes-when-referencing-file-from-another-file.js b/tests/baselines/reference/tsserver/maxNodeModuleJsDepth/handles-resolutions-when-currentNodeModulesDepth-changes-when-referencing-file-from-another-file.js index 2ebcad95f2c..f7e179175e1 100644 --- a/tests/baselines/reference/tsserver/maxNodeModuleJsDepth/handles-resolutions-when-currentNodeModulesDepth-changes-when-referencing-file-from-another-file.js +++ b/tests/baselines/reference/tsserver/maxNodeModuleJsDepth/handles-resolutions-when-currentNodeModulesDepth-changes-when-referencing-file-from-another-file.js @@ -54,6 +54,13 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /us Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/project1/src/node_modules/minimatch/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/project1/src/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/project1/src/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/project1/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/project1/src/node_modules/glob/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/project1/src/node_modules/path/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (5) @@ -80,10 +87,24 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- TI:: Creating typing installer PolledWatches:: +/user/username/projects/package.json: *new* + {"pollingInterval":2000} /user/username/projects/project1/jsconfig.json: *new* {"pollingInterval":2000} +/user/username/projects/project1/package.json: *new* + {"pollingInterval":2000} /user/username/projects/project1/src/jsconfig.json: *new* {"pollingInterval":2000} +/user/username/projects/project1/src/node_modules/glob/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/project1/src/node_modules/minimatch/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/project1/src/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/project1/src/node_modules/path/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/project1/src/package.json: *new* + {"pollingInterval":2000} /user/username/projects/project1/src/tsconfig.json: *new* {"pollingInterval":2000} /user/username/projects/project1/tsconfig.json: *new* @@ -293,10 +314,24 @@ PolledWatches:: {"pollingInterval":500} /node_modules: *new* {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} /user/username/projects/project1/jsconfig.json: {"pollingInterval":2000} +/user/username/projects/project1/package.json: + {"pollingInterval":2000} /user/username/projects/project1/src/jsconfig.json: {"pollingInterval":2000} +/user/username/projects/project1/src/node_modules/glob/package.json: + {"pollingInterval":2000} +/user/username/projects/project1/src/node_modules/minimatch/package.json: + {"pollingInterval":2000} +/user/username/projects/project1/src/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/project1/src/node_modules/path/package.json: + {"pollingInterval":2000} +/user/username/projects/project1/src/package.json: + {"pollingInterval":2000} /user/username/projects/project1/src/tsconfig.json: {"pollingInterval":2000} /user/username/projects/project1/tsconfig.json: diff --git a/tests/baselines/reference/tsserver/maxNodeModuleJsDepth/should-be-set-to-2-if-the-project-has-js-root-files.js b/tests/baselines/reference/tsserver/maxNodeModuleJsDepth/should-be-set-to-2-if-the-project-has-js-root-files.js index 45b7b96ea73..8ea3bf24fd1 100644 --- a/tests/baselines/reference/tsserver/maxNodeModuleJsDepth/should-be-set-to-2-if-the-project-has-js-root-files.js +++ b/tests/baselines/reference/tsserver/maxNodeModuleJsDepth/should-be-set-to-2-if-the-project-has-js-root-files.js @@ -21,6 +21,8 @@ Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/file1.js ProjectR Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/node_modules/test/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) @@ -38,6 +40,10 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- TI:: Creating typing installer PolledWatches:: +/a/b/node_modules/package.json: *new* + {"pollingInterval":2000} +/a/b/node_modules/test/package.json: *new* + {"pollingInterval":2000} /a/lib/lib.d.ts: *new* {"pollingInterval":500} @@ -208,6 +214,10 @@ After request PolledWatches:: /a/b/bower_components: *new* {"pollingInterval":500} +/a/b/node_modules/package.json: + {"pollingInterval":2000} +/a/b/node_modules/test/package.json: + {"pollingInterval":2000} /a/lib/lib.d.ts: {"pollingInterval":500} diff --git a/tests/baselines/reference/tsserver/projectErrors/correct-errors-when-resolution-resolves-to-file-that-has-same-ambient-module-and-is-also-module.js b/tests/baselines/reference/tsserver/projectErrors/correct-errors-when-resolution-resolves-to-file-that-has-same-ambient-module-and-is-also-module.js index 26b30111d5a..3997c0ff953 100644 --- a/tests/baselines/reference/tsserver/projectErrors/correct-errors-when-resolution-resolves-to-file-that-has-same-ambient-module-and-is-also-module.js +++ b/tests/baselines/reference/tsserver/projectErrors/correct-errors-when-resolution-resolves-to-file-that-has-same-ambient-module-and-is-also-module.js @@ -79,6 +79,11 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /us Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/myproject/src 1 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/myproject/src 1 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/myproject/node_modules/@custom/plugin/package.json 2000 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/myproject/node_modules/@custom/package.json 2000 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/myproject/node_modules/package.json 2000 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/myproject/package.json 2000 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/package.json 2000 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/myproject/node_modules/@types 1 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/myproject/node_modules/@types 1 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/node_modules/@types 1 undefined Project: /users/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -184,10 +189,20 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/users/username/projects/myproject/node_modules/@custom/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/myproject/node_modules/@custom/plugin/package.json: *new* + {"pollingInterval":2000} /users/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/users/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /users/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/users/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-after-installation.js b/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-after-installation.js index 83de50078c9..f6932080cf1 100644 --- a/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-after-installation.js +++ b/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-after-installation.js @@ -857,6 +857,11 @@ Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig.jso Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@angular/core/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@angular/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms @@ -907,10 +912,20 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 0 PolledWatches:: +/user/username/projects/myproject/node_modules/@angular/core/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@angular/package.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/node_modules/@types: {"pollingInterval":500} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} PolledWatches *deleted*:: /user/username/projects/node_modules: diff --git a/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-inbetween-installation.js b/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-inbetween-installation.js index ee95d40edd1..9c2010d1896 100644 --- a/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-inbetween-installation.js +++ b/tests/baselines/reference/tsserver/projectErrors/npm-install-when-timeout-occurs-inbetween-installation.js @@ -898,6 +898,11 @@ Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig.jso Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@angular/core/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@angular/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms @@ -948,10 +953,20 @@ Info seq [hh:mm:ss:mss] event: After running Timeout callback:: count: 0 PolledWatches:: +/user/username/projects/myproject/node_modules/@angular/core/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/@angular/package.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/node_modules/@types: {"pollingInterval":500} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} PolledWatches *deleted*:: /user/username/projects/node_modules: diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built-with-preserveSymlinks.js index 8041cae2325..9cd0c54213a 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-and-solution-is-built-with-preserveSymlinks.js @@ -158,7 +158,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/index.d.ts","../../node_modules/b/lib/bar.d.ts","./src/index.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-5677608893-export declare function foo(): void;\n","-2904461644-export declare function bar(): void;\n",{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/index.d.ts","../../node_modules/b/lib/bar.d.ts","./src/index.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"3563314629-import { foo } from 'b';\nimport { bar } from 'b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -185,12 +185,22 @@ export {}; "affectsGlobalScope": true }, "../../node_modules/b/lib/index.d.ts": { + "original": { + "version": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": 1 + }, "version": "-5677608893-export declare function foo(): void;\n", - "signature": "-5677608893-export declare function foo(): void;\n" + "signature": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": "commonjs" }, "../../node_modules/b/lib/bar.d.ts": { + "original": { + "version": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": 1 + }, "version": "-2904461644-export declare function bar(): void;\n", - "signature": "-2904461644-export declare function bar(): void;\n" + "signature": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": "commonjs" }, "./src/index.ts": { "original": { @@ -220,7 +230,7 @@ export {}; }, "latestChangedDtsFile": "./lib/index.d.ts", "version": "FakeTSVersion", - "size": 990 + "size": 1050 } diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js index 8d44d6349c1..d7610c731fa 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-packageJson-has-types-field-and-has-index.ts-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js @@ -158,7 +158,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/index.d.ts","../../node_modules/@issue/b/lib/bar.d.ts","./src/index.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-5677608893-export declare function foo(): void;\n","-2904461644-export declare function bar(): void;\n",{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/index.d.ts","../../node_modules/@issue/b/lib/bar.d.ts","./src/index.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"8545527381-import { foo } from '@issue/b';\nimport { bar } from '@issue/b/lib/bar';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/index.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -185,12 +185,22 @@ export {}; "affectsGlobalScope": true }, "../../node_modules/@issue/b/lib/index.d.ts": { + "original": { + "version": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": 1 + }, "version": "-5677608893-export declare function foo(): void;\n", - "signature": "-5677608893-export declare function foo(): void;\n" + "signature": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": "commonjs" }, "../../node_modules/@issue/b/lib/bar.d.ts": { + "original": { + "version": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": 1 + }, "version": "-2904461644-export declare function bar(): void;\n", - "signature": "-2904461644-export declare function bar(): void;\n" + "signature": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": "commonjs" }, "./src/index.ts": { "original": { @@ -220,7 +230,7 @@ export {}; }, "latestChangedDtsFile": "./lib/index.d.ts", "version": "FakeTSVersion", - "size": 1018 + "size": 1078 } diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built-with-preserveSymlinks.js index 77b59efd24a..d6148cab887 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-and-solution-is-built-with-preserveSymlinks.js @@ -155,7 +155,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/foo.d.ts","../../node_modules/b/lib/bar/foo.d.ts","./src/test.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-5677608893-export declare function foo(): void;\n","-2904461644-export declare function bar(): void;\n",{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/b/lib/foo.d.ts","../../node_modules/b/lib/bar/foo.d.ts","./src/test.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"14700910833-import { foo } from 'b/lib/foo';\nimport { bar } from 'b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -182,12 +182,22 @@ export {}; "affectsGlobalScope": true }, "../../node_modules/b/lib/foo.d.ts": { + "original": { + "version": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": 1 + }, "version": "-5677608893-export declare function foo(): void;\n", - "signature": "-5677608893-export declare function foo(): void;\n" + "signature": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": "commonjs" }, "../../node_modules/b/lib/bar/foo.d.ts": { + "original": { + "version": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": 1 + }, "version": "-2904461644-export declare function bar(): void;\n", - "signature": "-2904461644-export declare function bar(): void;\n" + "signature": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": "commonjs" }, "./src/test.ts": { "original": { @@ -217,7 +227,7 @@ export {}; }, "latestChangedDtsFile": "./lib/test.d.ts", "version": "FakeTSVersion", - "size": 1003 + "size": 1063 } diff --git a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js index 5350c8a3d27..e4cd3ac674b 100644 --- a/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js +++ b/tests/baselines/reference/tsserver/projectReferences/monorepo-like-with-symlinks-when-referencing-file-from-subFolder-with-scoped-package-and-solution-is-built-with-preserveSymlinks.js @@ -155,7 +155,7 @@ export {}; //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo] -{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/foo.d.ts","../../node_modules/@issue/b/lib/bar/foo.d.ts","./src/test.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},"-5677608893-export declare function foo(): void;\n","-2904461644-export declare function bar(): void;\n",{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts","version":"FakeTSVersion"} +{"fileNames":["../../../../../../a/lib/lib.d.ts","../../node_modules/@issue/b/lib/foo.d.ts","../../node_modules/@issue/b/lib/bar/foo.d.ts","./src/test.ts"],"fileIdsList":[[2,3]],"fileInfos":[{"version":"-7698705165-/// \ninterface Boolean {}\ninterface Function {}\ninterface CallableFunction {}\ninterface NewableFunction {}\ninterface IArguments {}\ninterface Number { toExponential: any; }\ninterface Object {}\ninterface RegExp {}\ninterface String { charAt: any; }\ninterface Array { length: number; [n: number]: T; }","affectsGlobalScope":true},{"version":"-5677608893-export declare function foo(): void;\n","impliedFormat":1},{"version":"-2904461644-export declare function bar(): void;\n","impliedFormat":1},{"version":"-20350237855-import { foo } from '@issue/b/lib/foo';\nimport { bar } from '@issue/b/lib/bar/foo';\nfoo();\nbar();\n","signature":"-3531856636-export {};\n"}],"root":[4],"options":{"composite":true,"outDir":"./lib","rootDir":"./src"},"referencedMap":[[4,1]],"latestChangedDtsFile":"./lib/test.d.ts","version":"FakeTSVersion"} //// [/user/username/projects/myproject/packages/A/tsconfig.tsbuildinfo.readable.baseline.txt] { @@ -182,12 +182,22 @@ export {}; "affectsGlobalScope": true }, "../../node_modules/@issue/b/lib/foo.d.ts": { + "original": { + "version": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": 1 + }, "version": "-5677608893-export declare function foo(): void;\n", - "signature": "-5677608893-export declare function foo(): void;\n" + "signature": "-5677608893-export declare function foo(): void;\n", + "impliedFormat": "commonjs" }, "../../node_modules/@issue/b/lib/bar/foo.d.ts": { + "original": { + "version": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": 1 + }, "version": "-2904461644-export declare function bar(): void;\n", - "signature": "-2904461644-export declare function bar(): void;\n" + "signature": "-2904461644-export declare function bar(): void;\n", + "impliedFormat": "commonjs" }, "./src/test.ts": { "original": { @@ -217,7 +227,7 @@ export {}; }, "latestChangedDtsFile": "./lib/test.d.ts", "version": "FakeTSVersion", - "size": 1032 + "size": 1092 } diff --git a/tests/baselines/reference/tsserver/projects/does-not-look-beyond-node_modules-folders-for-default-configured-projects.js b/tests/baselines/reference/tsserver/projects/does-not-look-beyond-node_modules-folders-for-default-configured-projects.js index 172611e77eb..fef08494a21 100644 --- a/tests/baselines/reference/tsserver/projects/does-not-look-beyond-node_modules-folders-for-default-configured-projects.js +++ b/tests/baselines/reference/tsserver/projects/does-not-look-beyond-node_modules-folders-for-default-configured-projects.js @@ -52,6 +52,9 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /pr Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /project/tsconfig.json Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /project/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /project/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/@types/a/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/@types/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/@types/b/package.json 2000 undefined Project: /project/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /project/tsconfig.json WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /project/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/project/tsconfig.json' (Configured) @@ -201,6 +204,12 @@ After request PolledWatches:: /a/lib/lib.d.ts: *new* {"pollingInterval":500} +/project/node_modules/@types/a/package.json: *new* + {"pollingInterval":2000} +/project/node_modules/@types/b/package.json: *new* + {"pollingInterval":2000} +/project/node_modules/@types/package.json: *new* + {"pollingInterval":2000} FsWatches:: /project/tsconfig.json: *new* @@ -266,6 +275,9 @@ Info seq [hh:mm:ss:mss] Config: /project/node_modules/@types/a/tsconfig.json : Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /project/node_modules/@types/a 1 undefined Config: /project/node_modules/@types/a/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /project/node_modules/@types/a 1 undefined Config: /project/node_modules/@types/a/tsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /project/node_modules/@types/a/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/@types/a/package.json 2000 undefined Project: /project/node_modules/@types/a/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/@types/package.json 2000 undefined Project: /project/node_modules/@types/a/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /project/node_modules/@types/b/package.json 2000 undefined Project: /project/node_modules/@types/a/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /project/node_modules/@types/a/tsconfig.json WatchType: Missing file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /project/node_modules/@types/a/node_modules/@types 1 undefined Project: /project/node_modules/@types/a/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /project/node_modules/@types/a/node_modules/@types 1 undefined Project: /project/node_modules/@types/a/tsconfig.json WatchType: Type roots @@ -423,8 +435,14 @@ PolledWatches:: {"pollingInterval":500} /project/node_modules/@types/a/node_modules/@types: *new* {"pollingInterval":500} +/project/node_modules/@types/a/package.json: + {"pollingInterval":2000} +/project/node_modules/@types/b/package.json: + {"pollingInterval":2000} /project/node_modules/@types/node_modules/@types: *new* {"pollingInterval":500} +/project/node_modules/@types/package.json: + {"pollingInterval":2000} FsWatches:: /project/node_modules/@types/a/tsconfig.json: *new* @@ -509,8 +527,14 @@ PolledWatches:: {"pollingInterval":500} /project/node_modules/@types/a/node_modules/@types: {"pollingInterval":500} +/project/node_modules/@types/a/package.json: + {"pollingInterval":2000} +/project/node_modules/@types/b/package.json: + {"pollingInterval":2000} /project/node_modules/@types/node_modules/@types: {"pollingInterval":500} +/project/node_modules/@types/package.json: + {"pollingInterval":2000} FsWatches:: /project/node_modules/@types/a/tsconfig.json: diff --git a/tests/baselines/reference/tsserver/reloadProjects/configured-project.js b/tests/baselines/reference/tsserver/reloadProjects/configured-project.js index 0248c548487..dbf4ef4921f 100644 --- a/tests/baselines/reference/tsserver/reloadProjects/configured-project.js +++ b/tests/baselines/reference/tsserver/reloadProjects/configured-project.js @@ -292,6 +292,10 @@ Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/pro Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"]} WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"]} WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -373,8 +377,16 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/user/username/projects/myproject/node_modules/module1/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} *new* +/user/username/projects/package.json: *new* + {"pollingInterval":2000} PolledWatches *deleted*:: /user/username/projects/node_modules: @@ -440,6 +452,10 @@ Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.j Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/file1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -469,6 +485,10 @@ Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -550,12 +570,28 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} *new* /user/username/projects/node_modules/@types: {"pollingInterval":500} *new* +/user/username/projects/package.json: + {"pollingInterval":2000} *new* PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -612,6 +648,10 @@ Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.j Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/file1.ts ProjectRootPath: undefined:: Result: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -644,6 +684,10 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /us Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject 0 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject 0 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -724,12 +768,28 @@ After request PolledWatches:: /user/username/projects/myproject/file2: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} *new* /user/username/projects/node_modules/@types: {"pollingInterval":500} *new* +/user/username/projects/package.json: + {"pollingInterval":2000} *new* PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: diff --git a/tests/baselines/reference/tsserver/reloadProjects/external-project-with-config-file.js b/tests/baselines/reference/tsserver/reloadProjects/external-project-with-config-file.js index 35a38edf7fd..777a67b5d3f 100644 --- a/tests/baselines/reference/tsserver/reloadProjects/external-project-with-config-file.js +++ b/tests/baselines/reference/tsserver/reloadProjects/external-project-with-config-file.js @@ -369,6 +369,10 @@ Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/pro Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"]} WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"]} WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -451,8 +455,16 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/user/username/projects/myproject/node_modules/module1/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} *new* +/user/username/projects/package.json: *new* + {"pollingInterval":2000} PolledWatches *deleted*:: /user/username/projects/node_modules: @@ -517,6 +529,10 @@ Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earli Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -546,6 +562,10 @@ Info seq [hh:mm:ss:mss] Config: /user/username/projects/myproject/tsconfig.json } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -628,12 +648,28 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} *new* /user/username/projects/node_modules/@types: {"pollingInterval":500} *new* +/user/username/projects/package.json: + {"pollingInterval":2000} *new* PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -689,6 +725,10 @@ Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earli Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/tsconfig.json, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -721,6 +761,10 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /us Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject 0 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject 0 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -802,12 +846,28 @@ After request PolledWatches:: /user/username/projects/myproject/file2: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} *new* /user/username/projects/node_modules/@types: {"pollingInterval":500} *new* +/user/username/projects/package.json: + {"pollingInterval":2000} *new* PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: diff --git a/tests/baselines/reference/tsserver/reloadProjects/external-project.js b/tests/baselines/reference/tsserver/reloadProjects/external-project.js index d7bbf697ba5..383361a063f 100644 --- a/tests/baselines/reference/tsserver/reloadProjects/external-project.js +++ b/tests/baselines/reference/tsserver/reloadProjects/external-project.js @@ -266,6 +266,10 @@ Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/pro Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"]} WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"]} WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Type roots @@ -327,8 +331,16 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/user/username/projects/myproject/node_modules/module1/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} *new* +/user/username/projects/package.json: *new* + {"pollingInterval":2000} PolledWatches *deleted*:: /user/username/projects/node_modules: @@ -389,11 +401,19 @@ Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earli Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/project.sln, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Type roots Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/project.sln Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Type roots @@ -455,12 +475,28 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} *new* /user/username/projects/node_modules/@types: {"pollingInterval":500} *new* +/user/username/projects/package.json: + {"pollingInterval":2000} *new* PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -512,6 +548,10 @@ Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earli Info seq [hh:mm:ss:mss] Scheduled: /user/username/projects/myproject/project.sln, Cancelled earlier one Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Type roots @@ -521,6 +561,10 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /us Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject 0 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject 0 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/file2.ts 500 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Missing file Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.sln WatchType: Type roots @@ -582,12 +626,28 @@ After request PolledWatches:: /user/username/projects/myproject/file2: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} *new* /user/username/projects/node_modules/@types: {"pollingInterval":500} *new* +/user/username/projects/package.json: + {"pollingInterval":2000} *new* PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: diff --git a/tests/baselines/reference/tsserver/reloadProjects/inferred-project.js b/tests/baselines/reference/tsserver/reloadProjects/inferred-project.js index 7723b6b7499..efea83cdac9 100644 --- a/tests/baselines/reference/tsserver/reloadProjects/inferred-project.js +++ b/tests/baselines/reference/tsserver/reloadProjects/inferred-project.js @@ -199,6 +199,10 @@ Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferred Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"]} WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"]} WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots @@ -253,10 +257,18 @@ After request PolledWatches:: /user/username/projects/myproject/jsconfig.json: {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/module1/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/tsconfig.json: {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} *new* +/user/username/projects/package.json: *new* + {"pollingInterval":2000} PolledWatches *deleted*:: /user/username/projects/node_modules: @@ -318,6 +330,10 @@ Info seq [hh:mm:ss:mss] Scheduled: /dev/null/inferredProject1*, Cancelled earli Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/file1.ts ProjectRootPath: /user/username/projects/myproject:: Result: undefined Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots @@ -331,6 +347,10 @@ Info seq [hh:mm:ss:mss] FileName: /user/username/projects/myproject/file1.ts P Info seq [hh:mm:ss:mss] Projects: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots @@ -385,14 +405,30 @@ After request PolledWatches:: /user/username/projects/myproject/jsconfig.json: {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} *new* /user/username/projects/myproject/tsconfig.json: {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} *new* +/user/username/projects/package.json: + {"pollingInterval":2000} *new* PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: @@ -445,6 +481,10 @@ Info seq [hh:mm:ss:mss] Scheduled: /dev/null/inferredProject1*, Cancelled earli Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /user/username/projects/myproject/file1.ts ProjectRootPath: /user/username/projects/myproject:: Result: undefined Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Close:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots @@ -462,6 +502,10 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /us Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject 0 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject 0 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module1/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeFiles":["/user/username/projects/myproject/file2.ts"],"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots @@ -516,14 +560,30 @@ PolledWatches:: {"pollingInterval":500} /user/username/projects/myproject/jsconfig.json: {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} *new* +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} *new* /user/username/projects/myproject/tsconfig.json: {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} *new* +/user/username/projects/package.json: + {"pollingInterval":2000} *new* PolledWatches *deleted*:: +/user/username/projects/myproject/node_modules/module1/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: diff --git a/tests/baselines/reference/tsserver/resolutionCache/avoid-unnecessary-lookup-invalidation-on-save.js b/tests/baselines/reference/tsserver/resolutionCache/avoid-unnecessary-lookup-invalidation-on-save.js index 0bab571af64..c5180ef505e 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/avoid-unnecessary-lookup-invalidation-on-save.js +++ b/tests/baselines/reference/tsserver/resolutionCache/avoid-unnecessary-lookup-invalidation-on-save.js @@ -91,8 +91,23 @@ Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/mo Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/module2/index.ts' exists - use it as a name resolution result. Info seq [hh:mm:ss:mss] Resolving real path for '/user/username/projects/myproject/node_modules/module2/index.ts', result '/user/username/projects/myproject/node_modules/module2/index.ts'. Info seq [hh:mm:ss:mss] ======== Module name 'module2' was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'. ======== +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/src/node_modules/module1/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/src/node_modules/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/src/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist. Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/module2/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info @@ -100,6 +115,13 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/node_modules/module1/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/node_modules/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module2/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -209,8 +231,22 @@ After request PolledWatches:: /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/module2/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/src/node_modules/module1/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/src/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/src/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tsserver/resolutionCache/can-load-typings-that-are-proper-modules.js b/tests/baselines/reference/tsserver/resolutionCache/can-load-typings-that-are-proper-modules.js index dc4920b581b..a33a6f3b9f9 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/can-load-typings-that-are-proper-modules.js +++ b/tests/baselines/reference/tsserver/resolutionCache/can-load-typings-that-are-proper-modules.js @@ -58,6 +58,15 @@ Info seq [hh:mm:ss:mss] File '/a/cache/node_modules/lib.d.ts' does not exist. Info seq [hh:mm:ss:mss] File '/a/cache/node_modules/@types/lib/package.json' does not exist. Info seq [hh:mm:ss:mss] File '/a/cache/node_modules/@types/lib.d.ts' does not exist. Info seq [hh:mm:ss:mss] File '/a/cache/node_modules/@types/lib/index.d.ts' exists - use it as a name resolution result. +Info seq [hh:mm:ss:mss] File '/a/cache/node_modules/@types/lib/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/a/cache/node_modules/@types/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/a/cache/node_modules/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/a/cache/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/a/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist. +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/@types/lib/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/@types/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) @@ -75,6 +84,12 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- TI:: Creating typing installer PolledWatches:: +/a/cache/node_modules/@types/lib/package.json: *new* + {"pollingInterval":2000} +/a/cache/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/cache/node_modules/package.json: *new* + {"pollingInterval":2000} /a/lib/lib.d.ts: *new* {"pollingInterval":500} @@ -228,6 +243,12 @@ PolledWatches:: {"pollingInterval":500} /a/b/node_modules: *new* {"pollingInterval":500} +/a/cache/node_modules/@types/lib/package.json: + {"pollingInterval":2000} +/a/cache/node_modules/@types/package.json: + {"pollingInterval":2000} +/a/cache/node_modules/package.json: + {"pollingInterval":2000} /a/lib/lib.d.ts: {"pollingInterval":500} diff --git a/tests/baselines/reference/tsserver/resolutionCache/non-relative-module-name-from-files-in-different-folders.js b/tests/baselines/reference/tsserver/resolutionCache/non-relative-module-name-from-files-in-different-folders.js index c10b03c5457..f568e15334a 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/non-relative-module-name-from-files-in-different-folders.js +++ b/tests/baselines/reference/tsserver/resolutionCache/non-relative-module-name-from-files-in-different-folders.js @@ -108,8 +108,23 @@ Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/mo Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/module2/index.ts' exists - use it as a name resolution result. Info seq [hh:mm:ss:mss] Resolving real path for '/user/username/projects/myproject/node_modules/module2/index.ts', result '/user/username/projects/myproject/node_modules/module2/index.ts'. Info seq [hh:mm:ss:mss] ======== Module name 'module2' was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'. ======== +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/node_modules/module1/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/node_modules/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist. Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/module2/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] ======== Resolving module 'module1' from '/user/username/projects/myproject/product/src/feature/file2.ts'. ======== @@ -159,6 +174,13 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product/node_modules/module1/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product/node_modules/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module2/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -283,8 +305,22 @@ After request PolledWatches:: /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/module2/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/product/node_modules/module1/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/product/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/product/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -413,8 +449,38 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/node_modules/module1/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/module2/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module 'module1' from '/user/username/projects/myproject/product/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/product/node_modules/module1/index.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module 'module2' from '/user/username/projects/myproject/product/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/node_modules/module1/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/module2/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module 'module1' from '/user/username/projects/myproject/product/src/feature/file2.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/product/node_modules/module1/index.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module 'module2' from '/user/username/projects/myproject/product/src/feature/file2.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module 'module1' from '/user/username/projects/myproject/product/test/file4.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/product/node_modules/module1/index.ts'. diff --git a/tests/baselines/reference/tsserver/resolutionCache/non-relative-module-name-from-files-in-same-folder.js b/tests/baselines/reference/tsserver/resolutionCache/non-relative-module-name-from-files-in-same-folder.js index 204c4b900c2..9f044d21538 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/non-relative-module-name-from-files-in-same-folder.js +++ b/tests/baselines/reference/tsserver/resolutionCache/non-relative-module-name-from-files-in-same-folder.js @@ -96,8 +96,23 @@ Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/mo Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/module2/index.ts' exists - use it as a name resolution result. Info seq [hh:mm:ss:mss] Resolving real path for '/user/username/projects/myproject/node_modules/module2/index.ts', result '/user/username/projects/myproject/node_modules/module2/index.ts'. Info seq [hh:mm:ss:mss] ======== Module name 'module2' was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'. ======== +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/src/node_modules/module1/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/src/node_modules/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/src/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist. Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/module2/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] ======== Resolving module 'module1' from '/user/username/projects/myproject/src/file2.ts'. ======== @@ -111,6 +126,13 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/node_modules/module1/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/node_modules/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module2/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -225,8 +247,22 @@ After request PolledWatches:: /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/module2/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/src/node_modules/module1/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/src/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/src/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -319,8 +355,38 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] Running: /user/username/projects/myproject/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/src/node_modules/module1/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/src/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/module2/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module 'module1' from '/user/username/projects/myproject/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/src/node_modules/module1/index.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module 'module2' from '/user/username/projects/myproject/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/src/node_modules/module1/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/src/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/src/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/module2/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module 'module1' from '/user/username/projects/myproject/src/file2.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/src/node_modules/module1/index.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module 'module2' from '/user/username/projects/myproject/src/file2.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'. Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/myproject/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms diff --git a/tests/baselines/reference/tsserver/resolutionCache/non-relative-module-name-from-inferred-project.js b/tests/baselines/reference/tsserver/resolutionCache/non-relative-module-name-from-inferred-project.js index 68e3d8e4bc3..3232f1a7769 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/non-relative-module-name-from-inferred-project.js +++ b/tests/baselines/reference/tsserver/resolutionCache/non-relative-module-name-from-inferred-project.js @@ -128,8 +128,23 @@ Info seq [hh:mm:ss:mss] Searching all ancestor node_modules directories for pre Info seq [hh:mm:ss:mss] Directory '/user/username/projects/myproject/product/src/feature/node_modules' does not exist, skipping all lookups in it. Info seq [hh:mm:ss:mss] Resolution for module 'module2' was found in cache from location '/user/username/projects/myproject/product/src'. Info seq [hh:mm:ss:mss] ======== Module name 'module2' was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'. ======== +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/node_modules/module1/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/node_modules/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist. Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/module2/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product/test/file4.ts 500 undefined WatchType: Closed Script info @@ -175,6 +190,13 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product/test/src/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product/node_modules/module1/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/module2/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product/src/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product/src/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/product/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots @@ -242,10 +264,22 @@ PolledWatches:: {"pollingInterval":2000} /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/module2/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/product/jsconfig.json: *new* {"pollingInterval":2000} /user/username/projects/myproject/product/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/product/node_modules/module1/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/product/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/product/package.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/product/src/jsconfig.json: *new* {"pollingInterval":2000} /user/username/projects/myproject/product/src/node_modules: *new* @@ -264,6 +298,8 @@ PolledWatches:: {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -388,6 +424,21 @@ ScriptInfos:: Info seq [hh:mm:ss:mss] Running: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/node_modules/module1/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/module2/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module './feature/file2' from '/user/username/projects/myproject/product/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/product/src/feature/file2.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module '../test/file4' from '/user/username/projects/myproject/product/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/product/test/file4.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module '../test/src/file3' from '/user/username/projects/myproject/product/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/product/test/src/file3.ts'. @@ -395,6 +446,21 @@ Info seq [hh:mm:ss:mss] Reusing resolution of module 'module1' from '/user/user Info seq [hh:mm:ss:mss] Reusing resolution of module 'module2' from '/user/username/projects/myproject/product/src/file1.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module 'module1' from '/user/username/projects/myproject/product/src/feature/file2.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/product/node_modules/module1/index.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module 'module2' from '/user/username/projects/myproject/product/src/feature/file2.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/node_modules/module1/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/product/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/module2/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/node_modules/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/myproject/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/projects/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/username/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/user/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist according to earlier cached lookups. Info seq [hh:mm:ss:mss] Reusing resolution of module 'module1' from '/user/username/projects/myproject/product/test/file4.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/product/node_modules/module1/index.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module 'module2' from '/user/username/projects/myproject/product/test/file4.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/node_modules/module2/index.ts'. Info seq [hh:mm:ss:mss] Reusing resolution of module 'module1' from '/user/username/projects/myproject/product/test/src/file3.ts' of old program, it was successfully resolved to '/user/username/projects/myproject/product/node_modules/module1/index.ts'. diff --git a/tests/baselines/reference/tsserver/resolutionCache/not-sharing-across-references.js b/tests/baselines/reference/tsserver/resolutionCache/not-sharing-across-references.js index 29e2f24fc59..6ffbe7788cc 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/not-sharing-across-references.js +++ b/tests/baselines/reference/tsserver/resolutionCache/not-sharing-across-references.js @@ -117,6 +117,12 @@ Info seq [hh:mm:ss:mss] File '/users/username/projects/node_modules/moduleX/ind Info seq [hh:mm:ss:mss] File '/users/username/projects/node_modules/moduleX/index.d.ts' exists - use it as a name resolution result. Info seq [hh:mm:ss:mss] Resolving real path for '/users/username/projects/node_modules/moduleX/index.d.ts', result '/users/username/projects/node_modules/moduleX/index.d.ts'. Info seq [hh:mm:ss:mss] ======== Module name 'moduleX' was successfully resolved to '/users/username/projects/node_modules/moduleX/index.d.ts'. ======== +Info seq [hh:mm:ss:mss] File '/users/username/projects/node_modules/moduleX/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/users/username/projects/node_modules/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/users/username/projects/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/users/username/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/users/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist. Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] ======== Resolving module '../common/moduleB' from '/users/username/projects/app/appB.ts'. ======== @@ -146,6 +152,9 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/p Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/node_modules 1 undefined Project: /users/username/projects/app/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/common/node_modules 1 undefined Project: /users/username/projects/app/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/common/node_modules 1 undefined Project: /users/username/projects/app/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/node_modules/moduleX/package.json 2000 undefined Project: /users/username/projects/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/node_modules/package.json 2000 undefined Project: /users/username/projects/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/package.json 2000 undefined Project: /users/username/projects/app/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /users/username/projects/app/tsconfig.json WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /users/username/projects/app/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/users/username/projects/app/tsconfig.json' (Configured) @@ -306,6 +315,12 @@ PolledWatches:: {"pollingInterval":500} /users/username/projects/common/node_modules: *new* {"pollingInterval":500} +/users/username/projects/node_modules/moduleX/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/node_modules/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /users/username/projects/app/appA.ts: *new* diff --git a/tests/baselines/reference/tsserver/resolutionCache/npm-install-@types-works.js b/tests/baselines/reference/tsserver/resolutionCache/npm-install-@types-works.js index 75cb1464391..cd63b42dcfc 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/npm-install-@types-works.js +++ b/tests/baselines/reference/tsserver/resolutionCache/npm-install-@types-works.js @@ -289,6 +289,11 @@ Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earli Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /a/b/projects/temp/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /a/b/projects/temp/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/projects/temp/node_modules/@types/pad/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/projects/temp/node_modules/@types/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/projects/temp/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/projects/temp/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /a/b/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /a/b/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms @@ -313,8 +318,18 @@ After running Timeout callback:: count: 1 PolledWatches:: /a/b/projects/node_modules/@types: {"pollingInterval":500} +/a/b/projects/package.json: *new* + {"pollingInterval":2000} /a/b/projects/temp/jsconfig.json: {"pollingInterval":2000} +/a/b/projects/temp/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/b/projects/temp/node_modules/@types/pad/package.json: *new* + {"pollingInterval":2000} +/a/b/projects/temp/node_modules/package.json: *new* + {"pollingInterval":2000} +/a/b/projects/temp/package.json: *new* + {"pollingInterval":2000} /a/b/projects/temp/tsconfig.json: {"pollingInterval":2000} diff --git a/tests/baselines/reference/tsserver/resolutionCache/sharing-across-references.js b/tests/baselines/reference/tsserver/resolutionCache/sharing-across-references.js index 0f53043137f..e0b3a4522a5 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/sharing-across-references.js +++ b/tests/baselines/reference/tsserver/resolutionCache/sharing-across-references.js @@ -115,6 +115,12 @@ Info seq [hh:mm:ss:mss] File '/users/username/projects/node_modules/moduleX/ind Info seq [hh:mm:ss:mss] File '/users/username/projects/node_modules/moduleX/index.d.ts' exists - use it as a name resolution result. Info seq [hh:mm:ss:mss] Resolving real path for '/users/username/projects/node_modules/moduleX/index.d.ts', result '/users/username/projects/node_modules/moduleX/index.d.ts'. Info seq [hh:mm:ss:mss] ======== Module name 'moduleX' was successfully resolved to '/users/username/projects/node_modules/moduleX/index.d.ts'. ======== +Info seq [hh:mm:ss:mss] File '/users/username/projects/node_modules/moduleX/package.json' does not exist according to earlier cached lookups. +Info seq [hh:mm:ss:mss] File '/users/username/projects/node_modules/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/users/username/projects/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/users/username/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/users/package.json' does not exist. +Info seq [hh:mm:ss:mss] File '/package.json' does not exist. Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] ======== Resolving module '../common/moduleB' from '/users/username/projects/app/appB.ts'. ======== @@ -137,6 +143,9 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/p Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/node_modules 1 undefined Project: /users/username/projects/app/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/common/node_modules 1 undefined Project: /users/username/projects/app/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/common/node_modules 1 undefined Project: /users/username/projects/app/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/node_modules/moduleX/package.json 2000 undefined Project: /users/username/projects/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/node_modules/package.json 2000 undefined Project: /users/username/projects/app/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/package.json 2000 undefined Project: /users/username/projects/app/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /users/username/projects/app/tsconfig.json WatchType: Missing file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/app/node_modules/@types 1 undefined Project: /users/username/projects/app/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/app/node_modules/@types 1 undefined Project: /users/username/projects/app/tsconfig.json WatchType: Type roots @@ -304,6 +313,12 @@ PolledWatches:: {"pollingInterval":500} /users/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/users/username/projects/node_modules/moduleX/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/node_modules/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /users/username/projects/app/appA.ts: *new* diff --git a/tests/baselines/reference/tsserver/resolutionCache/types-should-load-from-config-file-path-if-config-exists.js b/tests/baselines/reference/tsserver/resolutionCache/types-should-load-from-config-file-path-if-config-exists.js index c90b1a22500..c130a379f89 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/types-should-load-from-config-file-path-if-config-exists.js +++ b/tests/baselines/reference/tsserver/resolutionCache/types-should-load-from-config-file-path-if-config-exists.js @@ -55,6 +55,9 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /a/ Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /a/b/tsconfig.json Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/node_modules/@types/node/package.json 2000 undefined Project: /a/b/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/node_modules/@types/package.json 2000 undefined Project: /a/b/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/node_modules/package.json 2000 undefined Project: /a/b/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /a/b/tsconfig.json WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /a/b/tsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/a/b/tsconfig.json' (Configured) @@ -201,6 +204,12 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/a/b/node_modules/@types/node/package.json: *new* + {"pollingInterval":2000} +/a/b/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/b/node_modules/package.json: *new* + {"pollingInterval":2000} /a/lib/lib.d.ts: *new* {"pollingInterval":500} diff --git a/tests/baselines/reference/tsserver/resolutionCache/when-watching-node_modules-as-part-of-wild-card-directories-in-config-project.js b/tests/baselines/reference/tsserver/resolutionCache/when-watching-node_modules-as-part-of-wild-card-directories-in-config-project.js index a01160c910d..2893d57ec30 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/when-watching-node_modules-as-part-of-wild-card-directories-in-config-project.js +++ b/tests/baselines/reference/tsserver/resolutionCache/when-watching-node_modules-as-part-of-wild-card-directories-in-config-project.js @@ -62,6 +62,10 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /us Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/somemodule/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -166,8 +170,16 @@ After request PolledWatches:: /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/somemodule/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tsserver/resolutionCache/when-watching-node_modules-in-inferred-project-for-failed-lookup/closed-script-infos.js b/tests/baselines/reference/tsserver/resolutionCache/when-watching-node_modules-in-inferred-project-for-failed-lookup/closed-script-infos.js index 9a4b43284c6..d2d249d0e75 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/when-watching-node_modules-in-inferred-project-for-failed-lookup/closed-script-infos.js +++ b/tests/baselines/reference/tsserver/resolutionCache/when-watching-node_modules-in-inferred-project-for-failed-lookup/closed-script-infos.js @@ -39,6 +39,10 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /us Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/somemodule/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots @@ -84,10 +88,18 @@ PolledWatches:: {"pollingInterval":2000} /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/somemodule/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/tsconfig.json: *new* {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tsserver/resolutionCache/works-correctly-when-typings-are-added-or-removed.js b/tests/baselines/reference/tsserver/resolutionCache/works-correctly-when-typings-are-added-or-removed.js index 8253d4c79e7..440cc3bb020 100644 --- a/tests/baselines/reference/tsserver/resolutionCache/works-correctly-when-typings-are-added-or-removed.js +++ b/tests/baselines/reference/tsserver/resolutionCache/works-correctly-when-typings-are-added-or-removed.js @@ -53,6 +53,11 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/p Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules 1 undefined Project: /users/username/projects/project/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/@types/lib1/package.json 2000 undefined Project: /users/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/@types/package.json 2000 undefined Project: /users/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/package.json 2000 undefined Project: /users/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/project/package.json 2000 undefined Project: /users/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/package.json 2000 undefined Project: /users/username/projects/project/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /users/username/projects/project/tsconfig.json WatchType: Missing file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/@types 1 undefined Project: /users/username/projects/project/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/@types 1 undefined Project: /users/username/projects/project/tsconfig.json WatchType: Type roots @@ -203,6 +208,16 @@ PolledWatches:: {"pollingInterval":500} /users/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/users/username/projects/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/node_modules/@types/lib1/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/node_modules/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/package.json: *new* + {"pollingInterval":2000} FsWatches:: /users/username/projects/project/tsconfig.json: *new* @@ -280,6 +295,11 @@ Info seq [hh:mm:ss:mss] Running: /users/username/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /users/username/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/node_modules 1 undefined Project: /users/username/projects/project/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /users/username/projects/node_modules 1 undefined Project: /users/username/projects/project/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /users/username/projects/project/node_modules/@types/lib1/package.json 2000 undefined Project: /users/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /users/username/projects/project/node_modules/@types/package.json 2000 undefined Project: /users/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /users/username/projects/project/node_modules/package.json 2000 undefined Project: /users/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /users/username/projects/project/package.json 2000 undefined Project: /users/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /users/username/projects/package.json 2000 undefined Project: /users/username/projects/project/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /users/username/projects/project/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (1) @@ -391,6 +411,18 @@ PolledWatches:: /users/username/projects/node_modules/@types: {"pollingInterval":500} +PolledWatches *deleted*:: +/users/username/projects/package.json: + {"pollingInterval":2000} +/users/username/projects/project/node_modules/@types/lib1/package.json: + {"pollingInterval":2000} +/users/username/projects/project/node_modules/@types/package.json: + {"pollingInterval":2000} +/users/username/projects/project/node_modules/package.json: + {"pollingInterval":2000} +/users/username/projects/project/package.json: + {"pollingInterval":2000} + FsWatches:: /users/username/projects/project/tsconfig.json: {} @@ -456,6 +488,11 @@ Projects:: Info seq [hh:mm:ss:mss] Running: /users/username/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /users/username/projects/project/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/@types/lib2/package.json 2000 undefined Project: /users/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/@types/package.json 2000 undefined Project: /users/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/project/node_modules/package.json 2000 undefined Project: /users/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/project/package.json 2000 undefined Project: /users/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /users/username/projects/package.json 2000 undefined Project: /users/username/projects/project/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /users/username/projects/project/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/users/username/projects/project/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) @@ -500,6 +537,36 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/a/lib/lib.d.ts: + {"pollingInterval":500} +/users/username/projects/node_modules: + {"pollingInterval":500} +/users/username/projects/node_modules/@types: + {"pollingInterval":500} +/users/username/projects/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/node_modules/@types/lib2/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/node_modules/package.json: *new* + {"pollingInterval":2000} +/users/username/projects/project/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/users/username/projects/project/tsconfig.json: + {} + +FsWatchesRecursive:: +/users/username/projects/project: + {} +/users/username/projects/project/node_modules: + {} +/users/username/projects/project/node_modules/@types: + {} + Timeout callback:: count: 0 14: /users/username/projects/project/tsconfig.jsonFailedLookupInvalidation *deleted* diff --git a/tests/baselines/reference/tsserver/symLinks/when-not-symlink-but-differs-in-casing.js b/tests/baselines/reference/tsserver/symLinks/when-not-symlink-but-differs-in-casing.js index 2048e131b2b..208e061ae43 100644 --- a/tests/baselines/reference/tsserver/symLinks/when-not-symlink-but-differs-in-casing.js +++ b/tests/baselines/reference/tsserver/symLinks/when-not-symlink-but-differs-in-casing.js @@ -86,6 +86,7 @@ Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 depe Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: c:/temp/replay/axios-src/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: c:/temp/replay/axios-src/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: C:/temp/replay/axios-src/node_modules/follow-redirects/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -152,6 +153,8 @@ c:/temp/replay/tsconfig.json: *new* {"pollingInterval":2000} FsWatches:: +C:/temp/replay/axios-src/node_modules/follow-redirects/package.json: *new* + {} c:/temp/replay/axios-src/package.json: *new* {} @@ -319,6 +322,8 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: c:/ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: c:/temp/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: c:/temp/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: C:/a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: C:/temp/replay/axios-src/node_modules/follow-redirects/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: C:/temp/replay/axios-src/node_modules/follow-redirects/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject2*' (Inferred) Info seq [hh:mm:ss:mss] Files (4) @@ -384,7 +389,7 @@ c:/temp/replay/tsconfig.json: {"pollingInterval":2000} FsWatches:: -C:/temp/replay/axios-src/node_modules/follow-redirects/package.json: *new* +C:/temp/replay/axios-src/node_modules/follow-redirects/package.json: {} c:/temp/replay/axios-src/lib/core: *new* {} @@ -476,6 +481,7 @@ Info seq [hh:mm:ss:mss] Files (2) Info seq [hh:mm:ss:mss] ----------------------------------------------- Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 dependencies 0 referenced projects in * ms Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject2* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: C:/temp/replay/axios-src/node_modules/follow-redirects/package.json 2000 undefined Project: /dev/null/autoImportProviderProject2* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject2* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject2*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) diff --git a/tests/baselines/reference/tsserver/typeAquisition/prefer-typings-in-second-pass.js b/tests/baselines/reference/tsserver/typeAquisition/prefer-typings-in-second-pass.js index 9c512b9a45f..859e78dcaae 100644 --- a/tests/baselines/reference/tsserver/typeAquisition/prefer-typings-in-second-pass.js +++ b/tests/baselines/reference/tsserver/typeAquisition/prefer-typings-in-second-pass.js @@ -59,6 +59,9 @@ Info seq [hh:mm:ss:mss] Config: /a/b/jsconfig.json : { Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /a/b 1 undefined Config: /a/b/jsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /a/b 1 undefined Config: /a/b/jsconfig.json WatchType: Wild card directory Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /a/b/jsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/typings/node_modules/@types/bar/package.json 2000 undefined Project: /a/b/jsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/typings/node_modules/@types/package.json 2000 undefined Project: /a/b/jsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/typings/node_modules/package.json 2000 undefined Project: /a/b/jsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /a/b/jsconfig.json WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /a/b/jsconfig.json projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/a/b/jsconfig.json' (Configured) @@ -78,6 +81,12 @@ TI:: Creating typing installer PolledWatches:: /a/lib/lib.d.ts: *new* {"pollingInterval":500} +/a/typings/node_modules/@types/bar/package.json: *new* + {"pollingInterval":2000} +/a/typings/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/typings/node_modules/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/b/jsconfig.json: *new* @@ -358,6 +367,12 @@ PolledWatches:: {"pollingInterval":500} /a/lib/lib.d.ts: {"pollingInterval":500} +/a/typings/node_modules/@types/bar/package.json: + {"pollingInterval":2000} +/a/typings/node_modules/@types/package.json: + {"pollingInterval":2000} +/a/typings/node_modules/package.json: + {"pollingInterval":2000} FsWatches:: /a/b/jsconfig.json: diff --git a/tests/baselines/reference/tsserver/typingsInstaller/configured-projects-discover-from-bower_components.js b/tests/baselines/reference/tsserver/typingsInstaller/configured-projects-discover-from-bower_components.js index fe0d0bf20b0..6c7823c9593 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/configured-projects-discover-from-bower_components.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/configured-projects-discover-from-bower_components.js @@ -533,6 +533,8 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /jsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /jsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tmp/node_modules/@types/jquery/package.json 2000 undefined Project: /jsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tmp/node_modules/@types/package.json 2000 undefined Project: /jsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /jsconfig.json projectStateVersion: 3 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/jsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) @@ -674,6 +676,28 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/a/lib/lib.d.ts: + {"pollingInterval":500} +/node_modules: + {"pollingInterval":500} +/tmp/node_modules/@types/jquery/package.json: *new* + {"pollingInterval":2000} +/tmp/node_modules/@types/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/jsconfig.json: + {} +/tmp/package.json: + {} + +FsWatchesRecursive:: +/: + {} +/bower_components: + {} + Projects:: /jsconfig.json (Configured) *changed* projectStateVersion: 3 diff --git a/tests/baselines/reference/tsserver/typingsInstaller/configured-projects.js b/tests/baselines/reference/tsserver/typingsInstaller/configured-projects.js index 34e4074367c..0ac615801cc 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/configured-projects.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/configured-projects.js @@ -482,6 +482,9 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /a/b/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /a/b/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/jquery/package.json 2000 undefined Project: /a/b/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/package.json 2000 undefined Project: /a/b/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/package.json 2000 undefined Project: /a/b/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /a/b/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/a/b/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) @@ -611,6 +614,30 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/a/b/bower_components: + {"pollingInterval":500} +/a/b/node_modules: + {"pollingInterval":500} +/a/data/node_modules/@types/jquery/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/package.json: *new* + {"pollingInterval":2000} +/a/lib/lib.d.ts: + {"pollingInterval":500} + +FsWatches:: +/a/b/package.json: + {} +/a/b/tsconfig.json: + {} + +FsWatchesRecursive:: +/a/b: + {} + Projects:: /a/b/tsconfig.json (Configured) *changed* projectStateVersion: 2 diff --git a/tests/baselines/reference/tsserver/typingsInstaller/discover-from-bower.js b/tests/baselines/reference/tsserver/typingsInstaller/discover-from-bower.js index 0b61e98a72f..80532f783d7 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/discover-from-bower.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/discover-from-bower.js @@ -536,6 +536,8 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /jsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /jsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tmp/node_modules/@types/jquery/package.json 2000 undefined Project: /jsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tmp/node_modules/@types/package.json 2000 undefined Project: /jsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /jsconfig.json projectStateVersion: 3 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/jsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) @@ -677,6 +679,30 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/a/lib/lib.d.ts: + {"pollingInterval":500} +/bower_components: + {"pollingInterval":500} +/node_modules: + {"pollingInterval":500} +/tmp/node_modules/@types/jquery/package.json: *new* + {"pollingInterval":2000} +/tmp/node_modules/@types/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/bower.json: + {} +/jsconfig.json: + {} +/tmp/package.json: + {} + +FsWatchesRecursive:: +/: + {} + Projects:: /jsconfig.json (Configured) *changed* projectStateVersion: 3 diff --git a/tests/baselines/reference/tsserver/typingsInstaller/discover-from-node_modules-empty-types-has-import.js b/tests/baselines/reference/tsserver/typingsInstaller/discover-from-node_modules-empty-types-has-import.js index e92c2982d52..c9ea68e0b3c 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/discover-from-node_modules-empty-types-has-import.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/discover-from-node_modules-empty-types-has-import.js @@ -588,6 +588,8 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /jsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /jsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tmp/node_modules/@types/jquery/package.json 2000 undefined Project: /jsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tmp/node_modules/@types/package.json 2000 undefined Project: /jsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /jsconfig.json projectStateVersion: 3 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/jsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) @@ -791,6 +793,28 @@ Info seq [hh:mm:ss:mss] event: TI:: [hh:mm:ss:mss] No new typings were requested as a result of typings discovery After running Timeout callback:: count: 2 +PolledWatches:: +/a/lib/lib.d.ts: + {"pollingInterval":500} +/tmp/node_modules/@types/jquery/package.json: *new* + {"pollingInterval":2000} +/tmp/node_modules/@types/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/jsconfig.json: + {} +/package.json: + {} +/tmp/package.json: + {} + +FsWatchesRecursive:: +/: + {} +/node_modules: + {} + Timeout callback:: count: 2 14: *ensureProjectForOpenFiles* *deleted* 15: /jsconfig.json *new* diff --git a/tests/baselines/reference/tsserver/typingsInstaller/discover-from-node_modules.js b/tests/baselines/reference/tsserver/typingsInstaller/discover-from-node_modules.js index e92f09c2aa2..7ef7e3b1272 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/discover-from-node_modules.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/discover-from-node_modules.js @@ -619,6 +619,8 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /jsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /jsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tmp/node_modules/@types/jquery/package.json 2000 undefined Project: /jsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tmp/node_modules/@types/package.json 2000 undefined Project: /jsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /jsconfig.json projectStateVersion: 3 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/jsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) @@ -774,6 +776,30 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/a/lib/lib.d.ts: + {"pollingInterval":500} +/bower_components: + {"pollingInterval":500} +/tmp/node_modules/@types/jquery/package.json: *new* + {"pollingInterval":2000} +/tmp/node_modules/@types/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/jsconfig.json: + {} +/package.json: + {} +/tmp/package.json: + {} + +FsWatchesRecursive:: +/: + {} +/node_modules: + {} + Projects:: /dev/null/autoImportProviderProject1* (AutoImportProvider) *changed* projectStateVersion: 2 *changed* diff --git a/tests/baselines/reference/tsserver/typingsInstaller/expired-cache-entry.js b/tests/baselines/reference/tsserver/typingsInstaller/expired-cache-entry.js index bc060889ecf..b884038171f 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/expired-cache-entry.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/expired-cache-entry.js @@ -350,6 +350,9 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/jquery/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -490,6 +493,28 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/a/data/node_modules/@types/jquery/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/package.json: *new* + {"pollingInterval":2000} +/a/lib/lib.d.ts: + {"pollingInterval":500} +/bower_components: + {"pollingInterval":500} +/node_modules: + {"pollingInterval":500} + +FsWatches:: +/a/b/package.json: + {} + +FsWatchesRecursive:: +/a: + {} + Projects:: /dev/null/inferredProject1* (Inferred) *changed* projectStateVersion: 2 diff --git a/tests/baselines/reference/tsserver/typingsInstaller/external-projects-duplicate-package.js b/tests/baselines/reference/tsserver/typingsInstaller/external-projects-duplicate-package.js index bc0718258d1..1a46dd81a80 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/external-projects-duplicate-package.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/external-projects-duplicate-package.js @@ -33,6 +33,7 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/app.js 500 undefi Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /a/app/test.csproj Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@types/node/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /a/app/test.csproj WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /a/app/test.csproj projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/a/app/test.csproj' (External) @@ -52,6 +53,8 @@ TI:: Creating typing installer PolledWatches:: /a/lib/lib.d.ts: *new* {"pollingInterval":500} +/node_modules/@types/node/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/b/app.js: *new* @@ -260,6 +263,8 @@ PolledWatches:: {"pollingInterval":500} /a/lib/lib.d.ts: {"pollingInterval":500} +/node_modules/@types/node/package.json: + {"pollingInterval":2000} FsWatches:: /a/b/app.js: diff --git a/tests/baselines/reference/tsserver/typingsInstaller/external-projects-no-type-acquisition.js b/tests/baselines/reference/tsserver/typingsInstaller/external-projects-no-type-acquisition.js index 093355dff1c..379cb4601b9 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/external-projects-no-type-acquisition.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/external-projects-no-type-acquisition.js @@ -426,6 +426,10 @@ Before running Timeout callback:: count: 1 Info seq [hh:mm:ss:mss] Running: /a/app/test.csproj Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /a/app/test.csproj +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/lodash/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/react/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /a/app/test.csproj projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/a/app/test.csproj' (External) Info seq [hh:mm:ss:mss] Files (4) @@ -549,6 +553,32 @@ Info seq [hh:mm:ss:mss] event: TI:: [hh:mm:ss:mss] No new typings were requested as a result of typings discovery After running Timeout callback:: count: 0 +PolledWatches:: +/a/app/bower_components: + {"pollingInterval":500} +/a/app/node_modules: + {"pollingInterval":500} +/a/b/bower_components: + {"pollingInterval":500} +/a/b/node_modules: + {"pollingInterval":500} +/a/data/node_modules/@types/lodash/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/react/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/package.json: *new* + {"pollingInterval":2000} +/a/lib/lib.d.ts: + {"pollingInterval":500} + +FsWatches:: +/a/b/file2.jsx: + {} +/a/b/file3.d.ts: + {} + Projects:: /a/app/test.csproj (External) *changed* projectStateVersion: 2 diff --git a/tests/baselines/reference/tsserver/typingsInstaller/external-projects-type-acquisition.js b/tests/baselines/reference/tsserver/typingsInstaller/external-projects-type-acquisition.js index 67238b2f9b7..5404c35e39b 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/external-projects-type-acquisition.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/external-projects-type-acquisition.js @@ -499,6 +499,12 @@ Before running Timeout callback:: count: 1 Info seq [hh:mm:ss:mss] Running: /a/app/test.csproj Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /a/app/test.csproj +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/commander/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/express/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/jquery/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/moment/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /a/app/test.csproj projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/a/app/test.csproj' (External) Info seq [hh:mm:ss:mss] Files (5) @@ -650,6 +656,36 @@ Info seq [hh:mm:ss:mss] event: TI:: [hh:mm:ss:mss] No new typings were requested as a result of typings discovery After running Timeout callback:: count: 0 +PolledWatches:: +/a/app/bower_components: + {"pollingInterval":500} +/a/app/node_modules: + {"pollingInterval":500} +/a/b/bower_components: + {"pollingInterval":500} +/a/b/node_modules: + {"pollingInterval":500} +/a/data/node_modules/@types/commander/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/express/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/jquery/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/moment/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/package.json: *new* + {"pollingInterval":2000} +/a/lib/lib.d.ts: + {"pollingInterval":500} + +FsWatches:: +/a/b/file3.d.ts: + {} +/a/b/package.json: + {} + Projects:: /a/app/test.csproj (External) *changed* projectStateVersion: 2 diff --git a/tests/baselines/reference/tsserver/typingsInstaller/inferred-projects.js b/tests/baselines/reference/tsserver/typingsInstaller/inferred-projects.js index 2a57060c507..2038876a315 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/inferred-projects.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/inferred-projects.js @@ -326,6 +326,9 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/jquery/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -466,6 +469,28 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/a/data/node_modules/@types/jquery/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/package.json: *new* + {"pollingInterval":2000} +/a/lib/lib.d.ts: + {"pollingInterval":500} +/bower_components: + {"pollingInterval":500} +/node_modules: + {"pollingInterval":500} + +FsWatches:: +/a/b/package.json: + {} + +FsWatchesRecursive:: +/a: + {} + Projects:: /dev/null/inferredProject1* (Inferred) *changed* projectStateVersion: 2 diff --git a/tests/baselines/reference/tsserver/typingsInstaller/install-typings-for-unresolved-imports.js b/tests/baselines/reference/tsserver/typingsInstaller/install-typings-for-unresolved-imports.js index 9b8840f8e63..2c4da616dff 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/install-typings-for-unresolved-imports.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/install-typings-for-unresolved-imports.js @@ -334,6 +334,11 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/@types/node/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/@types/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/@types/commander/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/@types/ember__component/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (4) @@ -446,6 +451,24 @@ Info seq [hh:mm:ss:mss] event: TI:: [hh:mm:ss:mss] No new typings were requested as a result of typings discovery After running Timeout callback:: count: 2 +PolledWatches:: +/a/b/bower_components: + {"pollingInterval":500} +/a/b/node_modules: + {"pollingInterval":500} +/a/cache/node_modules/@types/commander/package.json: *new* + {"pollingInterval":2000} +/a/cache/node_modules/@types/ember__component/package.json: *new* + {"pollingInterval":2000} +/a/cache/node_modules/@types/node/package.json: *new* + {"pollingInterval":2000} +/a/cache/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/cache/node_modules/package.json: *new* + {"pollingInterval":2000} +/a/lib/lib.d.ts: + {"pollingInterval":500} + Timeout callback:: count: 2 2: *ensureProjectForOpenFiles* *deleted* 3: /dev/null/inferredProject1* *new* diff --git a/tests/baselines/reference/tsserver/typingsInstaller/invalidate-the-resolutions-with-trimmed-names.js b/tests/baselines/reference/tsserver/typingsInstaller/invalidate-the-resolutions-with-trimmed-names.js index 5e3ba979bbd..b3d6184a358 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/invalidate-the-resolutions-with-trimmed-names.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/invalidate-the-resolutions-with-trimmed-names.js @@ -25,6 +25,8 @@ Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/app.js ProjectRoo Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/node_modules/fooo/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) @@ -42,6 +44,10 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- TI:: Creating typing installer PolledWatches:: +/a/b/node_modules/fooo/package.json: *new* + {"pollingInterval":2000} +/a/b/node_modules/package.json: *new* + {"pollingInterval":2000} /a/lib/lib.d.ts: *new* {"pollingInterval":500} @@ -193,6 +199,10 @@ After request PolledWatches:: /a/b/bower_components: *new* {"pollingInterval":500} +/a/b/node_modules/fooo/package.json: + {"pollingInterval":2000} +/a/b/node_modules/package.json: + {"pollingInterval":2000} /a/lib/lib.d.ts: {"pollingInterval":500} @@ -336,6 +346,8 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tmp/node_modules/foo/a/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tmp/node_modules/foo/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (6) @@ -453,6 +465,24 @@ Info seq [hh:mm:ss:mss] event: TI:: [hh:mm:ss:mss] No new typings were requested as a result of typings discovery After running Timeout callback:: count: 2 +PolledWatches:: +/a/b/bower_components: + {"pollingInterval":500} +/a/b/node_modules/fooo/package.json: + {"pollingInterval":2000} +/a/b/node_modules/package.json: + {"pollingInterval":2000} +/a/lib/lib.d.ts: + {"pollingInterval":500} +/tmp/node_modules/foo/a/package.json: *new* + {"pollingInterval":2000} +/tmp/node_modules/foo/package.json: *new* + {"pollingInterval":2000} + +FsWatchesRecursive:: +/a/b/node_modules: + {} + Timeout callback:: count: 2 2: *ensureProjectForOpenFiles* *deleted* 3: /dev/null/inferredProject1* *new* diff --git a/tests/baselines/reference/tsserver/typingsInstaller/invalidate-the-resolutions.js b/tests/baselines/reference/tsserver/typingsInstaller/invalidate-the-resolutions.js index dfd326be808..290fbb2ad87 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/invalidate-the-resolutions.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/invalidate-the-resolutions.js @@ -21,6 +21,8 @@ Info seq [hh:mm:ss:mss] getConfigFileNameForFile:: File: /a/b/app.js ProjectRoo Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /a/b/node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/node_modules/fooo/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/b/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) @@ -38,6 +40,10 @@ Info seq [hh:mm:ss:mss] ----------------------------------------------- TI:: Creating typing installer PolledWatches:: +/a/b/node_modules/fooo/package.json: *new* + {"pollingInterval":2000} +/a/b/node_modules/package.json: *new* + {"pollingInterval":2000} /a/lib/lib.d.ts: *new* {"pollingInterval":500} @@ -189,6 +195,10 @@ After request PolledWatches:: /a/b/bower_components: *new* {"pollingInterval":500} +/a/b/node_modules/fooo/package.json: + {"pollingInterval":2000} +/a/b/node_modules/package.json: + {"pollingInterval":2000} /a/lib/lib.d.ts: {"pollingInterval":500} @@ -323,6 +333,7 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tmp/node_modules/foo/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (3) @@ -432,6 +443,22 @@ Info seq [hh:mm:ss:mss] event: TI:: [hh:mm:ss:mss] No new typings were requested as a result of typings discovery After running Timeout callback:: count: 2 +PolledWatches:: +/a/b/bower_components: + {"pollingInterval":500} +/a/b/node_modules/fooo/package.json: + {"pollingInterval":2000} +/a/b/node_modules/package.json: + {"pollingInterval":2000} +/a/lib/lib.d.ts: + {"pollingInterval":500} +/tmp/node_modules/foo/package.json: *new* + {"pollingInterval":2000} + +FsWatchesRecursive:: +/a/b/node_modules: + {} + Timeout callback:: count: 2 2: *ensureProjectForOpenFiles* *deleted* 3: /dev/null/inferredProject1* *new* diff --git a/tests/baselines/reference/tsserver/typingsInstaller/malformed-packagejson.js b/tests/baselines/reference/tsserver/typingsInstaller/malformed-packagejson.js index 7c21902aebe..0535eaac658 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/malformed-packagejson.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/malformed-packagejson.js @@ -401,6 +401,9 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/@types/commander/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/@types/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -539,6 +542,24 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/a/b/bower_components: + {"pollingInterval":500} +/a/b/node_modules: + {"pollingInterval":500} +/a/cache/node_modules/@types/commander/package.json: *new* + {"pollingInterval":2000} +/a/cache/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/cache/node_modules/package.json: *new* + {"pollingInterval":2000} +/a/lib/lib.d.ts: + {"pollingInterval":500} + +FsWatches:: +/a/b/package.json: + {} + Projects:: /dev/null/inferredProject1* (Inferred) *changed* projectStateVersion: 2 diff --git a/tests/baselines/reference/tsserver/typingsInstaller/multiple-projects.js b/tests/baselines/reference/tsserver/typingsInstaller/multiple-projects.js index fbcf9a25a99..c7267405536 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/multiple-projects.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/multiple-projects.js @@ -480,6 +480,9 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /user/username/projects/project/tsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /user/username/projects/project/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/jquery/package.json 2000 undefined Project: /user/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/package.json 2000 undefined Project: /user/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/package.json 2000 undefined Project: /user/username/projects/project/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /user/username/projects/project/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/user/username/projects/project/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) @@ -613,6 +616,34 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/a/data/node_modules/@types/jquery/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/@types: + {"pollingInterval":500} +/user/username/projects/project/bower_components: + {"pollingInterval":500} +/user/username/projects/project/node_modules: + {"pollingInterval":500} +/user/username/projects/project/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {} +/user/username/projects/project/package.json: + {} +/user/username/projects/project/tsconfig.json: + {} + +FsWatchesRecursive:: +/user/username/projects/project: + {} + Projects:: /user/username/projects/project/tsconfig.json (Configured) *changed* projectStateVersion: 2 @@ -661,6 +692,12 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/a/data/node_modules/@types/jquery/package.json: + {"pollingInterval":2000} +/a/data/node_modules/@types/package.json: + {"pollingInterval":2000} +/a/data/node_modules/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} /user/username/projects/project/bower_components: @@ -932,6 +969,9 @@ Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/project Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/project/node_modules 1 undefined Project: /user/username/projects/project/tsconfig.json WatchType: Directory location for typing installer Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/project/node_modules 1 undefined Project: /user/username/projects/project/tsconfig.json WatchType: Directory location for typing installer TI:: [hh:mm:ss:mss] Closing file watchers for project '/user/username/projects/project/tsconfig.json' - done. +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /a/data/node_modules/@types/jquery/package.json 2000 undefined Project: /user/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /a/data/node_modules/@types/package.json 2000 undefined Project: /user/username/projects/project/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /a/data/node_modules/package.json 2000 undefined Project: /user/username/projects/project/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/project/node_modules/@types 1 undefined Project: /user/username/projects/project/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/project/node_modules/@types 1 undefined Project: /user/username/projects/project/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/@types 1 undefined Project: /user/username/projects/project/tsconfig.json WatchType: Type roots @@ -969,6 +1009,12 @@ PolledWatches:: {"pollingInterval":500} PolledWatches *deleted*:: +/a/data/node_modules/@types/jquery/package.json: + {"pollingInterval":2000} +/a/data/node_modules/@types/package.json: + {"pollingInterval":2000} +/a/data/node_modules/package.json: + {"pollingInterval":2000} /user/username/projects/project/bower_components: {"pollingInterval":500} /user/username/projects/project/node_modules: diff --git a/tests/baselines/reference/tsserver/typingsInstaller/progress-notification.js b/tests/baselines/reference/tsserver/typingsInstaller/progress-notification.js index 405fcf5d0a3..d4d258c6b0e 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/progress-notification.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/progress-notification.js @@ -316,6 +316,9 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/@types/commander/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/@types/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -454,6 +457,24 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/a/bower_components: + {"pollingInterval":500} +/a/cache/node_modules/@types/commander/package.json: *new* + {"pollingInterval":2000} +/a/cache/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/cache/node_modules/package.json: *new* + {"pollingInterval":2000} +/a/lib/lib.d.ts: + {"pollingInterval":500} +/a/node_modules: + {"pollingInterval":500} + +FsWatches:: +/a/package.json: + {} + Projects:: /dev/null/inferredProject1* (Inferred) *changed* projectStateVersion: 2 diff --git a/tests/baselines/reference/tsserver/typingsInstaller/redo-resolutions-pointing-to-js-on-typing-install.js b/tests/baselines/reference/tsserver/typingsInstaller/redo-resolutions-pointing-to-js-on-typing-install.js index 4bdeb717412..ff47238ad9f 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/redo-resolutions-pointing-to-js-on-typing-install.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/redo-resolutions-pointing-to-js-on-typing-install.js @@ -32,6 +32,9 @@ Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/pr Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/a/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/commander/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined Project: /dev/null/inferredProject1* WatchType: Missing file Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/a/b/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/a/b/node_modules/@types 1 undefined Project: /dev/null/inferredProject1* WatchType: Type roots @@ -75,6 +78,12 @@ PolledWatches:: {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/node_modules/commander/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatchesRecursive:: /user/username/projects/node_modules: *new* @@ -242,6 +251,12 @@ PolledWatches:: {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/node_modules/commander/package.json: + {"pollingInterval":2000} +/user/username/projects/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatchesRecursive:: /user/username/projects/node_modules: @@ -370,6 +385,13 @@ Info seq [hh:mm:ss:mss] Running: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/a/cache/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/a/cache/node_modules 1 undefined Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/a/cache/node_modules/@types/commander/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/a/cache/node_modules/@types/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/a/cache/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/a/cache/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/commander/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /user/username/projects/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -487,6 +509,12 @@ PolledWatches:: {"pollingInterval":500} /user/username/projects/a/b/tsconfig.json: {"pollingInterval":2000} +/user/username/projects/a/cache/node_modules/@types/commander/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/a/cache/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/a/cache/node_modules/package.json: *new* + {"pollingInterval":2000} /user/username/projects/a/jsconfig.json: {"pollingInterval":2000} /user/username/projects/a/node_modules: @@ -498,6 +526,18 @@ PolledWatches:: /user/username/projects/node_modules/@types: {"pollingInterval":500} +PolledWatches *deleted*:: +/user/username/projects/node_modules/commander/package.json: + {"pollingInterval":2000} +/user/username/projects/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/package.json: + {"pollingInterval":2000} + +FsWatches:: +/user/username/projects/a/cache/package.json: *new* + {} + FsWatchesRecursive:: /user/username/projects/a/cache/node_modules: *new* {} diff --git a/tests/baselines/reference/tsserver/typingsInstaller/scoped-name-discovery.js b/tests/baselines/reference/tsserver/typingsInstaller/scoped-name-discovery.js index e7db3b6a81b..3a004b157ee 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/scoped-name-discovery.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/scoped-name-discovery.js @@ -285,6 +285,7 @@ Info seq [hh:mm:ss:mss] AutoImportProviderProject: found 1 root files in 1 depe Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /node_modules 1 undefined WatchType: node_modules for closed script infos and package.jsons affecting module specifier cache Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/autoImportProviderProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /node_modules/@zkat/cacache/package.json 2000 undefined Project: /dev/null/autoImportProviderProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/autoImportProviderProject1* projectStateVersion: 1 projectProgramVersion: 0 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/autoImportProviderProject1*' (AutoImportProvider) Info seq [hh:mm:ss:mss] Files (1) @@ -445,6 +446,8 @@ PolledWatches:: FsWatches:: /jsconfig.json: {} +/node_modules/@zkat/cacache/package.json: *new* + {} /package.json: *new* {} /tmp/package.json: @@ -614,6 +617,8 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /jsconfig.json Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /jsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tmp/node_modules/@types/zkat__cacache/package.json 2000 undefined Project: /jsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tmp/node_modules/@types/package.json 2000 undefined Project: /jsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /jsconfig.json projectStateVersion: 3 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/jsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) @@ -731,6 +736,8 @@ Info seq [hh:mm:ss:mss] event: } } Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /jsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /tmp/node_modules/@types/zkat__cacache/package.json 2000 undefined Project: /jsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /tmp/node_modules/@types/package.json 2000 undefined Project: /jsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /jsconfig.json projectStateVersion: 4 projectProgramVersion: 2 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/jsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (1) @@ -843,6 +850,28 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 2 +PolledWatches:: +/a/lib/lib.d.ts: + {"pollingInterval":500} +/bower_components: + {"pollingInterval":500} + +FsWatches:: +/jsconfig.json: + {} +/node_modules/@zkat/cacache/package.json: + {} +/package.json: + {} +/tmp/package.json: + {} + +FsWatchesRecursive:: +/: + {} +/node_modules: + {} + Timeout callback:: count: 2 14: *ensureProjectForOpenFiles* *deleted* 15: /jsconfig.json *new* diff --git a/tests/baselines/reference/tsserver/typingsInstaller/should-handle-node-core-modules.js b/tests/baselines/reference/tsserver/typingsInstaller/should-handle-node-core-modules.js index 5a447004162..1463caacd3f 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/should-handle-node-core-modules.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/should-handle-node-core-modules.js @@ -332,6 +332,7 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /tmp/node_modules/node/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (3) @@ -441,6 +442,18 @@ Info seq [hh:mm:ss:mss] event: TI:: [hh:mm:ss:mss] No new typings were requested as a result of typings discovery After running Timeout callback:: count: 2 +PolledWatches:: +/a/b/bower_components: + {"pollingInterval":500} +/a/b/node_modules: + {"pollingInterval":500} +/tmp/node_modules/node/package.json: *new* + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {} + Timeout callback:: count: 2 2: *ensureProjectForOpenFiles* *deleted* 3: /dev/null/inferredProject1* *new* diff --git a/tests/baselines/reference/tsserver/typingsInstaller/telemetry-events.js b/tests/baselines/reference/tsserver/typingsInstaller/telemetry-events.js index 4d2272f44d9..1a719c34f24 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/telemetry-events.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/telemetry-events.js @@ -307,6 +307,9 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /dev/null/inferredProject1* Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /dev/null/inferredProject1* +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/@types/commander/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/@types/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/cache/node_modules/package.json 2000 undefined Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /dev/null/inferredProject1* projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/dev/null/inferredProject1*' (Inferred) Info seq [hh:mm:ss:mss] Files (2) @@ -445,6 +448,24 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 0 +PolledWatches:: +/a/bower_components: + {"pollingInterval":500} +/a/cache/node_modules/@types/commander/package.json: *new* + {"pollingInterval":2000} +/a/cache/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/cache/node_modules/package.json: *new* + {"pollingInterval":2000} +/a/lib/lib.d.ts: + {"pollingInterval":500} +/a/node_modules: + {"pollingInterval":500} + +FsWatches:: +/a/package.json: + {} + Projects:: /dev/null/inferredProject1* (Inferred) *changed* projectStateVersion: 2 diff --git a/tests/baselines/reference/tsserver/typingsInstaller/throttle-delayed-run-install-requests.js b/tests/baselines/reference/tsserver/typingsInstaller/throttle-delayed-run-install-requests.js index 221b183bb4d..584f70d9340 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/throttle-delayed-run-install-requests.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/throttle-delayed-run-install-requests.js @@ -806,6 +806,12 @@ Before running Timeout callback:: count: 2 Info seq [hh:mm:ss:mss] Running: /a/app/test1.csproj Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /a/app/test1.csproj +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/commander/package.json 2000 undefined Project: /a/app/test1.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/package.json 2000 undefined Project: /a/app/test1.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/package.json 2000 undefined Project: /a/app/test1.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/cordova/package.json 2000 undefined Project: /a/app/test1.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/jquery/package.json 2000 undefined Project: /a/app/test1.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/lodash/package.json 2000 undefined Project: /a/app/test1.csproj WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /a/app/test1.csproj projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/a/app/test1.csproj' (External) Info seq [hh:mm:ss:mss] Files (5) @@ -948,6 +954,10 @@ Info seq [hh:mm:ss:mss] event: TI:: [hh:mm:ss:mss] No new typings were requested as a result of typings discovery Info seq [hh:mm:ss:mss] Running: /a/app/test2.csproj Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /a/app/test2.csproj +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/grunt/package.json 2000 undefined Project: /a/app/test2.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/package.json 2000 undefined Project: /a/app/test2.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/package.json 2000 undefined Project: /a/app/test2.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/gulp/package.json 2000 undefined Project: /a/app/test2.csproj WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /a/app/test2.csproj projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/a/app/test2.csproj' (External) Info seq [hh:mm:ss:mss] Files (3) @@ -1065,6 +1075,38 @@ Info seq [hh:mm:ss:mss] event: TI:: [hh:mm:ss:mss] No new typings were requested as a result of typings discovery After running Timeout callback:: count: 0 +PolledWatches:: +/a/app/bower_components: + {"pollingInterval":500} +/a/app/node_modules: + {"pollingInterval":500} +/a/b/bower_components: + {"pollingInterval":500} +/a/b/node_modules: + {"pollingInterval":500} +/a/data/node_modules/@types/commander/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/cordova/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/grunt/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/gulp/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/jquery/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/lodash/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/package.json: *new* + {"pollingInterval":2000} +/a/lib/lib.d.ts: + {"pollingInterval":500} + +FsWatches:: +/a/b/file3.d.ts: + {} + Projects:: /a/app/test1.csproj (External) *changed* projectStateVersion: 2 diff --git a/tests/baselines/reference/tsserver/typingsInstaller/throttle-delayed-typings-to-install.js b/tests/baselines/reference/tsserver/typingsInstaller/throttle-delayed-typings-to-install.js index c301307bc90..53545b49f63 100644 --- a/tests/baselines/reference/tsserver/typingsInstaller/throttle-delayed-typings-to-install.js +++ b/tests/baselines/reference/tsserver/typingsInstaller/throttle-delayed-typings-to-install.js @@ -511,6 +511,13 @@ Before running Timeout callback:: count: 1 Info seq [hh:mm:ss:mss] Running: /a/app/test.csproj Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /a/app/test.csproj +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/commander/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/express/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/jquery/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/lodash/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/data/node_modules/@types/moment/package.json 2000 undefined Project: /a/app/test.csproj WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /a/app/test.csproj projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/a/app/test.csproj' (External) Info seq [hh:mm:ss:mss] Files (6) @@ -662,6 +669,38 @@ Info seq [hh:mm:ss:mss] event: TI:: [hh:mm:ss:mss] No new typings were requested as a result of typings discovery After running Timeout callback:: count: 0 +PolledWatches:: +/a/app/bower_components: + {"pollingInterval":500} +/a/app/node_modules: + {"pollingInterval":500} +/a/b/bower_components: + {"pollingInterval":500} +/a/b/node_modules: + {"pollingInterval":500} +/a/data/node_modules/@types/commander/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/express/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/jquery/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/lodash/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/moment/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/a/data/node_modules/package.json: *new* + {"pollingInterval":2000} +/a/lib/lib.d.ts: + {"pollingInterval":500} + +FsWatches:: +/a/b/file3.d.ts: + {} +/a/b/package.json: + {} + Projects:: /a/app/test.csproj (External) *changed* projectStateVersion: 2 diff --git a/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-errors.js b/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-errors.js index efc318865ca..d51c7ddec86 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-errors.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-errors.js @@ -58,6 +58,10 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /us Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":[]} Project: /user/username/projects/myproject/project.csproj WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":[]} Project: /user/username/projects/myproject/project.csproj WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/bar/package.json 2000 {"excludeDirectories":[]} Project: /user/username/projects/myproject/project.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeDirectories":[]} Project: /user/username/projects/myproject/project.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeDirectories":[]} Project: /user/username/projects/myproject/project.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeDirectories":[]} Project: /user/username/projects/myproject/project.csproj WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeDirectories":[]} Project: /user/username/projects/myproject/project.csproj WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeDirectories":[]} Project: /user/username/projects/myproject/project.csproj WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":[]} Project: /user/username/projects/myproject/project.csproj WatchType: Type roots @@ -138,8 +142,16 @@ After request PolledWatches:: /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/bar/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -208,8 +220,16 @@ After request PolledWatches:: /user/username/projects/myproject/node_modules/@types: {"pollingInterval":500} +/user/username/projects/myproject/node_modules/bar/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: diff --git a/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-in-host-configuration.js b/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-in-host-configuration.js index a8d9f6af9bf..03e84a398b2 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-in-host-configuration.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options-in-host-configuration.js @@ -82,6 +82,10 @@ Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/proj Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 {"excludeDirectories":["node_modules"]} WatchType: Closed Script info Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/bar/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: Type roots @@ -159,8 +163,16 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/user/username/projects/myproject/node_modules/bar/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -225,8 +237,16 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/user/username/projects/myproject/node_modules/bar/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: diff --git a/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options.js b/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options.js index 52a047632e8..a563808a7c2 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/external-project-watch-options.js @@ -57,6 +57,10 @@ Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/proj Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/bar/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/project.csproj WatchType: Type roots @@ -134,8 +138,16 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/user/username/projects/myproject/node_modules/bar/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* @@ -202,8 +214,16 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/user/username/projects/myproject/node_modules/bar/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: + {"pollingInterval":2000} /user/username/projects/node_modules/@types: {"pollingInterval":500} +/user/username/projects/package.json: + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: diff --git a/tests/baselines/reference/tsserver/watchEnvironment/inferred-project-watch-options-errors.js b/tests/baselines/reference/tsserver/watchEnvironment/inferred-project-watch-options-errors.js index 90993629ef4..74d857be8d3 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/inferred-project-watch-options-errors.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/inferred-project-watch-options-errors.js @@ -70,6 +70,10 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /us Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":[]} Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":[]} Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/bar/package.json 2000 {"excludeDirectories":[]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeDirectories":[]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeDirectories":[]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeDirectories":[]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeDirectories":[]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeDirectories":[]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":[]} Project: /dev/null/inferredProject1* WatchType: Type roots @@ -118,6 +122,12 @@ PolledWatches:: {"pollingInterval":2000} /user/username/projects/myproject/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/myproject/node_modules/bar/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/src/jsconfig.json: *new* {"pollingInterval":2000} /user/username/projects/myproject/src/tsconfig.json: *new* @@ -126,6 +136,8 @@ PolledWatches:: {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tsserver/watchEnvironment/inferred-project-watch-options-in-host-configuration.js b/tests/baselines/reference/tsserver/watchEnvironment/inferred-project-watch-options-in-host-configuration.js index f5116549fc6..3fed3951ee1 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/inferred-project-watch-options-in-host-configuration.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/inferred-project-watch-options-in-host-configuration.js @@ -94,6 +94,10 @@ Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/proj Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 {"excludeDirectories":["node_modules"]} WatchType: Closed Script info Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/bar/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots @@ -139,6 +143,12 @@ After request PolledWatches:: /user/username/projects/myproject/jsconfig.json: *new* {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/bar/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/src/jsconfig.json: *new* {"pollingInterval":2000} /user/username/projects/myproject/src/tsconfig.json: *new* @@ -147,6 +157,8 @@ PolledWatches:: {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tsserver/watchEnvironment/inferred-project-watch-options.js b/tests/baselines/reference/tsserver/watchEnvironment/inferred-project-watch-options.js index 6f0313771e3..9603c70450f 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/inferred-project-watch-options.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/inferred-project-watch-options.js @@ -69,6 +69,10 @@ Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/proj Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/bar/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /dev/null/inferredProject1* WatchType: Type roots @@ -114,6 +118,12 @@ After request PolledWatches:: /user/username/projects/myproject/jsconfig.json: *new* {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/bar/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/myproject/src/jsconfig.json: *new* {"pollingInterval":2000} /user/username/projects/myproject/src/tsconfig.json: *new* @@ -122,6 +132,8 @@ PolledWatches:: {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tsserver/watchEnvironment/watching-npm-install-in-codespaces-where-workspaces-folder-is-hosted-at-root.js b/tests/baselines/reference/tsserver/watchEnvironment/watching-npm-install-in-codespaces-where-workspaces-folder-is-hosted-at-root.js index 284aa1c9ebe..9f7dae1689a 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/watching-npm-install-in-codespaces-where-workspaces-folder-is-hosted-at-root.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/watching-npm-install-in-codespaces-where-workspaces-folder-is-hosted-at-root.js @@ -65,6 +65,10 @@ Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /wo Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /workspaces/somerepo/node_modules 1 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /workspaces/somerepo/node_modules 1 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /workspaces/somerepo/node_modules/@types/random-seed/package.json 2000 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /workspaces/somerepo/node_modules/@types/package.json 2000 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /workspaces/somerepo/node_modules/package.json 2000 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /workspaces/somerepo/package.json 2000 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /workspaces/somerepo/src/node_modules/@types 1 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /workspaces/somerepo/src/node_modules/@types 1 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /workspaces/somerepo/node_modules/@types 1 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: Type roots @@ -168,6 +172,14 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/workspaces/somerepo/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/workspaces/somerepo/node_modules/@types/random-seed/package.json: *new* + {"pollingInterval":2000} +/workspaces/somerepo/node_modules/package.json: *new* + {"pollingInterval":2000} +/workspaces/somerepo/package.json: *new* + {"pollingInterval":2000} /workspaces/somerepo/src/node_modules: *new* {"pollingInterval":500} /workspaces/somerepo/src/node_modules/@types: *new* @@ -332,6 +344,14 @@ PolledWatches:: {"pollingInterval":500} /workspaces/somerepo/node_modules/@types: *new* {"pollingInterval":500} +/workspaces/somerepo/node_modules/@types/package.json: + {"pollingInterval":2000} +/workspaces/somerepo/node_modules/@types/random-seed/package.json: + {"pollingInterval":2000} +/workspaces/somerepo/node_modules/package.json: + {"pollingInterval":2000} +/workspaces/somerepo/package.json: + {"pollingInterval":2000} /workspaces/somerepo/src/node_modules: {"pollingInterval":500} /workspaces/somerepo/src/node_modules/@types: @@ -411,6 +431,10 @@ Before running Timeout callback:: count: 5 Invoking Timeout callback:: timeoutId:: 18:: checkOne Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /workspaces/somerepo/src/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /workspaces/somerepo/node_modules/@types/random-seed/package.json 2000 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /workspaces/somerepo/node_modules/@types/package.json 2000 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /workspaces/somerepo/node_modules/package.json 2000 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Close:: WatchInfo: /workspaces/somerepo/package.json 2000 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /workspaces/somerepo/src/tsconfig.json projectStateVersion: 2 projectProgramVersion: 1 structureChanged: true structureIsReused:: Not Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/workspaces/somerepo/src/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (2) @@ -436,6 +460,34 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 3 +PolledWatches:: +/workspaces/somerepo/node_modules: + {"pollingInterval":500} +/workspaces/somerepo/node_modules/@types: + {"pollingInterval":500} +/workspaces/somerepo/src/node_modules: + {"pollingInterval":500} +/workspaces/somerepo/src/node_modules/@types: + {"pollingInterval":500} + +PolledWatches *deleted*:: +/workspaces/somerepo/node_modules/@types/package.json: + {"pollingInterval":2000} +/workspaces/somerepo/node_modules/@types/random-seed/package.json: + {"pollingInterval":2000} +/workspaces/somerepo/node_modules/package.json: + {"pollingInterval":2000} +/workspaces/somerepo/package.json: + {"pollingInterval":2000} + +FsWatches:: +/a/lib/lib.d.ts: + {"inode":12} +/workspaces/somerepo/src: + {"inode":3} +/workspaces/somerepo/src/tsconfig.json: + {"inode":4} + Timeout callback:: count: 3 17: /workspaces/somerepo/src/tsconfig.jsonFailedLookupInvalidation *deleted* 13: /workspaces/somerepo/src/tsconfig.json @@ -660,6 +712,10 @@ Before running Timeout callback:: count: 5 Invoking Timeout callback:: timeoutId:: 34:: checkOne Info seq [hh:mm:ss:mss] Scheduled: *ensureProjectForOpenFiles*, Cancelled earlier one Info seq [hh:mm:ss:mss] Starting updateGraphWorker: Project: /workspaces/somerepo/src/tsconfig.json +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /workspaces/somerepo/node_modules/@types/random-seed/package.json 2000 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /workspaces/somerepo/node_modules/@types/package.json 2000 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /workspaces/somerepo/node_modules/package.json 2000 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /workspaces/somerepo/package.json 2000 undefined Project: /workspaces/somerepo/src/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] Finishing updateGraphWorker: Project: /workspaces/somerepo/src/tsconfig.json projectStateVersion: 3 projectProgramVersion: 2 structureChanged: true structureIsReused:: SafeModules Elapsed:: *ms Info seq [hh:mm:ss:mss] Project '/workspaces/somerepo/src/tsconfig.json' (Configured) Info seq [hh:mm:ss:mss] Files (3) @@ -689,6 +745,32 @@ Info seq [hh:mm:ss:mss] event: } After running Timeout callback:: count: 3 +PolledWatches:: +/workspaces/somerepo/node_modules/@types/package.json: *new* + {"pollingInterval":2000} +/workspaces/somerepo/node_modules/@types/random-seed/package.json: *new* + {"pollingInterval":2000} +/workspaces/somerepo/node_modules/package.json: *new* + {"pollingInterval":2000} +/workspaces/somerepo/package.json: *new* + {"pollingInterval":2000} +/workspaces/somerepo/src/node_modules: + {"pollingInterval":500} +/workspaces/somerepo/src/node_modules/@types: + {"pollingInterval":500} + +FsWatches:: +/a/lib/lib.d.ts: + {"inode":12} +/workspaces/somerepo/node_modules: + {"inode":13} +/workspaces/somerepo/node_modules/@types: + {"inode":14} +/workspaces/somerepo/src: + {"inode":3} +/workspaces/somerepo/src/tsconfig.json: + {"inode":4} + Timeout callback:: count: 3 26: *ensureProjectForOpenFiles* *deleted* 27: /workspaces/somerepo/src/tsconfig.jsonFailedLookupInvalidation *deleted* @@ -796,6 +878,14 @@ Info seq [hh:mm:ss:mss] sysLog:: Elapsed:: *ms:: onTimerToUpdateChildWatches:: After running Timeout callback:: count: 3 PolledWatches:: +/workspaces/somerepo/node_modules/@types/package.json: + {"pollingInterval":2000} +/workspaces/somerepo/node_modules/@types/random-seed/package.json: + {"pollingInterval":2000} +/workspaces/somerepo/node_modules/package.json: + {"pollingInterval":2000} +/workspaces/somerepo/package.json: + {"pollingInterval":2000} /workspaces/somerepo/src/node_modules: {"pollingInterval":500} /workspaces/somerepo/src/node_modules/@types: diff --git a/tests/baselines/reference/tsserver/watchEnvironment/with-excludeDirectories-option-in-configFile.js b/tests/baselines/reference/tsserver/watchEnvironment/with-excludeDirectories-option-in-configFile.js index c61121c2b0c..cc4743723d4 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/with-excludeDirectories-option-in-configFile.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/with-excludeDirectories-option-in-configFile.js @@ -82,6 +82,10 @@ Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/proj Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 undefined WatchType: Closed Script info Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/bar/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -186,8 +190,16 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/user/username/projects/myproject/node_modules/bar/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/tsserver/watchEnvironment/with-excludeDirectories-option-in-configuration.js b/tests/baselines/reference/tsserver/watchEnvironment/with-excludeDirectories-option-in-configuration.js index b97277d2ffa..8765db93725 100644 --- a/tests/baselines/reference/tsserver/watchEnvironment/with-excludeDirectories-option-in-configuration.js +++ b/tests/baselines/reference/tsserver/watchEnvironment/with-excludeDirectories-option-in-configuration.js @@ -107,6 +107,10 @@ Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/proj Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /a/lib/lib.d.ts 500 {"excludeDirectories":["node_modules"]} WatchType: Closed Script info Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/myproject/src 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Failed Lookup Locations +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/bar/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/myproject/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution +Info seq [hh:mm:ss:mss] FileWatcher:: Added:: WatchInfo: /user/username/projects/package.json 2000 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: File location affecting resolution Info seq [hh:mm:ss:mss] ExcludeWatcher:: Added:: WatchInfo: /user/username/projects/myproject/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots Info seq [hh:mm:ss:mss] Elapsed:: *ms DirectoryWatcher:: Added:: WatchInfo: /user/username/projects/node_modules/@types 1 {"excludeDirectories":["/user/username/projects/myproject/node_modules"]} Project: /user/username/projects/myproject/tsconfig.json WatchType: Type roots @@ -211,8 +215,16 @@ Info seq [hh:mm:ss:mss] response: After request PolledWatches:: +/user/username/projects/myproject/node_modules/bar/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/node_modules/package.json: *new* + {"pollingInterval":2000} +/user/username/projects/myproject/package.json: *new* + {"pollingInterval":2000} /user/username/projects/node_modules/@types: *new* {"pollingInterval":500} +/user/username/projects/package.json: *new* + {"pollingInterval":2000} FsWatches:: /a/lib/lib.d.ts: *new* diff --git a/tests/baselines/reference/typeReferenceDirectiveScopedPackageCustomTypeRoot.trace.json b/tests/baselines/reference/typeReferenceDirectiveScopedPackageCustomTypeRoot.trace.json index 47435970cf8..364124e8139 100644 --- a/tests/baselines/reference/typeReferenceDirectiveScopedPackageCustomTypeRoot.trace.json +++ b/tests/baselines/reference/typeReferenceDirectiveScopedPackageCustomTypeRoot.trace.json @@ -42,6 +42,14 @@ "File '/node_modules/@types/mangled__attypescache/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/mangled__attypescache/index.d.ts', result '/node_modules/@types/mangled__attypescache/index.d.ts'.", "======== Type reference directive '@mangled/attypescache' was successfully resolved to '/node_modules/@types/mangled__attypescache/index.d.ts', primary: true. ========", + "File '/node_modules/@scoped/nodemodulescache/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@scoped/package.json' does not exist.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", + "File '/node_modules/@types/mangled__attypescache/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@types/package.json' does not exist.", + "File '/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typeReferenceDirectiveWithTypeAsFile.trace.json b/tests/baselines/reference/typeReferenceDirectiveWithTypeAsFile.trace.json index 85b39822233..046a01119f8 100644 --- a/tests/baselines/reference/typeReferenceDirectiveWithTypeAsFile.trace.json +++ b/tests/baselines/reference/typeReferenceDirectiveWithTypeAsFile.trace.json @@ -5,6 +5,10 @@ "File '/node_modules/phaser/package.json' does not exist.", "Resolving real path for '/node_modules/phaser/types/phaser.d.ts', result '/node_modules/phaser/types/phaser.d.ts'.", "======== Type reference directive 'phaser' was successfully resolved to '/node_modules/phaser/types/phaser.d.ts', primary: true. ========", + "File '/node_modules/phaser/types/package.json' does not exist.", + "File '/node_modules/phaser/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.trace.json b/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.trace.json index f620afce87e..c83d07a5795 100644 --- a/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.trace.json +++ b/tests/baselines/reference/typeRootsFromMultipleNodeModulesDirectories.trace.json @@ -83,6 +83,20 @@ "File '/node_modules/@types/dopey/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/dopey/index.d.ts', result '/node_modules/@types/dopey/index.d.ts'.", "======== Type reference directive 'dopey' was successfully resolved to '/node_modules/@types/dopey/index.d.ts', primary: true. ========", + "File '/foo/node_modules/@types/grumpy/package.json' does not exist according to earlier cached lookups.", + "File '/foo/node_modules/@types/package.json' does not exist.", + "File '/foo/node_modules/package.json' does not exist.", + "File '/foo/package.json' does not exist.", + "File '/package.json' does not exist.", + "File '/foo/node_modules/@types/sneezy/package.json' does not exist according to earlier cached lookups.", + "File '/foo/node_modules/@types/package.json' does not exist according to earlier cached lookups.", + "File '/foo/node_modules/package.json' does not exist according to earlier cached lookups.", + "File '/foo/package.json' does not exist according to earlier cached lookups.", + "File '/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@types/dopey/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@types/package.json' does not exist.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving module '@typescript/lib-es5' from '/foo/bar/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.trace.json b/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.trace.json index 5d97aa0870b..092fc728335 100644 --- a/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.trace.json +++ b/tests/baselines/reference/typeRootsFromNodeModulesInParentDirectory.trace.json @@ -21,6 +21,10 @@ "File '/node_modules/@types/foo/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/foo/index.d.ts', result '/node_modules/@types/foo/index.d.ts'.", "======== Type reference directive 'foo' was successfully resolved to '/node_modules/@types/foo/index.d.ts', primary: true. ========", + "File '/node_modules/@types/foo/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@types/package.json' does not exist.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/src/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typesVersions.ambientModules.trace.json b/tests/baselines/reference/typesVersions.ambientModules.trace.json index 440bf144cd7..b8742699cad 100644 --- a/tests/baselines/reference/typesVersions.ambientModules.trace.json +++ b/tests/baselines/reference/typesVersions.ambientModules.trace.json @@ -72,6 +72,8 @@ "Directory '/.src/node_modules/@types' does not exist, skipping all lookups in it.", "Directory '/node_modules' does not exist, skipping all lookups in it.", "======== Module name 'ext/other' was not resolved. ========", + "File '/.src/node_modules/ext/ts3.1/package.json' does not exist.", + "File '/.src/node_modules/ext/package.json' exists according to earlier cached lookups.", "======== Resolving module '@typescript/lib-esnext' from '/.src/__lib_node_modules_lookup_lib.esnext.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-esnext' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typesVersions.multiFile.trace.json b/tests/baselines/reference/typesVersions.multiFile.trace.json index 5e4f850fef1..40696cafdc9 100644 --- a/tests/baselines/reference/typesVersions.multiFile.trace.json +++ b/tests/baselines/reference/typesVersions.multiFile.trace.json @@ -33,6 +33,10 @@ "File '/.src/node_modules/ext/ts3.1/other.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/.src/node_modules/ext/ts3.1/other.d.ts', result '/.src/node_modules/ext/ts3.1/other.d.ts'.", "======== Module name 'ext/other' was successfully resolved to '/.src/node_modules/ext/ts3.1/other.d.ts' with Package ID 'ext/ts3.1/other.d.ts@1.0.0'. ========", + "File '/.src/node_modules/ext/ts3.1/package.json' does not exist.", + "File '/.src/node_modules/ext/package.json' exists according to earlier cached lookups.", + "File '/.src/node_modules/ext/ts3.1/package.json' does not exist according to earlier cached lookups.", + "File '/.src/node_modules/ext/package.json' exists according to earlier cached lookups.", "======== Resolving module '@typescript/lib-esnext' from '/.src/__lib_node_modules_lookup_lib.esnext.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-esnext' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.trace.json b/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.trace.json index 440bf144cd7..b8742699cad 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.trace.json +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.ambient.trace.json @@ -72,6 +72,8 @@ "Directory '/.src/node_modules/@types' does not exist, skipping all lookups in it.", "Directory '/node_modules' does not exist, skipping all lookups in it.", "======== Module name 'ext/other' was not resolved. ========", + "File '/.src/node_modules/ext/ts3.1/package.json' does not exist.", + "File '/.src/node_modules/ext/package.json' exists according to earlier cached lookups.", "======== Resolving module '@typescript/lib-esnext' from '/.src/__lib_node_modules_lookup_lib.esnext.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-esnext' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.trace.json b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.trace.json index 5e4f850fef1..40696cafdc9 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.trace.json +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFile.trace.json @@ -33,6 +33,10 @@ "File '/.src/node_modules/ext/ts3.1/other.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/.src/node_modules/ext/ts3.1/other.d.ts', result '/.src/node_modules/ext/ts3.1/other.d.ts'.", "======== Module name 'ext/other' was successfully resolved to '/.src/node_modules/ext/ts3.1/other.d.ts' with Package ID 'ext/ts3.1/other.d.ts@1.0.0'. ========", + "File '/.src/node_modules/ext/ts3.1/package.json' does not exist.", + "File '/.src/node_modules/ext/package.json' exists according to earlier cached lookups.", + "File '/.src/node_modules/ext/ts3.1/package.json' does not exist according to earlier cached lookups.", + "File '/.src/node_modules/ext/package.json' exists according to earlier cached lookups.", "======== Resolving module '@typescript/lib-esnext' from '/.src/__lib_node_modules_lookup_lib.esnext.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-esnext' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.trace.json b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.trace.json index a788ea8099e..1e62dcae8e8 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.trace.json +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToSelf.trace.json @@ -33,6 +33,8 @@ "File '/.src/node_modules/ext/ts3.1/other.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/.src/node_modules/ext/ts3.1/other.d.ts', result '/.src/node_modules/ext/ts3.1/other.d.ts'.", "======== Module name 'ext/other' was successfully resolved to '/.src/node_modules/ext/ts3.1/other.d.ts' with Package ID 'ext/ts3.1/other.d.ts@1.0.0'. ========", + "File '/.src/node_modules/ext/ts3.1/package.json' does not exist.", + "File '/.src/node_modules/ext/package.json' exists according to earlier cached lookups.", "======== Resolving module '../' from '/.src/node_modules/ext/ts3.1/index.d.ts'. ========", "Module resolution kind is not specified, using 'Node10'.", "Loading module as file / folder, candidate module location '/.src/node_modules/ext/', target file types: TypeScript, Declaration.", @@ -47,6 +49,8 @@ "File '/.src/node_modules/ext/ts3.1/index.tsx' does not exist.", "File '/.src/node_modules/ext/ts3.1/index.d.ts' exists - use it as a name resolution result.", "======== Module name '../' was successfully resolved to '/.src/node_modules/ext/ts3.1/index.d.ts' with Package ID 'ext/s3.1/index.d.ts@1.0.0'. ========", + "File '/.src/node_modules/ext/ts3.1/package.json' does not exist according to earlier cached lookups.", + "File '/.src/node_modules/ext/package.json' exists according to earlier cached lookups.", "======== Resolving module '../other' from '/.src/node_modules/ext/ts3.1/other.d.ts'. ========", "Module resolution kind is not specified, using 'Node10'.", "Loading module as file / folder, candidate module location '/.src/node_modules/ext/other', target file types: TypeScript, Declaration.", @@ -55,6 +59,7 @@ "File '/.src/node_modules/ext/other.d.ts' exists - use it as a name resolution result.", "File '/.src/node_modules/ext/package.json' exists according to earlier cached lookups.", "======== Module name '../other' was successfully resolved to '/.src/node_modules/ext/other.d.ts' with Package ID 'ext/other.d.ts@1.0.0'. ========", + "File '/.src/node_modules/ext/package.json' exists according to earlier cached lookups.", "======== Resolving module '@typescript/lib-esnext' from '/.src/__lib_node_modules_lookup_lib.esnext.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-esnext' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.trace.json b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.trace.json index 328752d50a8..95548f967e8 100644 --- a/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.trace.json +++ b/tests/baselines/reference/typesVersionsDeclarationEmit.multiFileBackReferenceToUnmapped.trace.json @@ -31,6 +31,8 @@ "File '/.src/node_modules/ext/other.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/.src/node_modules/ext/other.d.ts', result '/.src/node_modules/ext/other.d.ts'.", "======== Module name 'ext/other' was successfully resolved to '/.src/node_modules/ext/other.d.ts' with Package ID 'ext/other.d.ts@1.0.0'. ========", + "File '/.src/node_modules/ext/ts3.1/package.json' does not exist.", + "File '/.src/node_modules/ext/package.json' exists according to earlier cached lookups.", "======== Resolving module '../other' from '/.src/node_modules/ext/ts3.1/index.d.ts'. ========", "Module resolution kind is not specified, using 'Node10'.", "Loading module as file / folder, candidate module location '/.src/node_modules/ext/other', target file types: TypeScript, Declaration.", @@ -39,6 +41,7 @@ "File '/.src/node_modules/ext/other.d.ts' exists - use it as a name resolution result.", "File '/.src/node_modules/ext/package.json' exists according to earlier cached lookups.", "======== Module name '../other' was successfully resolved to '/.src/node_modules/ext/other.d.ts' with Package ID 'ext/other.d.ts@1.0.0'. ========", + "File '/.src/node_modules/ext/package.json' exists according to earlier cached lookups.", "======== Resolving module '@typescript/lib-esnext' from '/.src/__lib_node_modules_lookup_lib.esnext.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-esnext' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typingsLookup1.trace.json b/tests/baselines/reference/typingsLookup1.trace.json index ca050949801..4c5d4b31b9f 100644 --- a/tests/baselines/reference/typingsLookup1.trace.json +++ b/tests/baselines/reference/typingsLookup1.trace.json @@ -5,6 +5,10 @@ "File '/node_modules/@types/jquery/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/jquery/index.d.ts', result '/node_modules/@types/jquery/index.d.ts'.", "======== Type reference directive 'jquery' was successfully resolved to '/node_modules/@types/jquery/index.d.ts', primary: true. ========", + "File '/node_modules/@types/jquery/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@types/package.json' does not exist.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving type reference directive 'jquery', containing file '/__inferred type names__.ts'. ========", "Resolution for type reference directive 'jquery' was found in cache from location '/'.", "======== Type reference directive 'jquery' was successfully resolved to '/node_modules/@types/jquery/index.d.ts', primary: true. ========", diff --git a/tests/baselines/reference/typingsLookup3.trace.json b/tests/baselines/reference/typingsLookup3.trace.json index 794dbee4123..f915fd25843 100644 --- a/tests/baselines/reference/typingsLookup3.trace.json +++ b/tests/baselines/reference/typingsLookup3.trace.json @@ -12,6 +12,10 @@ "File '/node_modules/@types/jquery/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/jquery/index.d.ts', result '/node_modules/@types/jquery/index.d.ts'.", "======== Type reference directive 'jquery' was successfully resolved to '/node_modules/@types/jquery/index.d.ts', primary: true. ========", + "File '/node_modules/@types/jquery/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@types/package.json' does not exist.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module '@typescript/lib-es5' from '/__lib_node_modules_lookup_lib.es5.d.ts__.ts'. ========", "Explicitly specified module resolution kind: 'Node10'.", "Loading module '@typescript/lib-es5' from 'node_modules' folder, target file types: TypeScript, Declaration.", diff --git a/tests/baselines/reference/typingsLookup4.trace.json b/tests/baselines/reference/typingsLookup4.trace.json index 746760f576f..46540025b1d 100644 --- a/tests/baselines/reference/typingsLookup4.trace.json +++ b/tests/baselines/reference/typingsLookup4.trace.json @@ -64,6 +64,11 @@ "File '/node_modules/@types/mquery/mquery/index.tsx' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/mquery/mquery/index.tsx', result '/node_modules/@types/mquery/mquery/index.tsx'.", "======== Module name 'mquery' was successfully resolved to '/node_modules/@types/mquery/mquery/index.tsx'. ========", + "File '/node_modules/@types/jquery/package.json' exists according to earlier cached lookups.", + "File '/node_modules/@types/kquery/package.json' exists according to earlier cached lookups.", + "File '/node_modules/@types/lquery/package.json' exists according to earlier cached lookups.", + "File '/node_modules/@types/mquery/mquery/package.json' does not exist.", + "File '/node_modules/@types/mquery/package.json' exists according to earlier cached lookups.", "======== Resolving type reference directive 'jquery', containing file '/__inferred type names__.ts', root directory '/node_modules/@types'. ========", "Resolving with primary search path '/node_modules/@types'.", "File '/node_modules/@types/jquery/package.json' exists according to earlier cached lookups.", diff --git a/tests/baselines/reference/typingsLookupAmd.trace.json b/tests/baselines/reference/typingsLookupAmd.trace.json index a60e37c92be..016121c112b 100644 --- a/tests/baselines/reference/typingsLookupAmd.trace.json +++ b/tests/baselines/reference/typingsLookupAmd.trace.json @@ -17,6 +17,11 @@ "File '/x/node_modules/@types/b/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/x/node_modules/@types/b/index.d.ts', result '/x/node_modules/@types/b/index.d.ts'.", "======== Module name 'b' was successfully resolved to '/x/node_modules/@types/b/index.d.ts'. ========", + "File '/x/node_modules/@types/b/package.json' does not exist according to earlier cached lookups.", + "File '/x/node_modules/@types/package.json' does not exist.", + "File '/x/node_modules/package.json' does not exist.", + "File '/x/package.json' does not exist.", + "File '/package.json' does not exist.", "======== Resolving module 'a' from '/x/node_modules/@types/b/index.d.ts'. ========", "Module resolution kind is not specified, using 'Classic'.", "File '/x/node_modules/@types/b/a.ts' does not exist.", @@ -43,6 +48,10 @@ "File '/node_modules/@types/a/index.d.ts' exists - use it as a name resolution result.", "Resolving real path for '/node_modules/@types/a/index.d.ts', result '/node_modules/@types/a/index.d.ts'.", "======== Module name 'a' was successfully resolved to '/node_modules/@types/a/index.d.ts'. ========", + "File '/node_modules/@types/a/package.json' does not exist according to earlier cached lookups.", + "File '/node_modules/@types/package.json' does not exist.", + "File '/node_modules/package.json' does not exist.", + "File '/package.json' does not exist according to earlier cached lookups.", "======== Resolving type reference directive 'a', containing file '/__inferred type names__.ts', root directory '/node_modules/@types'. ========", "Resolving with primary search path '/node_modules/@types'.", "File '/node_modules/@types/a/package.json' does not exist according to earlier cached lookups.", From 41b993bebe01c3401269839ffda4ae9a422ebb6b Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Wed, 31 Jul 2024 15:52:05 -0700 Subject: [PATCH 79/89] Use local symbol rather then target symbol for tracking reused references (#59493) --- src/compiler/checker.ts | 3 + ...arationEmitEnumReferenceViaImportEquals.js | 88 +++++++++++++++ ...onEmitEnumReferenceViaImportEquals.symbols | 70 ++++++++++++ ...tionEmitEnumReferenceViaImportEquals.types | 106 ++++++++++++++++++ ...rtingModuleAugmentationRetainsImport.types | 4 +- .../declarationEmitUsingTypeAlias2.types | 8 +- .../exportClassExtendingIntersection.types | 4 +- ...nctionVariableInReturnTypeAnnotation.types | 4 +- tests/baselines/reference/importDecl.types | 4 +- ...solatedDeclarationErrorsAugmentation.types | 4 +- .../reference/umd-augmentation-1.types | 8 +- .../reference/umd-augmentation-2.types | 4 +- .../reference/umd-augmentation-3.types | 8 +- .../reference/umd-augmentation-4.types | 4 +- ...arationEmitEnumReferenceViaImportEquals.ts | 31 +++++ 15 files changed, 324 insertions(+), 26 deletions(-) create mode 100644 tests/baselines/reference/declarationEmitEnumReferenceViaImportEquals.js create mode 100644 tests/baselines/reference/declarationEmitEnumReferenceViaImportEquals.symbols create mode 100644 tests/baselines/reference/declarationEmitEnumReferenceViaImportEquals.types create mode 100644 tests/cases/compiler/declarationEmitEnumReferenceViaImportEquals.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index b688e9e1e52..e32aa3130e8 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -8428,6 +8428,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { introducesError = true; return { introducesError, node, sym }; } + else { + sym = symAtLocation; + } } if (sym) { diff --git a/tests/baselines/reference/declarationEmitEnumReferenceViaImportEquals.js b/tests/baselines/reference/declarationEmitEnumReferenceViaImportEquals.js new file mode 100644 index 00000000000..e1ec678e65d --- /dev/null +++ b/tests/baselines/reference/declarationEmitEnumReferenceViaImportEquals.js @@ -0,0 +1,88 @@ +//// [tests/cases/compiler/declarationEmitEnumReferenceViaImportEquals.ts] //// + +//// [translation.ts] +export interface Translation { + translationKey: Translation.TranslationKeyEnum; +} + +export namespace Translation { + export type TranslationKeyEnum = 'translation1' | 'translation2'; + export const TranslationKeyEnum = { + Translation1: 'translation1' as TranslationKeyEnum, + Translation2: 'translation2' as TranslationKeyEnum, + } +} + + +//// [test.ts] +import { Translation } from "./translation"; +import TranslationKeyEnum = Translation.TranslationKeyEnum; + +export class Test { + TranslationKeyEnum = TranslationKeyEnum; + print() { + console.log(TranslationKeyEnum.Translation1); + } +} + +//// [index.ts] +import { Test } from "./test"; +new Test().print(); + +//// [translation.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Translation = void 0; +var Translation; +(function (Translation) { + Translation.TranslationKeyEnum = { + Translation1: 'translation1', + Translation2: 'translation2', + }; +})(Translation || (exports.Translation = Translation = {})); +//// [test.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Test = void 0; +var translation_1 = require("./translation"); +var TranslationKeyEnum = translation_1.Translation.TranslationKeyEnum; +var Test = /** @class */ (function () { + function Test() { + this.TranslationKeyEnum = TranslationKeyEnum; + } + Test.prototype.print = function () { + console.log(TranslationKeyEnum.Translation1); + }; + return Test; +}()); +exports.Test = Test; +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var test_1 = require("./test"); +new test_1.Test().print(); + + +//// [translation.d.ts] +export interface Translation { + translationKey: Translation.TranslationKeyEnum; +} +export declare namespace Translation { + type TranslationKeyEnum = 'translation1' | 'translation2'; + const TranslationKeyEnum: { + Translation1: TranslationKeyEnum; + Translation2: TranslationKeyEnum; + }; +} +//// [test.d.ts] +import { Translation } from "./translation"; +import TranslationKeyEnum = Translation.TranslationKeyEnum; +export declare class Test { + TranslationKeyEnum: { + Translation1: TranslationKeyEnum; + Translation2: TranslationKeyEnum; + }; + print(): void; +} +//// [index.d.ts] +export {}; diff --git a/tests/baselines/reference/declarationEmitEnumReferenceViaImportEquals.symbols b/tests/baselines/reference/declarationEmitEnumReferenceViaImportEquals.symbols new file mode 100644 index 00000000000..8a88df9f883 --- /dev/null +++ b/tests/baselines/reference/declarationEmitEnumReferenceViaImportEquals.symbols @@ -0,0 +1,70 @@ +//// [tests/cases/compiler/declarationEmitEnumReferenceViaImportEquals.ts] //// + +=== translation.ts === +export interface Translation { +>Translation : Symbol(Translation, Decl(translation.ts, 0, 0), Decl(translation.ts, 2, 1)) + + translationKey: Translation.TranslationKeyEnum; +>translationKey : Symbol(Translation.translationKey, Decl(translation.ts, 0, 30)) +>Translation : Symbol(Translation, Decl(translation.ts, 0, 0), Decl(translation.ts, 2, 1)) +>TranslationKeyEnum : Symbol(Translation.TranslationKeyEnum, Decl(translation.ts, 4, 30), Decl(translation.ts, 6, 14)) +} + +export namespace Translation { +>Translation : Symbol(Translation, Decl(translation.ts, 0, 0), Decl(translation.ts, 2, 1)) + + export type TranslationKeyEnum = 'translation1' | 'translation2'; +>TranslationKeyEnum : Symbol(TranslationKeyEnum, Decl(translation.ts, 4, 30), Decl(translation.ts, 6, 14)) + + export const TranslationKeyEnum = { +>TranslationKeyEnum : Symbol(TranslationKeyEnum, Decl(translation.ts, 4, 30), Decl(translation.ts, 6, 14)) + + Translation1: 'translation1' as TranslationKeyEnum, +>Translation1 : Symbol(Translation1, Decl(translation.ts, 6, 37)) +>TranslationKeyEnum : Symbol(TranslationKeyEnum, Decl(translation.ts, 4, 30), Decl(translation.ts, 6, 14)) + + Translation2: 'translation2' as TranslationKeyEnum, +>Translation2 : Symbol(Translation2, Decl(translation.ts, 7, 55)) +>TranslationKeyEnum : Symbol(TranslationKeyEnum, Decl(translation.ts, 4, 30), Decl(translation.ts, 6, 14)) + } +} + + +=== test.ts === +import { Translation } from "./translation"; +>Translation : Symbol(Translation, Decl(test.ts, 0, 8)) + +import TranslationKeyEnum = Translation.TranslationKeyEnum; +>TranslationKeyEnum : Symbol(TranslationKeyEnum, Decl(test.ts, 0, 44)) +>Translation : Symbol(Translation, Decl(test.ts, 0, 8)) +>TranslationKeyEnum : Symbol(Translation.TranslationKeyEnum, Decl(translation.ts, 4, 30), Decl(translation.ts, 6, 14)) + +export class Test { +>Test : Symbol(Test, Decl(test.ts, 1, 59)) + + TranslationKeyEnum = TranslationKeyEnum; +>TranslationKeyEnum : Symbol(Test.TranslationKeyEnum, Decl(test.ts, 3, 19)) +>TranslationKeyEnum : Symbol(TranslationKeyEnum, Decl(test.ts, 0, 44)) + + print() { +>print : Symbol(Test.print, Decl(test.ts, 4, 42)) + + console.log(TranslationKeyEnum.Translation1); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>TranslationKeyEnum.Translation1 : Symbol(Translation1, Decl(translation.ts, 6, 37)) +>TranslationKeyEnum : Symbol(TranslationKeyEnum, Decl(test.ts, 0, 44)) +>Translation1 : Symbol(Translation1, Decl(translation.ts, 6, 37)) + } +} + +=== index.ts === +import { Test } from "./test"; +>Test : Symbol(Test, Decl(index.ts, 0, 8)) + +new Test().print(); +>new Test().print : Symbol(Test.print, Decl(test.ts, 4, 42)) +>Test : Symbol(Test, Decl(index.ts, 0, 8)) +>print : Symbol(Test.print, Decl(test.ts, 4, 42)) + diff --git a/tests/baselines/reference/declarationEmitEnumReferenceViaImportEquals.types b/tests/baselines/reference/declarationEmitEnumReferenceViaImportEquals.types new file mode 100644 index 00000000000..87ddff957a5 --- /dev/null +++ b/tests/baselines/reference/declarationEmitEnumReferenceViaImportEquals.types @@ -0,0 +1,106 @@ +//// [tests/cases/compiler/declarationEmitEnumReferenceViaImportEquals.ts] //// + +=== translation.ts === +export interface Translation { + translationKey: Translation.TranslationKeyEnum; +>translationKey : Translation.TranslationKeyEnum +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Translation : any +> : ^^^ +} + +export namespace Translation { +>Translation : typeof Translation +> : ^^^^^^^^^^^^^^^^^^ + + export type TranslationKeyEnum = 'translation1' | 'translation2'; +>TranslationKeyEnum : TranslationKeyEnum +> : ^^^^^^^^^^^^^^^^^^ + + export const TranslationKeyEnum = { +>TranslationKeyEnum : { Translation1: TranslationKeyEnum; Translation2: TranslationKeyEnum; } +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ +>{ Translation1: 'translation1' as TranslationKeyEnum, Translation2: 'translation2' as TranslationKeyEnum, } : { Translation1: TranslationKeyEnum; Translation2: TranslationKeyEnum; } +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ + + Translation1: 'translation1' as TranslationKeyEnum, +>Translation1 : TranslationKeyEnum +> : ^^^^^^^^^^^^^^^^^^ +>'translation1' as TranslationKeyEnum : TranslationKeyEnum +> : ^^^^^^^^^^^^^^^^^^ +>'translation1' : "translation1" +> : ^^^^^^^^^^^^^^ + + Translation2: 'translation2' as TranslationKeyEnum, +>Translation2 : TranslationKeyEnum +> : ^^^^^^^^^^^^^^^^^^ +>'translation2' as TranslationKeyEnum : TranslationKeyEnum +> : ^^^^^^^^^^^^^^^^^^ +>'translation2' : "translation2" +> : ^^^^^^^^^^^^^^ + } +} + + +=== test.ts === +import { Translation } from "./translation"; +>Translation : typeof Translation +> : ^^^^^^^^^^^^^^^^^^ + +import TranslationKeyEnum = Translation.TranslationKeyEnum; +>TranslationKeyEnum : { Translation1: TranslationKeyEnum; Translation2: TranslationKeyEnum; } +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ +>Translation : Translation +> : ^^^^^^^^^^^ +>TranslationKeyEnum : Translation.TranslationKeyEnum +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +export class Test { +>Test : Test +> : ^^^^ + + TranslationKeyEnum = TranslationKeyEnum; +>TranslationKeyEnum : { Translation1: TranslationKeyEnum; Translation2: TranslationKeyEnum; } +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ +>TranslationKeyEnum : { Translation1: TranslationKeyEnum; Translation2: TranslationKeyEnum; } +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ + + print() { +>print : () => void +> : ^^^^^^^^^^ + + console.log(TranslationKeyEnum.Translation1); +>console.log(TranslationKeyEnum.Translation1) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>TranslationKeyEnum.Translation1 : Translation.TranslationKeyEnum +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>TranslationKeyEnum : { Translation1: TranslationKeyEnum; Translation2: TranslationKeyEnum; } +> : ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^ +>Translation1 : Translation.TranslationKeyEnum +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + } +} + +=== index.ts === +import { Test } from "./test"; +>Test : typeof Test +> : ^^^^^^^^^^^ + +new Test().print(); +>new Test().print() : void +> : ^^^^ +>new Test().print : () => void +> : ^^^^^^^^^^ +>new Test() : Test +> : ^^^^ +>Test : typeof Test +> : ^^^^^^^^^^^ +>print : () => void +> : ^^^^^^^^^^ + diff --git a/tests/baselines/reference/declarationEmitForModuleImportingModuleAugmentationRetainsImport.types b/tests/baselines/reference/declarationEmitForModuleImportingModuleAugmentationRetainsImport.types index b19648a579c..5e6804230c2 100644 --- a/tests/baselines/reference/declarationEmitForModuleImportingModuleAugmentationRetainsImport.types +++ b/tests/baselines/reference/declarationEmitForModuleImportingModuleAugmentationRetainsImport.types @@ -52,7 +52,7 @@ export function child1(prototype: ParentThing) { === parent.ts === import { child1 } from './child1'; // this import should still exist in some form in the output, since it augments this module >child1 : (prototype: ParentThing) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ export class ParentThing implements ParentThing {} >ParentThing : ParentThing @@ -62,7 +62,7 @@ child1(ParentThing.prototype); >child1(ParentThing.prototype) : void > : ^^^^ >child1 : (prototype: ParentThing) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >ParentThing.prototype : ParentThing > : ^^^^^^^^^^^ >ParentThing : typeof ParentThing diff --git a/tests/baselines/reference/declarationEmitUsingTypeAlias2.types b/tests/baselines/reference/declarationEmitUsingTypeAlias2.types index a64aa378cc9..b99ee19d2b2 100644 --- a/tests/baselines/reference/declarationEmitUsingTypeAlias2.types +++ b/tests/baselines/reference/declarationEmitUsingTypeAlias2.types @@ -98,7 +98,7 @@ export { shouldLookupName, shouldReuseLocalName, reuseDepName, shouldBeElided }; === src/index.ts === import { goodDeclaration, shouldReuseLocalName, shouldBeElided } from "some-dep"; >goodDeclaration : () => () => { shouldPrintResult: T extends import("node_modules/some-dep/dist/inner").Other ? "O" : "N"; shouldPrintResult2: T extends typeof shouldBeElided ? import("node_modules/some-dep/dist/inner").Other : "N"; shouldLookupName: typeof import("node_modules/some-dep/dist/other").shouldLookupName; shouldReuseLocalName: typeof shouldReuseLocalName; reuseDepName: typeof import("node_modules/some-dep/dist/other").reuseDepName; } -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ >shouldReuseLocalName : unique symbol > : ^^^^^^^^^^^^^ >shouldBeElided : unique symbol @@ -106,10 +106,10 @@ import { goodDeclaration, shouldReuseLocalName, shouldBeElided } from "some-dep" export const bar = goodDeclaration<{}>; >bar : () => () => { shouldPrintResult: "N"; shouldPrintResult2: "N"; shouldLookupName: typeof import("node_modules/some-dep/dist/other").shouldLookupName; shouldReuseLocalName: typeof shouldReuseLocalName; reuseDepName: typeof import("node_modules/some-dep/dist/other").reuseDepName; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >goodDeclaration<{}> : () => () => { shouldPrintResult: "N"; shouldPrintResult2: "N"; shouldLookupName: typeof import("node_modules/some-dep/dist/other").shouldLookupName; shouldReuseLocalName: typeof shouldReuseLocalName; reuseDepName: typeof import("node_modules/some-dep/dist/other").reuseDepName; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ >goodDeclaration : () => () => { shouldPrintResult: T extends import("node_modules/some-dep/dist/inner").Other ? "O" : "N"; shouldPrintResult2: T extends typeof shouldBeElided ? import("node_modules/some-dep/dist/inner").Other : "N"; shouldLookupName: typeof import("node_modules/some-dep/dist/other").shouldLookupName; shouldReuseLocalName: typeof shouldReuseLocalName; reuseDepName: typeof import("node_modules/some-dep/dist/other").reuseDepName; } -> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ +> : ^ ^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ diff --git a/tests/baselines/reference/exportClassExtendingIntersection.types b/tests/baselines/reference/exportClassExtendingIntersection.types index bfda7a0dca2..25dad432c7c 100644 --- a/tests/baselines/reference/exportClassExtendingIntersection.types +++ b/tests/baselines/reference/exportClassExtendingIntersection.types @@ -56,7 +56,7 @@ import { MyBaseClass } from './BaseClass'; import { MyMixin } from './MixinClass'; >MyMixin : >>(base: T) => T & import("BaseClass").Constructor -> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ export class MyExtendedClass extends MyMixin(MyBaseClass) { >MyExtendedClass : MyExtendedClass @@ -64,7 +64,7 @@ export class MyExtendedClass extends MyMixin(MyBaseClass) { >MyMixin(MyBaseClass) : MyBaseClass & MyMixin > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >MyMixin : >>(base: T) => T & import("BaseClass").Constructor -> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ +> : ^ ^^^^^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^ ^^^^^^^^^^^ >MyBaseClass : typeof MyBaseClass > : ^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/functionVariableInReturnTypeAnnotation.types b/tests/baselines/reference/functionVariableInReturnTypeAnnotation.types index a411dc6efca..e09690cad70 100644 --- a/tests/baselines/reference/functionVariableInReturnTypeAnnotation.types +++ b/tests/baselines/reference/functionVariableInReturnTypeAnnotation.types @@ -2,8 +2,8 @@ === functionVariableInReturnTypeAnnotation.ts === function bar(): typeof b { ->bar : () => typeof b -> : ^^^^^^ +>bar : () => any +> : ^^^^^^^^^ >b : any > : ^^^ diff --git a/tests/baselines/reference/importDecl.types b/tests/baselines/reference/importDecl.types index 34c0f7121bc..118f58ccd51 100644 --- a/tests/baselines/reference/importDecl.types +++ b/tests/baselines/reference/importDecl.types @@ -208,11 +208,11 @@ export var d = m5.foo2(); >m5.foo2() : m4.d > : ^^^^ >m5.foo2 : () => m4.d -> : ^^^^^^^^^^ +> : ^^^^^^ >m5 : typeof m5 > : ^^^^^^^^^ >foo2 : () => m4.d -> : ^^^^^^^^^^ +> : ^^^^^^ // Do not emit multiple used import statements import multiImport_m4 = require("./importDecl_require"); // Emit used diff --git a/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types b/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types index a8186114cc0..7dd57f78696 100644 --- a/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types +++ b/tests/baselines/reference/isolatedDeclarationErrorsAugmentation.types @@ -52,7 +52,7 @@ export function child1(prototype: ParentThing) { === parent.ts === import { child1 } from './child1'; // this import should still exist in some form in the output, since it augments this module >child1 : (prototype: ParentThing) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ export class ParentThing implements ParentThing {} >ParentThing : ParentThing @@ -62,7 +62,7 @@ child1(ParentThing.prototype); >child1(ParentThing.prototype) : void > : ^^^^ >child1 : (prototype: ParentThing) => void -> : ^ ^^^^^^^^^^^^^^^^^^^^^^ +> : ^ ^^ ^^^^^^^^^ >ParentThing.prototype : ParentThing > : ^^^^^^^^^^^ >ParentThing : typeof ParentThing diff --git a/tests/baselines/reference/umd-augmentation-1.types b/tests/baselines/reference/umd-augmentation-1.types index c7f9c95e8f0..4bf383a94ae 100644 --- a/tests/baselines/reference/umd-augmentation-1.types +++ b/tests/baselines/reference/umd-augmentation-1.types @@ -61,12 +61,12 @@ p = v.reverse(); > : ^^^^^^^ >v.reverse() : m.Point > : ^^^^^^^ ->v.reverse : () => m.Point -> : ^^^^^^^^^^^^^ +>v.reverse : () => Math2d.Point +> : ^^^^^^ >v : m.Vector > : ^^^^^^^^ ->reverse : () => m.Point -> : ^^^^^^^^^^^^^ +>reverse : () => Math2d.Point +> : ^^^^^^ var t = p.x; >t : number diff --git a/tests/baselines/reference/umd-augmentation-2.types b/tests/baselines/reference/umd-augmentation-2.types index 6d5c3dde26b..526d70a16a7 100644 --- a/tests/baselines/reference/umd-augmentation-2.types +++ b/tests/baselines/reference/umd-augmentation-2.types @@ -59,11 +59,11 @@ p = v.reverse(); >v.reverse() : Math2d.Point > : ^^^^^^^^^^^^ >v.reverse : () => Math2d.Point -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >v : Math2d.Vector > : ^^^^^^^^^^^^^ >reverse : () => Math2d.Point -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var t = p.x; >t : number diff --git a/tests/baselines/reference/umd-augmentation-3.types b/tests/baselines/reference/umd-augmentation-3.types index 2a8dbeeb746..2e538ad4bd9 100644 --- a/tests/baselines/reference/umd-augmentation-3.types +++ b/tests/baselines/reference/umd-augmentation-3.types @@ -61,12 +61,12 @@ p = v.reverse(); > : ^^^^^^^ >v.reverse() : m.Point > : ^^^^^^^ ->v.reverse : () => m.Point -> : ^^^^^^^^^^^^^ +>v.reverse : () => Math2d.Point +> : ^^^^^^ >v : m.Vector > : ^^^^^^^^ ->reverse : () => m.Point -> : ^^^^^^^^^^^^^ +>reverse : () => Math2d.Point +> : ^^^^^^ var t = p.x; >t : number diff --git a/tests/baselines/reference/umd-augmentation-4.types b/tests/baselines/reference/umd-augmentation-4.types index 5d1217759b6..2c930c86d2a 100644 --- a/tests/baselines/reference/umd-augmentation-4.types +++ b/tests/baselines/reference/umd-augmentation-4.types @@ -59,11 +59,11 @@ p = v.reverse(); >v.reverse() : Math2d.Point > : ^^^^^^^^^^^^ >v.reverse : () => Math2d.Point -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ >v : Math2d.Vector > : ^^^^^^^^^^^^^ >reverse : () => Math2d.Point -> : ^^^^^^^^^^^^^^^^^^ +> : ^^^^^^ var t = p.x; >t : number diff --git a/tests/cases/compiler/declarationEmitEnumReferenceViaImportEquals.ts b/tests/cases/compiler/declarationEmitEnumReferenceViaImportEquals.ts new file mode 100644 index 00000000000..1d368e4bcd1 --- /dev/null +++ b/tests/cases/compiler/declarationEmitEnumReferenceViaImportEquals.ts @@ -0,0 +1,31 @@ +// @strict: true +// @declaration: true + +// @filename: translation.ts +export interface Translation { + translationKey: Translation.TranslationKeyEnum; +} + +export namespace Translation { + export type TranslationKeyEnum = 'translation1' | 'translation2'; + export const TranslationKeyEnum = { + Translation1: 'translation1' as TranslationKeyEnum, + Translation2: 'translation2' as TranslationKeyEnum, + } +} + + +// @filename: test.ts +import { Translation } from "./translation"; +import TranslationKeyEnum = Translation.TranslationKeyEnum; + +export class Test { + TranslationKeyEnum = TranslationKeyEnum; + print() { + console.log(TranslationKeyEnum.Translation1); + } +} + +// @filename: index.ts +import { Test } from "./test"; +new Test().print(); \ No newline at end of file From 8daac14aa4e4ab5b6426bc9f1ac88ff50104981b Mon Sep 17 00:00:00 2001 From: Wesley Wigham Date: Thu, 1 Aug 2024 13:54:01 -0700 Subject: [PATCH 80/89] Add support for the @jsxruntime pragma (#59500) --- src/compiler/utilities.ts | 8 +- .../reference/jsxRuntimePragma(jsx=react).js | 92 +++++++++ .../jsxRuntimePragma(jsx=react).symbols | 95 +++++++++ .../jsxRuntimePragma(jsx=react).types | 183 ++++++++++++++++++ .../jsxRuntimePragma(jsx=react-jsx).js | 92 +++++++++ .../jsxRuntimePragma(jsx=react-jsx).symbols | 95 +++++++++ .../jsxRuntimePragma(jsx=react-jsx).types | 183 ++++++++++++++++++ .../jsxRuntimePragma(jsx=react-jsxdev).js | 96 +++++++++ ...jsxRuntimePragma(jsx=react-jsxdev).symbols | 95 +++++++++ .../jsxRuntimePragma(jsx=react-jsxdev).types | 183 ++++++++++++++++++ tests/cases/compiler/jsxRuntimePragma.ts | 34 ++++ 11 files changed, 1155 insertions(+), 1 deletion(-) create mode 100644 tests/baselines/reference/jsxRuntimePragma(jsx=react).js create mode 100644 tests/baselines/reference/jsxRuntimePragma(jsx=react).symbols create mode 100644 tests/baselines/reference/jsxRuntimePragma(jsx=react).types create mode 100644 tests/baselines/reference/jsxRuntimePragma(jsx=react-jsx).js create mode 100644 tests/baselines/reference/jsxRuntimePragma(jsx=react-jsx).symbols create mode 100644 tests/baselines/reference/jsxRuntimePragma(jsx=react-jsx).types create mode 100644 tests/baselines/reference/jsxRuntimePragma(jsx=react-jsxdev).js create mode 100644 tests/baselines/reference/jsxRuntimePragma(jsx=react-jsxdev).symbols create mode 100644 tests/baselines/reference/jsxRuntimePragma(jsx=react-jsxdev).types create mode 100644 tests/cases/compiler/jsxRuntimePragma.ts diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index a1ef5bb08d8..b7600682b6c 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -9164,10 +9164,16 @@ export function getJSXTransformEnabled(options: CompilerOptions): boolean { export function getJSXImplicitImportBase(compilerOptions: CompilerOptions, file?: SourceFile): string | undefined { const jsxImportSourcePragmas = file?.pragmas.get("jsximportsource"); const jsxImportSourcePragma = isArray(jsxImportSourcePragmas) ? jsxImportSourcePragmas[jsxImportSourcePragmas.length - 1] : jsxImportSourcePragmas; + const jsxRuntimePragmas = file?.pragmas.get("jsxruntime"); + const jsxRuntimePragma = isArray(jsxRuntimePragmas) ? jsxRuntimePragmas[jsxRuntimePragmas.length - 1] : jsxRuntimePragmas; + if (jsxRuntimePragma?.arguments.factory === "classic") { + return undefined; + } return compilerOptions.jsx === JsxEmit.ReactJSX || compilerOptions.jsx === JsxEmit.ReactJSXDev || compilerOptions.jsxImportSource || - jsxImportSourcePragma ? + jsxImportSourcePragma || + jsxRuntimePragma?.arguments.factory === "automatic" ? jsxImportSourcePragma?.arguments.factory || compilerOptions.jsxImportSource || "react" : undefined; } diff --git a/tests/baselines/reference/jsxRuntimePragma(jsx=react).js b/tests/baselines/reference/jsxRuntimePragma(jsx=react).js new file mode 100644 index 00000000000..82c052f0224 --- /dev/null +++ b/tests/baselines/reference/jsxRuntimePragma(jsx=react).js @@ -0,0 +1,92 @@ +//// [tests/cases/compiler/jsxRuntimePragma.ts] //// + +//// [one.tsx] +/// +/* @jsxRuntime classic */ +import * as React from "react"; +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +//// [two.tsx] +/// +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +//// [three.tsx] +/// +/* @jsxRuntime classic */ +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +//// [four.tsx] +/// +/* @jsxRuntime automatic */ +/* @jsxRuntime classic */ +import * as React from "react"; +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +//// [index.ts] +export * as one from "./one.js"; +export * as two from "./two.js"; +export * as three from "./three.js"; +export * as four from "./four.js"; + +//// [one.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.selfClosing = exports.frag = exports.HelloWorld = void 0; +/// +/* @jsxRuntime classic */ +var React = require("react"); +var HelloWorld = function () { return React.createElement("h1", null, "Hello world"); }; +exports.HelloWorld = HelloWorld; +exports.frag = React.createElement(React.Fragment, null, + React.createElement("div", null)); +exports.selfClosing = React.createElement("img", { src: "./image.png" }); +//// [two.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.selfClosing = exports.frag = exports.HelloWorld = void 0; +var jsx_runtime_1 = require("react/jsx-runtime"); +/// +/* @jsxRuntime automatic */ +var HelloWorld = function () { return (0, jsx_runtime_1.jsx)("h1", { children: "Hello world" }); }; +exports.HelloWorld = HelloWorld; +exports.frag = (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("div", {}) }); +exports.selfClosing = (0, jsx_runtime_1.jsx)("img", { src: "./image.png" }); +//// [three.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.selfClosing = exports.frag = exports.HelloWorld = void 0; +var jsx_runtime_1 = require("react/jsx-runtime"); +/// +/* @jsxRuntime classic */ +/* @jsxRuntime automatic */ +var HelloWorld = function () { return (0, jsx_runtime_1.jsx)("h1", { children: "Hello world" }); }; +exports.HelloWorld = HelloWorld; +exports.frag = (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("div", {}) }); +exports.selfClosing = (0, jsx_runtime_1.jsx)("img", { src: "./image.png" }); +//// [four.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.selfClosing = exports.frag = exports.HelloWorld = void 0; +/// +/* @jsxRuntime automatic */ +/* @jsxRuntime classic */ +var React = require("react"); +var HelloWorld = function () { return React.createElement("h1", null, "Hello world"); }; +exports.HelloWorld = HelloWorld; +exports.frag = React.createElement(React.Fragment, null, + React.createElement("div", null)); +exports.selfClosing = React.createElement("img", { src: "./image.png" }); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.four = exports.three = exports.two = exports.one = void 0; +exports.one = require("./one.js"); +exports.two = require("./two.js"); +exports.three = require("./three.js"); +exports.four = require("./four.js"); diff --git a/tests/baselines/reference/jsxRuntimePragma(jsx=react).symbols b/tests/baselines/reference/jsxRuntimePragma(jsx=react).symbols new file mode 100644 index 00000000000..0060411a1a9 --- /dev/null +++ b/tests/baselines/reference/jsxRuntimePragma(jsx=react).symbols @@ -0,0 +1,95 @@ +//// [tests/cases/compiler/jsxRuntimePragma.ts] //// + +=== one.tsx === +/// +/* @jsxRuntime classic */ +import * as React from "react"; +>React : Symbol(React, Decl(one.tsx, 2, 6)) + +export const HelloWorld = () =>

Hello world

; +>HelloWorld : Symbol(HelloWorld, Decl(one.tsx, 3, 12)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) + +export const frag = <>
; +>frag : Symbol(frag, Decl(one.tsx, 4, 12)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) + +export const selfClosing = ; +>selfClosing : Symbol(selfClosing, Decl(one.tsx, 5, 12)) +>img : Symbol(JSX.IntrinsicElements.img, Decl(react16.d.ts, 2569, 114)) +>src : Symbol(src, Decl(one.tsx, 5, 31)) + +=== two.tsx === +/// +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +>HelloWorld : Symbol(HelloWorld, Decl(two.tsx, 2, 12)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) + +export const frag = <>
; +>frag : Symbol(frag, Decl(two.tsx, 3, 12)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) + +export const selfClosing = ; +>selfClosing : Symbol(selfClosing, Decl(two.tsx, 4, 12)) +>img : Symbol(JSX.IntrinsicElements.img, Decl(react16.d.ts, 2569, 114)) +>src : Symbol(src, Decl(two.tsx, 4, 31)) + +=== three.tsx === +/// +/* @jsxRuntime classic */ +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +>HelloWorld : Symbol(HelloWorld, Decl(three.tsx, 3, 12)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) + +export const frag = <>
; +>frag : Symbol(frag, Decl(three.tsx, 4, 12)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) + +export const selfClosing = ; +>selfClosing : Symbol(selfClosing, Decl(three.tsx, 5, 12)) +>img : Symbol(JSX.IntrinsicElements.img, Decl(react16.d.ts, 2569, 114)) +>src : Symbol(src, Decl(three.tsx, 5, 31)) + +=== four.tsx === +/// +/* @jsxRuntime automatic */ +/* @jsxRuntime classic */ +import * as React from "react"; +>React : Symbol(React, Decl(four.tsx, 3, 6)) + +export const HelloWorld = () =>

Hello world

; +>HelloWorld : Symbol(HelloWorld, Decl(four.tsx, 4, 12)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) + +export const frag = <>
; +>frag : Symbol(frag, Decl(four.tsx, 5, 12)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) + +export const selfClosing = ; +>selfClosing : Symbol(selfClosing, Decl(four.tsx, 6, 12)) +>img : Symbol(JSX.IntrinsicElements.img, Decl(react16.d.ts, 2569, 114)) +>src : Symbol(src, Decl(four.tsx, 6, 31)) + +=== index.ts === +export * as one from "./one.js"; +>one : Symbol(one, Decl(index.ts, 0, 6)) + +export * as two from "./two.js"; +>two : Symbol(two, Decl(index.ts, 1, 6)) + +export * as three from "./three.js"; +>three : Symbol(three, Decl(index.ts, 2, 6)) + +export * as four from "./four.js"; +>four : Symbol(four, Decl(index.ts, 3, 6)) + diff --git a/tests/baselines/reference/jsxRuntimePragma(jsx=react).types b/tests/baselines/reference/jsxRuntimePragma(jsx=react).types new file mode 100644 index 00000000000..87eb419fb53 --- /dev/null +++ b/tests/baselines/reference/jsxRuntimePragma(jsx=react).types @@ -0,0 +1,183 @@ +//// [tests/cases/compiler/jsxRuntimePragma.ts] //// + +=== Performance Stats === +Assignability cache: 2,500 +Type Count: 5,000 +Instantiation count: 50,000 +Symbol count: 50,000 + +=== one.tsx === +/// +/* @jsxRuntime classic */ +import * as React from "react"; +>React : typeof React +> : ^^^^^^^^^^^^ + +export const HelloWorld = () =>

Hello world

; +>HelloWorld : () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>() =>

Hello world

: () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>

Hello world

: JSX.Element +> : ^^^^^^^^^^^ +>h1 : any +> : ^^^ +>h1 : any +> : ^^^ + +export const frag = <>
; +>frag : JSX.Element +> : ^^^^^^^^^^^ +><>
: JSX.Element +> : ^^^^^^^^^^^ +>
: JSX.Element +> : ^^^^^^^^^^^ +>div : any +> : ^^^ +>div : any +> : ^^^ + +export const selfClosing = ; +>selfClosing : JSX.Element +> : ^^^^^^^^^^^ +> : JSX.Element +> : ^^^^^^^^^^^ +>img : any +> : ^^^ +>src : string +> : ^^^^^^ + +=== two.tsx === +/// +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +>HelloWorld : () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>() =>

Hello world

: () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>

Hello world

: JSX.Element +> : ^^^^^^^^^^^ +>h1 : any +> : ^^^ +>h1 : any +> : ^^^ + +export const frag = <>
; +>frag : JSX.Element +> : ^^^^^^^^^^^ +><>
: JSX.Element +> : ^^^^^^^^^^^ +>
: JSX.Element +> : ^^^^^^^^^^^ +>div : any +> : ^^^ +>div : any +> : ^^^ + +export const selfClosing = ; +>selfClosing : JSX.Element +> : ^^^^^^^^^^^ +> : JSX.Element +> : ^^^^^^^^^^^ +>img : any +> : ^^^ +>src : string +> : ^^^^^^ + +=== three.tsx === +/// +/* @jsxRuntime classic */ +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +>HelloWorld : () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>() =>

Hello world

: () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>

Hello world

: JSX.Element +> : ^^^^^^^^^^^ +>h1 : any +> : ^^^ +>h1 : any +> : ^^^ + +export const frag = <>
; +>frag : JSX.Element +> : ^^^^^^^^^^^ +><>
: JSX.Element +> : ^^^^^^^^^^^ +>
: JSX.Element +> : ^^^^^^^^^^^ +>div : any +> : ^^^ +>div : any +> : ^^^ + +export const selfClosing = ; +>selfClosing : JSX.Element +> : ^^^^^^^^^^^ +> : JSX.Element +> : ^^^^^^^^^^^ +>img : any +> : ^^^ +>src : string +> : ^^^^^^ + +=== four.tsx === +/// +/* @jsxRuntime automatic */ +/* @jsxRuntime classic */ +import * as React from "react"; +>React : typeof React +> : ^^^^^^^^^^^^ + +export const HelloWorld = () =>

Hello world

; +>HelloWorld : () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>() =>

Hello world

: () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>

Hello world

: JSX.Element +> : ^^^^^^^^^^^ +>h1 : any +> : ^^^ +>h1 : any +> : ^^^ + +export const frag = <>
; +>frag : JSX.Element +> : ^^^^^^^^^^^ +><>
: JSX.Element +> : ^^^^^^^^^^^ +>
: JSX.Element +> : ^^^^^^^^^^^ +>div : any +> : ^^^ +>div : any +> : ^^^ + +export const selfClosing = ; +>selfClosing : JSX.Element +> : ^^^^^^^^^^^ +> : JSX.Element +> : ^^^^^^^^^^^ +>img : any +> : ^^^ +>src : string +> : ^^^^^^ + +=== index.ts === +export * as one from "./one.js"; +>one : typeof import("one") +> : ^^^^^^^^^^^^^^^^^^^^ + +export * as two from "./two.js"; +>two : typeof import("two") +> : ^^^^^^^^^^^^^^^^^^^^ + +export * as three from "./three.js"; +>three : typeof import("three") +> : ^^^^^^^^^^^^^^^^^^^^^^ + +export * as four from "./four.js"; +>four : typeof import("four") +> : ^^^^^^^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsx).js b/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsx).js new file mode 100644 index 00000000000..82c052f0224 --- /dev/null +++ b/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsx).js @@ -0,0 +1,92 @@ +//// [tests/cases/compiler/jsxRuntimePragma.ts] //// + +//// [one.tsx] +/// +/* @jsxRuntime classic */ +import * as React from "react"; +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +//// [two.tsx] +/// +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +//// [three.tsx] +/// +/* @jsxRuntime classic */ +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +//// [four.tsx] +/// +/* @jsxRuntime automatic */ +/* @jsxRuntime classic */ +import * as React from "react"; +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +//// [index.ts] +export * as one from "./one.js"; +export * as two from "./two.js"; +export * as three from "./three.js"; +export * as four from "./four.js"; + +//// [one.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.selfClosing = exports.frag = exports.HelloWorld = void 0; +/// +/* @jsxRuntime classic */ +var React = require("react"); +var HelloWorld = function () { return React.createElement("h1", null, "Hello world"); }; +exports.HelloWorld = HelloWorld; +exports.frag = React.createElement(React.Fragment, null, + React.createElement("div", null)); +exports.selfClosing = React.createElement("img", { src: "./image.png" }); +//// [two.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.selfClosing = exports.frag = exports.HelloWorld = void 0; +var jsx_runtime_1 = require("react/jsx-runtime"); +/// +/* @jsxRuntime automatic */ +var HelloWorld = function () { return (0, jsx_runtime_1.jsx)("h1", { children: "Hello world" }); }; +exports.HelloWorld = HelloWorld; +exports.frag = (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("div", {}) }); +exports.selfClosing = (0, jsx_runtime_1.jsx)("img", { src: "./image.png" }); +//// [three.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.selfClosing = exports.frag = exports.HelloWorld = void 0; +var jsx_runtime_1 = require("react/jsx-runtime"); +/// +/* @jsxRuntime classic */ +/* @jsxRuntime automatic */ +var HelloWorld = function () { return (0, jsx_runtime_1.jsx)("h1", { children: "Hello world" }); }; +exports.HelloWorld = HelloWorld; +exports.frag = (0, jsx_runtime_1.jsx)(jsx_runtime_1.Fragment, { children: (0, jsx_runtime_1.jsx)("div", {}) }); +exports.selfClosing = (0, jsx_runtime_1.jsx)("img", { src: "./image.png" }); +//// [four.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.selfClosing = exports.frag = exports.HelloWorld = void 0; +/// +/* @jsxRuntime automatic */ +/* @jsxRuntime classic */ +var React = require("react"); +var HelloWorld = function () { return React.createElement("h1", null, "Hello world"); }; +exports.HelloWorld = HelloWorld; +exports.frag = React.createElement(React.Fragment, null, + React.createElement("div", null)); +exports.selfClosing = React.createElement("img", { src: "./image.png" }); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.four = exports.three = exports.two = exports.one = void 0; +exports.one = require("./one.js"); +exports.two = require("./two.js"); +exports.three = require("./three.js"); +exports.four = require("./four.js"); diff --git a/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsx).symbols b/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsx).symbols new file mode 100644 index 00000000000..0060411a1a9 --- /dev/null +++ b/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsx).symbols @@ -0,0 +1,95 @@ +//// [tests/cases/compiler/jsxRuntimePragma.ts] //// + +=== one.tsx === +/// +/* @jsxRuntime classic */ +import * as React from "react"; +>React : Symbol(React, Decl(one.tsx, 2, 6)) + +export const HelloWorld = () =>

Hello world

; +>HelloWorld : Symbol(HelloWorld, Decl(one.tsx, 3, 12)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) + +export const frag = <>
; +>frag : Symbol(frag, Decl(one.tsx, 4, 12)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) + +export const selfClosing = ; +>selfClosing : Symbol(selfClosing, Decl(one.tsx, 5, 12)) +>img : Symbol(JSX.IntrinsicElements.img, Decl(react16.d.ts, 2569, 114)) +>src : Symbol(src, Decl(one.tsx, 5, 31)) + +=== two.tsx === +/// +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +>HelloWorld : Symbol(HelloWorld, Decl(two.tsx, 2, 12)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) + +export const frag = <>
; +>frag : Symbol(frag, Decl(two.tsx, 3, 12)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) + +export const selfClosing = ; +>selfClosing : Symbol(selfClosing, Decl(two.tsx, 4, 12)) +>img : Symbol(JSX.IntrinsicElements.img, Decl(react16.d.ts, 2569, 114)) +>src : Symbol(src, Decl(two.tsx, 4, 31)) + +=== three.tsx === +/// +/* @jsxRuntime classic */ +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +>HelloWorld : Symbol(HelloWorld, Decl(three.tsx, 3, 12)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) + +export const frag = <>
; +>frag : Symbol(frag, Decl(three.tsx, 4, 12)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) + +export const selfClosing = ; +>selfClosing : Symbol(selfClosing, Decl(three.tsx, 5, 12)) +>img : Symbol(JSX.IntrinsicElements.img, Decl(react16.d.ts, 2569, 114)) +>src : Symbol(src, Decl(three.tsx, 5, 31)) + +=== four.tsx === +/// +/* @jsxRuntime automatic */ +/* @jsxRuntime classic */ +import * as React from "react"; +>React : Symbol(React, Decl(four.tsx, 3, 6)) + +export const HelloWorld = () =>

Hello world

; +>HelloWorld : Symbol(HelloWorld, Decl(four.tsx, 4, 12)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) + +export const frag = <>
; +>frag : Symbol(frag, Decl(four.tsx, 5, 12)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) + +export const selfClosing = ; +>selfClosing : Symbol(selfClosing, Decl(four.tsx, 6, 12)) +>img : Symbol(JSX.IntrinsicElements.img, Decl(react16.d.ts, 2569, 114)) +>src : Symbol(src, Decl(four.tsx, 6, 31)) + +=== index.ts === +export * as one from "./one.js"; +>one : Symbol(one, Decl(index.ts, 0, 6)) + +export * as two from "./two.js"; +>two : Symbol(two, Decl(index.ts, 1, 6)) + +export * as three from "./three.js"; +>three : Symbol(three, Decl(index.ts, 2, 6)) + +export * as four from "./four.js"; +>four : Symbol(four, Decl(index.ts, 3, 6)) + diff --git a/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsx).types b/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsx).types new file mode 100644 index 00000000000..87eb419fb53 --- /dev/null +++ b/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsx).types @@ -0,0 +1,183 @@ +//// [tests/cases/compiler/jsxRuntimePragma.ts] //// + +=== Performance Stats === +Assignability cache: 2,500 +Type Count: 5,000 +Instantiation count: 50,000 +Symbol count: 50,000 + +=== one.tsx === +/// +/* @jsxRuntime classic */ +import * as React from "react"; +>React : typeof React +> : ^^^^^^^^^^^^ + +export const HelloWorld = () =>

Hello world

; +>HelloWorld : () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>() =>

Hello world

: () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>

Hello world

: JSX.Element +> : ^^^^^^^^^^^ +>h1 : any +> : ^^^ +>h1 : any +> : ^^^ + +export const frag = <>
; +>frag : JSX.Element +> : ^^^^^^^^^^^ +><>
: JSX.Element +> : ^^^^^^^^^^^ +>
: JSX.Element +> : ^^^^^^^^^^^ +>div : any +> : ^^^ +>div : any +> : ^^^ + +export const selfClosing = ; +>selfClosing : JSX.Element +> : ^^^^^^^^^^^ +> : JSX.Element +> : ^^^^^^^^^^^ +>img : any +> : ^^^ +>src : string +> : ^^^^^^ + +=== two.tsx === +/// +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +>HelloWorld : () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>() =>

Hello world

: () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>

Hello world

: JSX.Element +> : ^^^^^^^^^^^ +>h1 : any +> : ^^^ +>h1 : any +> : ^^^ + +export const frag = <>
; +>frag : JSX.Element +> : ^^^^^^^^^^^ +><>
: JSX.Element +> : ^^^^^^^^^^^ +>
: JSX.Element +> : ^^^^^^^^^^^ +>div : any +> : ^^^ +>div : any +> : ^^^ + +export const selfClosing = ; +>selfClosing : JSX.Element +> : ^^^^^^^^^^^ +> : JSX.Element +> : ^^^^^^^^^^^ +>img : any +> : ^^^ +>src : string +> : ^^^^^^ + +=== three.tsx === +/// +/* @jsxRuntime classic */ +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +>HelloWorld : () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>() =>

Hello world

: () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>

Hello world

: JSX.Element +> : ^^^^^^^^^^^ +>h1 : any +> : ^^^ +>h1 : any +> : ^^^ + +export const frag = <>
; +>frag : JSX.Element +> : ^^^^^^^^^^^ +><>
: JSX.Element +> : ^^^^^^^^^^^ +>
: JSX.Element +> : ^^^^^^^^^^^ +>div : any +> : ^^^ +>div : any +> : ^^^ + +export const selfClosing = ; +>selfClosing : JSX.Element +> : ^^^^^^^^^^^ +> : JSX.Element +> : ^^^^^^^^^^^ +>img : any +> : ^^^ +>src : string +> : ^^^^^^ + +=== four.tsx === +/// +/* @jsxRuntime automatic */ +/* @jsxRuntime classic */ +import * as React from "react"; +>React : typeof React +> : ^^^^^^^^^^^^ + +export const HelloWorld = () =>

Hello world

; +>HelloWorld : () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>() =>

Hello world

: () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>

Hello world

: JSX.Element +> : ^^^^^^^^^^^ +>h1 : any +> : ^^^ +>h1 : any +> : ^^^ + +export const frag = <>
; +>frag : JSX.Element +> : ^^^^^^^^^^^ +><>
: JSX.Element +> : ^^^^^^^^^^^ +>
: JSX.Element +> : ^^^^^^^^^^^ +>div : any +> : ^^^ +>div : any +> : ^^^ + +export const selfClosing = ; +>selfClosing : JSX.Element +> : ^^^^^^^^^^^ +> : JSX.Element +> : ^^^^^^^^^^^ +>img : any +> : ^^^ +>src : string +> : ^^^^^^ + +=== index.ts === +export * as one from "./one.js"; +>one : typeof import("one") +> : ^^^^^^^^^^^^^^^^^^^^ + +export * as two from "./two.js"; +>two : typeof import("two") +> : ^^^^^^^^^^^^^^^^^^^^ + +export * as three from "./three.js"; +>three : typeof import("three") +> : ^^^^^^^^^^^^^^^^^^^^^^ + +export * as four from "./four.js"; +>four : typeof import("four") +> : ^^^^^^^^^^^^^^^^^^^^^ + diff --git a/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsxdev).js b/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsxdev).js new file mode 100644 index 00000000000..f58c54d25f1 --- /dev/null +++ b/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsxdev).js @@ -0,0 +1,96 @@ +//// [tests/cases/compiler/jsxRuntimePragma.ts] //// + +//// [one.tsx] +/// +/* @jsxRuntime classic */ +import * as React from "react"; +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +//// [two.tsx] +/// +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +//// [three.tsx] +/// +/* @jsxRuntime classic */ +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +//// [four.tsx] +/// +/* @jsxRuntime automatic */ +/* @jsxRuntime classic */ +import * as React from "react"; +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +//// [index.ts] +export * as one from "./one.js"; +export * as two from "./two.js"; +export * as three from "./three.js"; +export * as four from "./four.js"; + +//// [one.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.selfClosing = exports.frag = exports.HelloWorld = void 0; +/// +/* @jsxRuntime classic */ +var React = require("react"); +var HelloWorld = function () { return React.createElement("h1", null, "Hello world"); }; +exports.HelloWorld = HelloWorld; +exports.frag = React.createElement(React.Fragment, null, + React.createElement("div", null)); +exports.selfClosing = React.createElement("img", { src: "./image.png" }); +//// [two.js] +"use strict"; +var _this = this; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.selfClosing = exports.frag = exports.HelloWorld = void 0; +var jsx_dev_runtime_1 = require("react/jsx-dev-runtime"); +var _jsxFileName = "two.tsx"; +/// +/* @jsxRuntime automatic */ +var HelloWorld = function () { return (0, jsx_dev_runtime_1.jsxDEV)("h1", { children: "Hello world" }, void 0, false, { fileName: _jsxFileName, lineNumber: 3, columnNumber: 32 }, _this); }; +exports.HelloWorld = HelloWorld; +exports.frag = (0, jsx_dev_runtime_1.jsxDEV)(jsx_dev_runtime_1.Fragment, { children: (0, jsx_dev_runtime_1.jsxDEV)("div", {}, void 0, false, { fileName: _jsxFileName, lineNumber: 4, columnNumber: 23 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 4, columnNumber: 20 }, this); +exports.selfClosing = (0, jsx_dev_runtime_1.jsxDEV)("img", { src: "./image.png" }, void 0, false, { fileName: _jsxFileName, lineNumber: 5, columnNumber: 27 }, this); +//// [three.js] +"use strict"; +var _this = this; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.selfClosing = exports.frag = exports.HelloWorld = void 0; +var jsx_dev_runtime_1 = require("react/jsx-dev-runtime"); +var _jsxFileName = "three.tsx"; +/// +/* @jsxRuntime classic */ +/* @jsxRuntime automatic */ +var HelloWorld = function () { return (0, jsx_dev_runtime_1.jsxDEV)("h1", { children: "Hello world" }, void 0, false, { fileName: _jsxFileName, lineNumber: 4, columnNumber: 32 }, _this); }; +exports.HelloWorld = HelloWorld; +exports.frag = (0, jsx_dev_runtime_1.jsxDEV)(jsx_dev_runtime_1.Fragment, { children: (0, jsx_dev_runtime_1.jsxDEV)("div", {}, void 0, false, { fileName: _jsxFileName, lineNumber: 5, columnNumber: 23 }, this) }, void 0, false, { fileName: _jsxFileName, lineNumber: 5, columnNumber: 20 }, this); +exports.selfClosing = (0, jsx_dev_runtime_1.jsxDEV)("img", { src: "./image.png" }, void 0, false, { fileName: _jsxFileName, lineNumber: 6, columnNumber: 27 }, this); +//// [four.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.selfClosing = exports.frag = exports.HelloWorld = void 0; +/// +/* @jsxRuntime automatic */ +/* @jsxRuntime classic */ +var React = require("react"); +var HelloWorld = function () { return React.createElement("h1", null, "Hello world"); }; +exports.HelloWorld = HelloWorld; +exports.frag = React.createElement(React.Fragment, null, + React.createElement("div", null)); +exports.selfClosing = React.createElement("img", { src: "./image.png" }); +//// [index.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.four = exports.three = exports.two = exports.one = void 0; +exports.one = require("./one.js"); +exports.two = require("./two.js"); +exports.three = require("./three.js"); +exports.four = require("./four.js"); diff --git a/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsxdev).symbols b/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsxdev).symbols new file mode 100644 index 00000000000..0060411a1a9 --- /dev/null +++ b/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsxdev).symbols @@ -0,0 +1,95 @@ +//// [tests/cases/compiler/jsxRuntimePragma.ts] //// + +=== one.tsx === +/// +/* @jsxRuntime classic */ +import * as React from "react"; +>React : Symbol(React, Decl(one.tsx, 2, 6)) + +export const HelloWorld = () =>

Hello world

; +>HelloWorld : Symbol(HelloWorld, Decl(one.tsx, 3, 12)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) + +export const frag = <>
; +>frag : Symbol(frag, Decl(one.tsx, 4, 12)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) + +export const selfClosing = ; +>selfClosing : Symbol(selfClosing, Decl(one.tsx, 5, 12)) +>img : Symbol(JSX.IntrinsicElements.img, Decl(react16.d.ts, 2569, 114)) +>src : Symbol(src, Decl(one.tsx, 5, 31)) + +=== two.tsx === +/// +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +>HelloWorld : Symbol(HelloWorld, Decl(two.tsx, 2, 12)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) + +export const frag = <>
; +>frag : Symbol(frag, Decl(two.tsx, 3, 12)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) + +export const selfClosing = ; +>selfClosing : Symbol(selfClosing, Decl(two.tsx, 4, 12)) +>img : Symbol(JSX.IntrinsicElements.img, Decl(react16.d.ts, 2569, 114)) +>src : Symbol(src, Decl(two.tsx, 4, 31)) + +=== three.tsx === +/// +/* @jsxRuntime classic */ +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +>HelloWorld : Symbol(HelloWorld, Decl(three.tsx, 3, 12)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) + +export const frag = <>
; +>frag : Symbol(frag, Decl(three.tsx, 4, 12)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) + +export const selfClosing = ; +>selfClosing : Symbol(selfClosing, Decl(three.tsx, 5, 12)) +>img : Symbol(JSX.IntrinsicElements.img, Decl(react16.d.ts, 2569, 114)) +>src : Symbol(src, Decl(three.tsx, 5, 31)) + +=== four.tsx === +/// +/* @jsxRuntime automatic */ +/* @jsxRuntime classic */ +import * as React from "react"; +>React : Symbol(React, Decl(four.tsx, 3, 6)) + +export const HelloWorld = () =>

Hello world

; +>HelloWorld : Symbol(HelloWorld, Decl(four.tsx, 4, 12)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) +>h1 : Symbol(JSX.IntrinsicElements.h1, Decl(react16.d.ts, 2556, 106)) + +export const frag = <>
; +>frag : Symbol(frag, Decl(four.tsx, 5, 12)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) +>div : Symbol(JSX.IntrinsicElements.div, Decl(react16.d.ts, 2546, 114)) + +export const selfClosing = ; +>selfClosing : Symbol(selfClosing, Decl(four.tsx, 6, 12)) +>img : Symbol(JSX.IntrinsicElements.img, Decl(react16.d.ts, 2569, 114)) +>src : Symbol(src, Decl(four.tsx, 6, 31)) + +=== index.ts === +export * as one from "./one.js"; +>one : Symbol(one, Decl(index.ts, 0, 6)) + +export * as two from "./two.js"; +>two : Symbol(two, Decl(index.ts, 1, 6)) + +export * as three from "./three.js"; +>three : Symbol(three, Decl(index.ts, 2, 6)) + +export * as four from "./four.js"; +>four : Symbol(four, Decl(index.ts, 3, 6)) + diff --git a/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsxdev).types b/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsxdev).types new file mode 100644 index 00000000000..87eb419fb53 --- /dev/null +++ b/tests/baselines/reference/jsxRuntimePragma(jsx=react-jsxdev).types @@ -0,0 +1,183 @@ +//// [tests/cases/compiler/jsxRuntimePragma.ts] //// + +=== Performance Stats === +Assignability cache: 2,500 +Type Count: 5,000 +Instantiation count: 50,000 +Symbol count: 50,000 + +=== one.tsx === +/// +/* @jsxRuntime classic */ +import * as React from "react"; +>React : typeof React +> : ^^^^^^^^^^^^ + +export const HelloWorld = () =>

Hello world

; +>HelloWorld : () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>() =>

Hello world

: () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>

Hello world

: JSX.Element +> : ^^^^^^^^^^^ +>h1 : any +> : ^^^ +>h1 : any +> : ^^^ + +export const frag = <>
; +>frag : JSX.Element +> : ^^^^^^^^^^^ +><>
: JSX.Element +> : ^^^^^^^^^^^ +>
: JSX.Element +> : ^^^^^^^^^^^ +>div : any +> : ^^^ +>div : any +> : ^^^ + +export const selfClosing = ; +>selfClosing : JSX.Element +> : ^^^^^^^^^^^ +> : JSX.Element +> : ^^^^^^^^^^^ +>img : any +> : ^^^ +>src : string +> : ^^^^^^ + +=== two.tsx === +/// +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +>HelloWorld : () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>() =>

Hello world

: () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>

Hello world

: JSX.Element +> : ^^^^^^^^^^^ +>h1 : any +> : ^^^ +>h1 : any +> : ^^^ + +export const frag = <>
; +>frag : JSX.Element +> : ^^^^^^^^^^^ +><>
: JSX.Element +> : ^^^^^^^^^^^ +>
: JSX.Element +> : ^^^^^^^^^^^ +>div : any +> : ^^^ +>div : any +> : ^^^ + +export const selfClosing = ; +>selfClosing : JSX.Element +> : ^^^^^^^^^^^ +> : JSX.Element +> : ^^^^^^^^^^^ +>img : any +> : ^^^ +>src : string +> : ^^^^^^ + +=== three.tsx === +/// +/* @jsxRuntime classic */ +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +>HelloWorld : () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>() =>

Hello world

: () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>

Hello world

: JSX.Element +> : ^^^^^^^^^^^ +>h1 : any +> : ^^^ +>h1 : any +> : ^^^ + +export const frag = <>
; +>frag : JSX.Element +> : ^^^^^^^^^^^ +><>
: JSX.Element +> : ^^^^^^^^^^^ +>
: JSX.Element +> : ^^^^^^^^^^^ +>div : any +> : ^^^ +>div : any +> : ^^^ + +export const selfClosing = ; +>selfClosing : JSX.Element +> : ^^^^^^^^^^^ +> : JSX.Element +> : ^^^^^^^^^^^ +>img : any +> : ^^^ +>src : string +> : ^^^^^^ + +=== four.tsx === +/// +/* @jsxRuntime automatic */ +/* @jsxRuntime classic */ +import * as React from "react"; +>React : typeof React +> : ^^^^^^^^^^^^ + +export const HelloWorld = () =>

Hello world

; +>HelloWorld : () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>() =>

Hello world

: () => JSX.Element +> : ^^^^^^^^^^^^^^^^^ +>

Hello world

: JSX.Element +> : ^^^^^^^^^^^ +>h1 : any +> : ^^^ +>h1 : any +> : ^^^ + +export const frag = <>
; +>frag : JSX.Element +> : ^^^^^^^^^^^ +><>
: JSX.Element +> : ^^^^^^^^^^^ +>
: JSX.Element +> : ^^^^^^^^^^^ +>div : any +> : ^^^ +>div : any +> : ^^^ + +export const selfClosing = ; +>selfClosing : JSX.Element +> : ^^^^^^^^^^^ +> : JSX.Element +> : ^^^^^^^^^^^ +>img : any +> : ^^^ +>src : string +> : ^^^^^^ + +=== index.ts === +export * as one from "./one.js"; +>one : typeof import("one") +> : ^^^^^^^^^^^^^^^^^^^^ + +export * as two from "./two.js"; +>two : typeof import("two") +> : ^^^^^^^^^^^^^^^^^^^^ + +export * as three from "./three.js"; +>three : typeof import("three") +> : ^^^^^^^^^^^^^^^^^^^^^^ + +export * as four from "./four.js"; +>four : typeof import("four") +> : ^^^^^^^^^^^^^^^^^^^^^ + diff --git a/tests/cases/compiler/jsxRuntimePragma.ts b/tests/cases/compiler/jsxRuntimePragma.ts new file mode 100644 index 00000000000..c3d1829b386 --- /dev/null +++ b/tests/cases/compiler/jsxRuntimePragma.ts @@ -0,0 +1,34 @@ +// @jsx: react,react-jsx,react-jsxdev +// @filename: one.tsx +/// +/* @jsxRuntime classic */ +import * as React from "react"; +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +// @filename: two.tsx +/// +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +// @filename: three.tsx +/// +/* @jsxRuntime classic */ +/* @jsxRuntime automatic */ +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +// @filename: four.tsx +/// +/* @jsxRuntime automatic */ +/* @jsxRuntime classic */ +import * as React from "react"; +export const HelloWorld = () =>

Hello world

; +export const frag = <>
; +export const selfClosing = ; +// @filename: index.ts +export * as one from "./one.js"; +export * as two from "./two.js"; +export * as three from "./three.js"; +export * as four from "./four.js"; \ No newline at end of file From ffb958592b8f791a85101ea78fec651a50eea6b7 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Fri, 2 Aug 2024 10:38:36 -0700 Subject: [PATCH 81/89] Allow `this` when it appears in `this is T` positions (#59310) --- src/compiler/checker.ts | 5 +- ...declarationEmitThisPredicates02.errors.txt | 18 --- .../declarationEmitThisPredicates02.types | 1 - ...ThisPredicatesWithPrivateName02.errors.txt | 18 --- ...nEmitThisPredicatesWithPrivateName02.types | 1 - ...edTypeWithAsClauseAndLateBoundProperty2.js | 110 ------------------ .../thisPredicateInObjectLiteral.errors.txt | 20 ++++ .../reference/thisPredicateInObjectLiteral.js | 32 +++++ .../thisPredicateInObjectLiteral.symbols | 28 +++++ .../thisPredicateInObjectLiteral.types | 43 +++++++ ...peGuardFunctionOfFormThisErrors.errors.txt | 5 +- .../compiler/thisPredicateInObjectLiteral.ts | 15 +++ 12 files changed, 140 insertions(+), 156 deletions(-) delete mode 100644 tests/baselines/reference/declarationEmitThisPredicates02.errors.txt delete mode 100644 tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName02.errors.txt create mode 100644 tests/baselines/reference/thisPredicateInObjectLiteral.errors.txt create mode 100644 tests/baselines/reference/thisPredicateInObjectLiteral.js create mode 100644 tests/baselines/reference/thisPredicateInObjectLiteral.symbols create mode 100644 tests/baselines/reference/thisPredicateInObjectLiteral.types create mode 100644 tests/cases/compiler/thisPredicateInObjectLiteral.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index e32aa3130e8..c0956390945 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -40980,10 +40980,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { checkSourceElement(node.type); const { parameterName } = node; - if (typePredicate.kind === TypePredicateKind.This || typePredicate.kind === TypePredicateKind.AssertsThis) { - getTypeFromThisTypeNode(parameterName as ThisTypeNode); - } - else { + if (typePredicate.kind !== TypePredicateKind.This && typePredicate.kind !== TypePredicateKind.AssertsThis) { if (typePredicate.parameterIndex >= 0) { if (signatureHasRestParameter(signature) && typePredicate.parameterIndex === signature.parameters.length - 1) { error(parameterName, Diagnostics.A_type_predicate_cannot_reference_a_rest_parameter); diff --git a/tests/baselines/reference/declarationEmitThisPredicates02.errors.txt b/tests/baselines/reference/declarationEmitThisPredicates02.errors.txt deleted file mode 100644 index 396e12c0b6f..00000000000 --- a/tests/baselines/reference/declarationEmitThisPredicates02.errors.txt +++ /dev/null @@ -1,18 +0,0 @@ -declarationEmitThisPredicates02.ts(8,10): error TS2526: A 'this' type is available only in a non-static member of a class or interface. - - -==== declarationEmitThisPredicates02.ts (1 errors) ==== - export interface Foo { - a: string; - b: number; - c: boolean; - } - - export const obj = { - m(): this is Foo { - ~~~~ -!!! error TS2526: A 'this' type is available only in a non-static member of a class or interface. - let dis = this as {} as Foo; - return dis.a != null && dis.b != null && dis.c != null; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitThisPredicates02.types b/tests/baselines/reference/declarationEmitThisPredicates02.types index 790e599a604..4baa55abd85 100644 --- a/tests/baselines/reference/declarationEmitThisPredicates02.types +++ b/tests/baselines/reference/declarationEmitThisPredicates02.types @@ -33,7 +33,6 @@ export const obj = { >this as {} : {} > : ^^ >this : any -> : ^^^ return dis.a != null && dis.b != null && dis.c != null; >dis.a != null && dis.b != null && dis.c != null : boolean diff --git a/tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName02.errors.txt b/tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName02.errors.txt deleted file mode 100644 index b720ce2d668..00000000000 --- a/tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName02.errors.txt +++ /dev/null @@ -1,18 +0,0 @@ -declarationEmitThisPredicatesWithPrivateName02.ts(8,10): error TS2526: A 'this' type is available only in a non-static member of a class or interface. - - -==== declarationEmitThisPredicatesWithPrivateName02.ts (1 errors) ==== - interface Foo { - a: string; - b: number; - c: boolean; - } - - export const obj = { - m(): this is Foo { - ~~~~ -!!! error TS2526: A 'this' type is available only in a non-static member of a class or interface. - let dis = this as {} as Foo; - return dis.a != null && dis.b != null && dis.c != null; - } - } \ No newline at end of file diff --git a/tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName02.types b/tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName02.types index 6927ce89778..906206df114 100644 --- a/tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName02.types +++ b/tests/baselines/reference/declarationEmitThisPredicatesWithPrivateName02.types @@ -33,7 +33,6 @@ export const obj = { >this as {} : {} > : ^^ >this : any -> : ^^^ return dis.a != null && dis.b != null && dis.c != null; >dis.a != null && dis.b != null && dis.c != null : boolean diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js index 7d5de17211a..4aa389086c1 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js @@ -107,113 +107,3 @@ export declare const thing: { readonly [Symbol.unscopables]?: boolean; }; }; - - -//// [DtsFileErrors] - - -mappedTypeWithAsClauseAndLateBoundProperty2.d.ts(27,118): error TS2526: A 'this' type is available only in a non-static member of a class or interface. - - -==== mappedTypeWithAsClauseAndLateBoundProperty2.d.ts (1 errors) ==== - export declare const thing: { - [x: number]: number; - toString: () => string; - toLocaleString: { - (): string; - (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; - }; - pop: () => number; - push: (...items: number[]) => number; - concat: { - (...items: ConcatArray[]): number[]; - (...items: (number | ConcatArray)[]): number[]; - }; - join: (separator?: string) => string; - reverse: () => number[]; - shift: () => number; - slice: (start?: number, end?: number) => number[]; - sort: (compareFn?: (a: number, b: number) => number) => number[]; - splice: { - (start: number, deleteCount?: number): number[]; - (start: number, deleteCount: number, ...items: number[]): number[]; - }; - unshift: (...items: number[]) => number; - indexOf: (searchElement: number, fromIndex?: number) => number; - lastIndexOf: (searchElement: number, fromIndex?: number) => number; - every: { - (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; - ~~~~ -!!! error TS2526: A 'this' type is available only in a non-static member of a class or interface. - (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; - }; - some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; - forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; - map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; - filter: { - (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; - (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; - }; - reduce: { - (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; - (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; - (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; - }; - reduceRight: { - (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; - (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; - (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; - }; - find: { - (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; - (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; - }; - findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; - fill: (value: number, start?: number, end?: number) => number[]; - copyWithin: (target: number, start: number, end?: number) => number[]; - entries: () => BuiltinIterator<[number, number], any, any>; - keys: () => BuiltinIterator; - values: () => BuiltinIterator; - includes: (searchElement: number, fromIndex?: number) => boolean; - flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; - flat: (this: A, depth?: D) => FlatArray[]; - [Symbol.iterator]: () => BuiltinIterator; - readonly [Symbol.unscopables]: { - [x: number]: boolean; - length?: boolean; - toString?: boolean; - toLocaleString?: boolean; - pop?: boolean; - push?: boolean; - concat?: boolean; - join?: boolean; - reverse?: boolean; - shift?: boolean; - slice?: boolean; - sort?: boolean; - splice?: boolean; - unshift?: boolean; - indexOf?: boolean; - lastIndexOf?: boolean; - every?: boolean; - some?: boolean; - forEach?: boolean; - map?: boolean; - filter?: boolean; - reduce?: boolean; - reduceRight?: boolean; - find?: boolean; - findIndex?: boolean; - fill?: boolean; - copyWithin?: boolean; - entries?: boolean; - keys?: boolean; - values?: boolean; - includes?: boolean; - flatMap?: boolean; - flat?: boolean; - [Symbol.iterator]?: boolean; - readonly [Symbol.unscopables]?: boolean; - }; - }; - \ No newline at end of file diff --git a/tests/baselines/reference/thisPredicateInObjectLiteral.errors.txt b/tests/baselines/reference/thisPredicateInObjectLiteral.errors.txt new file mode 100644 index 00000000000..117a47720d6 --- /dev/null +++ b/tests/baselines/reference/thisPredicateInObjectLiteral.errors.txt @@ -0,0 +1,20 @@ +thisPredicateInObjectLiteral.ts(10,28): error TS2526: A 'this' type is available only in a non-static member of a class or interface. + + +==== thisPredicateInObjectLiteral.ts (1 errors) ==== + // Should be OK + const foo2 = { + isNumber(): this is { b: string } { + return true; + }, + }; + + // Still an error + const foo3 = { + isNumber(x: any): x is this { + ~~~~ +!!! error TS2526: A 'this' type is available only in a non-static member of a class or interface. + return true; + }, + }; + \ No newline at end of file diff --git a/tests/baselines/reference/thisPredicateInObjectLiteral.js b/tests/baselines/reference/thisPredicateInObjectLiteral.js new file mode 100644 index 00000000000..f2c9e457407 --- /dev/null +++ b/tests/baselines/reference/thisPredicateInObjectLiteral.js @@ -0,0 +1,32 @@ +//// [tests/cases/compiler/thisPredicateInObjectLiteral.ts] //// + +//// [thisPredicateInObjectLiteral.ts] +// Should be OK +const foo2 = { + isNumber(): this is { b: string } { + return true; + }, +}; + +// Still an error +const foo3 = { + isNumber(x: any): x is this { + return true; + }, +}; + + +//// [thisPredicateInObjectLiteral.js] +"use strict"; +// Should be OK +var foo2 = { + isNumber: function () { + return true; + }, +}; +// Still an error +var foo3 = { + isNumber: function (x) { + return true; + }, +}; diff --git a/tests/baselines/reference/thisPredicateInObjectLiteral.symbols b/tests/baselines/reference/thisPredicateInObjectLiteral.symbols new file mode 100644 index 00000000000..ed78d8775bd --- /dev/null +++ b/tests/baselines/reference/thisPredicateInObjectLiteral.symbols @@ -0,0 +1,28 @@ +//// [tests/cases/compiler/thisPredicateInObjectLiteral.ts] //// + +=== thisPredicateInObjectLiteral.ts === +// Should be OK +const foo2 = { +>foo2 : Symbol(foo2, Decl(thisPredicateInObjectLiteral.ts, 1, 5)) + + isNumber(): this is { b: string } { +>isNumber : Symbol(isNumber, Decl(thisPredicateInObjectLiteral.ts, 1, 14)) +>b : Symbol(b, Decl(thisPredicateInObjectLiteral.ts, 2, 25)) + + return true; + }, +}; + +// Still an error +const foo3 = { +>foo3 : Symbol(foo3, Decl(thisPredicateInObjectLiteral.ts, 8, 5)) + + isNumber(x: any): x is this { +>isNumber : Symbol(isNumber, Decl(thisPredicateInObjectLiteral.ts, 8, 14)) +>x : Symbol(x, Decl(thisPredicateInObjectLiteral.ts, 9, 13)) +>x : Symbol(x, Decl(thisPredicateInObjectLiteral.ts, 9, 13)) + + return true; + }, +}; + diff --git a/tests/baselines/reference/thisPredicateInObjectLiteral.types b/tests/baselines/reference/thisPredicateInObjectLiteral.types new file mode 100644 index 00000000000..96963ea5061 --- /dev/null +++ b/tests/baselines/reference/thisPredicateInObjectLiteral.types @@ -0,0 +1,43 @@ +//// [tests/cases/compiler/thisPredicateInObjectLiteral.ts] //// + +=== thisPredicateInObjectLiteral.ts === +// Should be OK +const foo2 = { +>foo2 : { isNumber(): this is { b: string; }; } +> : ^^^^^^^^^^^^^^ ^^^ +>{ isNumber(): this is { b: string } { return true; },} : { isNumber(): this is { b: string; }; } +> : ^^^^^^^^^^^^^^ ^^^ + + isNumber(): this is { b: string } { +>isNumber : () => this is { b: string; } +> : ^^^^^^ +>b : string +> : ^^^^^^ + + return true; +>true : true +> : ^^^^ + + }, +}; + +// Still an error +const foo3 = { +>foo3 : { isNumber(x: any): x is this; } +> : ^^^^^^^^^^^ ^^ ^^^ ^^^ +>{ isNumber(x: any): x is this { return true; },} : { isNumber(x: any): x is this; } +> : ^^^^^^^^^^^ ^^ ^^^ ^^^ + + isNumber(x: any): x is this { +>isNumber : (x: any) => x is this +> : ^ ^^ ^^^^^ +>x : any +> : ^^^ + + return true; +>true : true +> : ^^^^ + + }, +}; + diff --git a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.errors.txt b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.errors.txt index bb8daf5500d..8c8da810d47 100644 --- a/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.errors.txt +++ b/tests/baselines/reference/typeGuardFunctionOfFormThisErrors.errors.txt @@ -10,12 +10,11 @@ typeGuardFunctionOfFormThisErrors.ts(26,1): error TS2322: Type '() => this is Le typeGuardFunctionOfFormThisErrors.ts(27,1): error TS2322: Type '() => this is FollowerGuard' is not assignable to type '() => this is LeadGuard'. Type predicate 'this is FollowerGuard' is not assignable to 'this is LeadGuard'. Property 'lead' is missing in type 'FollowerGuard' but required in type 'LeadGuard'. -typeGuardFunctionOfFormThisErrors.ts(29,32): error TS2526: A 'this' type is available only in a non-static member of a class or interface. typeGuardFunctionOfFormThisErrors.ts(55,7): error TS2339: Property 'follow' does not exist on type 'RoyalGuard'. typeGuardFunctionOfFormThisErrors.ts(58,7): error TS2339: Property 'lead' does not exist on type 'RoyalGuard'. -==== typeGuardFunctionOfFormThisErrors.ts (7 errors) ==== +==== typeGuardFunctionOfFormThisErrors.ts (6 errors) ==== class RoyalGuard { isLeader(): this is LeadGuard { return this instanceof LeadGuard; @@ -65,8 +64,6 @@ typeGuardFunctionOfFormThisErrors.ts(58,7): error TS2339: Property 'lead' does n !!! related TS2728 typeGuardFunctionOfFormThisErrors.ts:11:5: 'lead' is declared here. function invalidGuard(c: any): this is number { - ~~~~ -!!! error TS2526: A 'this' type is available only in a non-static member of a class or interface. return false; } diff --git a/tests/cases/compiler/thisPredicateInObjectLiteral.ts b/tests/cases/compiler/thisPredicateInObjectLiteral.ts new file mode 100644 index 00000000000..54c5ce2f974 --- /dev/null +++ b/tests/cases/compiler/thisPredicateInObjectLiteral.ts @@ -0,0 +1,15 @@ +// @strict: true + +// Should be OK +const foo2 = { + isNumber(): this is { b: string } { + return true; + }, +}; + +// Still an error +const foo3 = { + isNumber(x: any): x is this { + return true; + }, +}; From ca2fb0e9a733bef96d72d89963abbe46bd6996ff Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Fri, 2 Aug 2024 11:22:36 -0700 Subject: [PATCH 82/89] Update deps (#59466) --- .dprint.jsonc | 4 +- package-lock.json | 537 ++++++++++++++++++++++------------------------ package.json | 18 +- 3 files changed, 270 insertions(+), 289 deletions(-) diff --git a/.dprint.jsonc b/.dprint.jsonc index d4bbf5073b2..aaa8e9927a0 100644 --- a/.dprint.jsonc +++ b/.dprint.jsonc @@ -59,8 +59,8 @@ // Note: if adding new languages, make sure settings.template.json is updated too. // Also, if updating typescript, update the one in package.json. "plugins": [ - "https://plugins.dprint.dev/typescript-0.91.4.wasm", + "https://plugins.dprint.dev/typescript-0.91.6.wasm", "https://plugins.dprint.dev/json-0.19.3.wasm", - "https://plugins.dprint.dev/prettier-0.40.0.json@68c668863ec834d4be0f6f5ccaab415df75336a992aceb7eeeb14fdf096a9e9c" + "https://plugins.dprint.dev/prettier-0.46.1.json@e5bd083088a8dfc6e5ce2d3c9bee81489b065bd5345ef55b59f5d96627928b7a" ] } diff --git a/package-lock.json b/package-lock.json index dcc408da63e..c2f6d848d2d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -14,11 +14,11 @@ }, "devDependencies": { "@dprint/formatter": "^0.4.1", - "@dprint/typescript": "0.91.4", + "@dprint/typescript": "0.91.6", "@esfx/canceltoken": "^1.0.0", "@eslint/js": "^8.57.0", "@octokit/rest": "^21.0.1", - "@types/chai": "^4.3.16", + "@types/chai": "^4.3.17", "@types/diff": "^5.2.1", "@types/minimist": "^1.2.5", "@types/mocha": "^10.0.7", @@ -26,10 +26,10 @@ "@types/node": "latest", "@types/source-map-support": "^0.5.10", "@types/which": "^3.0.4", - "@typescript-eslint/utils": "^7.17.0", + "@typescript-eslint/utils": "^7.18.0", "azure-devops-node-api": "^14.0.1", "c8": "^10.1.2", - "chai": "^4.4.1", + "chai": "^4.5.0", "chalk": "^4.1.2", "chokidar": "^3.6.0", "diff": "^5.2.0", @@ -37,23 +37,23 @@ "esbuild": "^0.23.0", "eslint": "^8.57.0", "eslint-formatter-autolinkable-stylish": "^1.3.0", - "fast-xml-parser": "^4.4.0", + "fast-xml-parser": "^4.4.1", "glob": "^10.4.5", - "globals": "^13.24.0", + "globals": "^15.9.0", "hereby": "^1.9.0", "jsonc-parser": "^3.3.1", - "knip": "^5.26.0", + "knip": "^5.27.0", "minimist": "^1.2.8", "mocha": "^10.7.0", "mocha-fivemat-progress-reporter": "^0.1.0", - "monocart-coverage-reports": "^2.9.3", + "monocart-coverage-reports": "^2.10.0", "ms": "^2.1.3", "node-fetch": "^3.3.2", "playwright": "^1.45.3", "source-map-support": "^0.5.21", "tslib": "^2.6.3", "typescript": "^5.5.4", - "typescript-eslint": "^7.17.0", + "typescript-eslint": "^7.18.0", "which": "^3.0.1" }, "engines": { @@ -151,9 +151,9 @@ ] }, "node_modules/@dprint/typescript": { - "version": "0.91.4", - "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.4.tgz", - "integrity": "sha512-je/T8JF07xehOVS7rx6Xo7T8Aa1Sd/p/+e/b/J2RE8yJHu09O+L0aHBSvec+usjR8/QwCu23AuDLl47zFSey5Q==", + "version": "0.91.6", + "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.6.tgz", + "integrity": "sha512-rbgODMD0hsQJ6w32eMELqt+KnkzxVVLT4qRMcvlz8PsFwSPyIfBslpZcFhmJWdyurVKKNcUPNC6Aq9PcUIX13w==", "dev": true }, "node_modules/@dprint/win32-arm64": { @@ -649,6 +649,21 @@ "concat-map": "0.0.1" } }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/@eslint/eslintrc/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -1021,9 +1036,9 @@ } }, "node_modules/@types/chai": { - "version": "4.3.16", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", - "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==", + "version": "4.3.17", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.17.tgz", + "integrity": "sha512-zmZ21EWzR71B4Sscphjief5djsLre50M6lI622OSySTmn9DB3j+C3kWroHfBQWXbOBwbgg/M8CG/hUxDLIloow==", "dev": true }, "node_modules/@types/diff": { @@ -1057,12 +1072,12 @@ "dev": true }, "node_modules/@types/node": { - "version": "20.14.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", - "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==", + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.1.0.tgz", + "integrity": "sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==", "dev": true, "dependencies": { - "undici-types": "~5.26.4" + "undici-types": "~6.13.0" } }, "node_modules/@types/source-map-support": { @@ -1081,16 +1096,16 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.17.0.tgz", - "integrity": "sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", + "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", "dev": true, "dependencies": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/type-utils": "7.17.0", - "@typescript-eslint/utils": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -1114,15 +1129,15 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.17.0.tgz", - "integrity": "sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/typescript-estree": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4" }, "engines": { @@ -1142,13 +1157,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz", - "integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0" + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1159,13 +1174,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.17.0.tgz", - "integrity": "sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", + "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "7.17.0", - "@typescript-eslint/utils": "7.17.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" }, @@ -1186,9 +1201,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz", - "integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", "dev": true, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1199,13 +1214,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz", - "integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -1227,15 +1242,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz", - "integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", "dev": true, "dependencies": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/typescript-estree": "7.17.0" + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -1249,12 +1264,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz", - "integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", "dev": true, "dependencies": { - "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/types": "7.18.0", "eslint-visitor-keys": "^3.4.3" }, "engines": { @@ -1568,9 +1583,9 @@ } }, "node_modules/chai": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", - "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "dev": true, "dependencies": { "assertion-error": "^1.1.0", @@ -1579,7 +1594,7 @@ "get-func-name": "^2.0.2", "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "type-detect": "^4.1.0" }, "engines": { "node": ">=4" @@ -1877,9 +1892,9 @@ } }, "node_modules/debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, "dependencies": { "ms": "2.1.2" @@ -1987,15 +2002,6 @@ "node": ">=0.3.1" } }, - "node_modules/diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true, - "engines": { - "node": "^14.15.0 || ^16.10.0 || >=18.0.0" - } - }, "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -2272,6 +2278,21 @@ "node": ">=10.13.0" } }, + "node_modules/eslint/node_modules/globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/eslint/node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -2378,9 +2399,9 @@ "dev": true }, "node_modules/fast-xml-parser": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.0.tgz", - "integrity": "sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", "dev": true, "funding": [ { @@ -2636,15 +2657,12 @@ } }, "node_modules/globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.9.0.tgz", + "integrity": "sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==", "dev": true, - "dependencies": { - "type-fest": "^0.20.2" - }, "engines": { - "node": ">=8" + "node": ">=18" }, "funding": { "url": "https://github.com/sponsors/sindresorhus" @@ -3062,9 +3080,9 @@ } }, "node_modules/knip": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/knip/-/knip-5.26.0.tgz", - "integrity": "sha512-vOp+Wk86aqlPwElrUpxXyg6Q8w+j0j6wuzyu5p6k/mBWUI8iP91PCAz1Jzz9PGq5JYdptV7rFBYB9vHr7AFgqg==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/knip/-/knip-5.27.0.tgz", + "integrity": "sha512-W8+jhO7i5pXRUqOzhJGm2DT5/d9aQjyrYTCSojqJxFOvi7ku/nHKzpBO3WNf4eflJo0t3zitmUkM69g53qoZQw==", "dev": true, "funding": [ { @@ -3135,9 +3153,9 @@ } }, "node_modules/knip/node_modules/pretty-ms": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.0.0.tgz", - "integrity": "sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.1.0.tgz", + "integrity": "sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==", "dev": true, "dependencies": { "parse-ms": "^4.0.0" @@ -3227,9 +3245,9 @@ "dev": true }, "node_modules/lz-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lz-utils/-/lz-utils-2.0.2.tgz", - "integrity": "sha512-i1PJN4hNEevkrvLMqNWCCac1BcB5SRaghywG7HVzWOyVkFOasLCG19ND1sY1F/ZEsM6SnGtoXyBWnmfqOM5r6g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lz-utils/-/lz-utils-2.1.0.tgz", + "integrity": "sha512-CMkfimAypidTtWjNDxY8a1bc1mJdyEh04V2FfEQ5Zh8Nx4v7k850EYa+dOWGn9hKG5xOyHP5MkuduAZCTHRvJw==", "dev": true }, "node_modules/make-dir": { @@ -3471,16 +3489,10 @@ "node": ">=10" } }, - "node_modules/monocart-code-viewer": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/monocart-code-viewer/-/monocart-code-viewer-1.1.4.tgz", - "integrity": "sha512-ehSe1lBG7D1VDVLjTkHV63J3zAgzyhlC9OaxOri7D0X4L5/EcZUOG5TEoMmYErL+YGSOQXghU9kSSAelwNnp1Q==", - "dev": true - }, "node_modules/monocart-coverage-reports": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/monocart-coverage-reports/-/monocart-coverage-reports-2.9.3.tgz", - "integrity": "sha512-guRHe/+FGwUc1x1XT4eKW4za5j9MQcq5Vp7CIZfzoGY1mwVp8LKZpDJUjoBkYAb5Xb+7CFAY3lSyNaQ8FKS6oQ==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/monocart-coverage-reports/-/monocart-coverage-reports-2.10.0.tgz", + "integrity": "sha512-PxMFUGQ3gDVmQVbKejfwgXHncDDFX5zldPQLLbYNacDq7qFft2K8hvroEDGztQ5DionF9ztiqlbgKIGmeMyBeA==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", @@ -3490,18 +3502,13 @@ "acorn-walk": "^8.3.3", "commander": "^12.1.0", "console-grid": "^2.2.2", - "diff-sequences": "^29.6.3", "eight-colors": "^1.3.0", "foreground-child": "^3.2.1", "istanbul-lib-coverage": "^3.2.2", "istanbul-lib-report": "^3.0.1", "istanbul-reports": "^3.1.7", - "lz-utils": "^2.0.2", - "minimatch": "9.0.5", - "monocart-code-viewer": "^1.1.4", - "monocart-formatter": "^3.0.0", - "monocart-locator": "^1.0.2", - "turbogrid": "^3.2.0" + "lz-utils": "^2.1.0", + "monocart-locator": "^1.0.2" }, "bin": { "mcr": "lib/cli.js" @@ -3516,12 +3523,6 @@ "node": ">=18" } }, - "node_modules/monocart-formatter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/monocart-formatter/-/monocart-formatter-3.0.0.tgz", - "integrity": "sha512-91OQpUb/9iDqvrblUv6ki11Jxi1d3Fp5u2jfVAPl3UdNp9TM+iBleLzXntUS51W0o+zoya3CJjZZ01z2XWn25g==", - "dev": true - }, "node_modules/monocart-locator": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/monocart-locator/-/monocart-locator-1.0.2.tgz", @@ -3877,9 +3878,9 @@ } }, "node_modules/qs": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", - "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "dependencies": { "side-channel": "^1.0.6" @@ -4429,12 +4430,6 @@ "node": ">=0.6.11 <=0.7.0 || >=0.7.3" } }, - "node_modules/turbogrid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/turbogrid/-/turbogrid-3.2.0.tgz", - "integrity": "sha512-c+2qrCGWzoYpLlxtHgRJ4V5dDRE9fUT7D9maxtdBCqJ0NzCdY+x7xF3/F6cG/+n3VIzKfIS+p9Z/0YMQPf6k/Q==", - "dev": true - }, "node_modules/type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -4448,9 +4443,9 @@ } }, "node_modules/type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", "dev": true, "engines": { "node": ">=4" @@ -4498,14 +4493,14 @@ } }, "node_modules/typescript-eslint": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.17.0.tgz", - "integrity": "sha512-spQxsQvPguduCUfyUvLItvKqK3l8KJ/kqs5Pb/URtzQ5AC53Z6us32St37rpmlt2uESG23lOFpV4UErrmy4dZQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.18.0.tgz", + "integrity": "sha512-PonBkP603E3tt05lDkbOMyaxJjvKqQrXsnow72sVeOFINDE/qNmnnd+f9b4N+U7W6MXnnYyrhtmF2t08QWwUbA==", "dev": true, "dependencies": { - "@typescript-eslint/eslint-plugin": "7.17.0", - "@typescript-eslint/parser": "7.17.0", - "@typescript-eslint/utils": "7.17.0" + "@typescript-eslint/eslint-plugin": "7.18.0", + "@typescript-eslint/parser": "7.18.0", + "@typescript-eslint/utils": "7.18.0" }, "engines": { "node": "^18.18.0 || >=20.0.0" @@ -4533,15 +4528,15 @@ } }, "node_modules/underscore": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", - "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", "dev": true }, "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.13.0.tgz", + "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==", "dev": true }, "node_modules/universal-user-agent": { @@ -4828,9 +4823,9 @@ } }, "node_modules/zod-validation-error": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-3.3.0.tgz", - "integrity": "sha512-Syib9oumw1NTqEv4LT0e6U83Td9aVRk9iTXPUQr1otyV1PuXQKOvOwhMNqZIq5hluzHP2pMgnOmHEo7kPdI2mw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-3.3.1.tgz", + "integrity": "sha512-uFzCZz7FQis256dqw4AhPQgD6f3pzNca/Zh62RNELavlumQB3nDIUFbF5JQfFLcMbO1s02Q7Xg/gpcOBlEnYZA==", "dev": true, "engines": { "node": ">=18.0.0" @@ -4896,9 +4891,9 @@ "optional": true }, "@dprint/typescript": { - "version": "0.91.4", - "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.4.tgz", - "integrity": "sha512-je/T8JF07xehOVS7rx6Xo7T8Aa1Sd/p/+e/b/J2RE8yJHu09O+L0aHBSvec+usjR8/QwCu23AuDLl47zFSey5Q==", + "version": "0.91.6", + "resolved": "https://registry.npmjs.org/@dprint/typescript/-/typescript-0.91.6.tgz", + "integrity": "sha512-rbgODMD0hsQJ6w32eMELqt+KnkzxVVLT4qRMcvlz8PsFwSPyIfBslpZcFhmJWdyurVKKNcUPNC6Aq9PcUIX13w==", "dev": true }, "@dprint/win32-arm64": { @@ -5151,6 +5146,15 @@ "concat-map": "0.0.1" } }, + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -5431,9 +5435,9 @@ } }, "@types/chai": { - "version": "4.3.16", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.16.tgz", - "integrity": "sha512-PatH4iOdyh3MyWtmHVFXLWCCIhUbopaltqddG9BzB+gMIzee2MJrvd+jouii9Z3wzQJruGWAm7WOMjgfG8hQlQ==", + "version": "4.3.17", + "resolved": "https://registry.npmjs.org/@types/chai/-/chai-4.3.17.tgz", + "integrity": "sha512-zmZ21EWzR71B4Sscphjief5djsLre50M6lI622OSySTmn9DB3j+C3kWroHfBQWXbOBwbgg/M8CG/hUxDLIloow==", "dev": true }, "@types/diff": { @@ -5467,12 +5471,12 @@ "dev": true }, "@types/node": { - "version": "20.14.11", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.14.11.tgz", - "integrity": "sha512-kprQpL8MMeszbz6ojB5/tU8PLN4kesnN8Gjzw349rDlNgsSzg90lAVj3llK99Dh7JON+t9AuscPPFW6mPbTnSA==", + "version": "22.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.1.0.tgz", + "integrity": "sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==", "dev": true, "requires": { - "undici-types": "~5.26.4" + "undici-types": "~6.13.0" } }, "@types/source-map-support": { @@ -5491,16 +5495,16 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.17.0.tgz", - "integrity": "sha512-pyiDhEuLM3PuANxH7uNYan1AaFs5XE0zw1hq69JBvGvE7gSuEoQl1ydtEe/XQeoC3GQxLXyOVa5kNOATgM638A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-7.18.0.tgz", + "integrity": "sha512-94EQTWZ40mzBc42ATNIBimBEDltSJ9RQHCC8vc/PDbxi4k8dVwUAv4o98dk50M1zB+JGFxp43FP7f8+FP8R6Sw==", "dev": true, "requires": { "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/type-utils": "7.17.0", - "@typescript-eslint/utils": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/type-utils": "7.18.0", + "@typescript-eslint/utils": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "graphemer": "^1.4.0", "ignore": "^5.3.1", "natural-compare": "^1.4.0", @@ -5508,54 +5512,54 @@ } }, "@typescript-eslint/parser": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.17.0.tgz", - "integrity": "sha512-puiYfGeg5Ydop8eusb/Hy1k7QmOU6X3nvsqCgzrB2K4qMavK//21+PzNE8qeECgNOIoertJPUC1SpegHDI515A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-7.18.0.tgz", + "integrity": "sha512-4Z+L8I2OqhZV8qA132M4wNL30ypZGYOQVBfMgxDH/K5UX0PNqTu1c6za9ST5r9+tavvHiTWmBnKzpCJ/GlVFtg==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/typescript-estree": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.17.0.tgz", - "integrity": "sha512-0P2jTTqyxWp9HiKLu/Vemr2Rg1Xb5B7uHItdVZ6iAenXmPo4SZ86yOPCJwMqpCyaMiEHTNqizHfsbmCFT1x9SA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-7.18.0.tgz", + "integrity": "sha512-jjhdIE/FPF2B7Z1uzc6i3oWKbGcHb87Qw7AWj6jmEqNOfDFbJWtjt/XfwCpvNkpGWlcJaog5vTR+VV8+w9JflA==", "dev": true, "requires": { - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0" + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0" } }, "@typescript-eslint/type-utils": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.17.0.tgz", - "integrity": "sha512-XD3aaBt+orgkM/7Cei0XNEm1vwUxQ958AOLALzPlbPqb8C1G8PZK85tND7Jpe69Wualri81PLU+Zc48GVKIMMA==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-7.18.0.tgz", + "integrity": "sha512-XL0FJXuCLaDuX2sYqZUUSOJ2sG5/i1AAze+axqmLnSkNEVMVYLF+cbwlB2w8D1tinFuSikHmFta+P+HOofrLeA==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "7.17.0", - "@typescript-eslint/utils": "7.17.0", + "@typescript-eslint/typescript-estree": "7.18.0", + "@typescript-eslint/utils": "7.18.0", "debug": "^4.3.4", "ts-api-utils": "^1.3.0" } }, "@typescript-eslint/types": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.17.0.tgz", - "integrity": "sha512-a29Ir0EbyKTKHnZWbNsrc/gqfIBqYPwj3F2M+jWE/9bqfEHg0AMtXzkbUkOG6QgEScxh2+Pz9OXe11jHDnHR7A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-7.18.0.tgz", + "integrity": "sha512-iZqi+Ds1y4EDYUtlOOC+aUmxnE9xS/yCigkjA7XpTKV6nCBd3Hp/PRGGmdwnfkV2ThMyYldP1wRpm/id99spTQ==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.17.0.tgz", - "integrity": "sha512-72I3TGq93t2GoSBWI093wmKo0n6/b7O4j9o8U+f65TVD0FS6bI2180X5eGEr8MA8PhKMvYe9myZJquUT2JkCZw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-7.18.0.tgz", + "integrity": "sha512-aP1v/BSPnnyhMHts8cf1qQ6Q1IFwwRvAQGRvBFkWlo3/lH29OXA3Pts+c10nxRxIBrDnoMqzhgdwVe5f2D6OzA==", "dev": true, "requires": { - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/visitor-keys": "7.17.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/visitor-keys": "7.18.0", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -5565,24 +5569,24 @@ } }, "@typescript-eslint/utils": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.17.0.tgz", - "integrity": "sha512-r+JFlm5NdB+JXc7aWWZ3fKSm1gn0pkswEwIYsrGPdsT2GjsRATAKXiNtp3vgAAO1xZhX8alIOEQnNMl3kbTgJw==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-7.18.0.tgz", + "integrity": "sha512-kK0/rNa2j74XuHVcoCZxdFBMF+aq/vH83CXAOHieC+2Gis4mF8jJXT5eAfyD3K0sAxtPuwxaIOIOvhwzVDt/kw==", "dev": true, "requires": { "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "7.17.0", - "@typescript-eslint/types": "7.17.0", - "@typescript-eslint/typescript-estree": "7.17.0" + "@typescript-eslint/scope-manager": "7.18.0", + "@typescript-eslint/types": "7.18.0", + "@typescript-eslint/typescript-estree": "7.18.0" } }, "@typescript-eslint/visitor-keys": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.17.0.tgz", - "integrity": "sha512-RVGC9UhPOCsfCdI9pU++K4nD7to+jTcMIbXTSOcrLqUEW6gF2pU1UUbYJKc9cvcRSK1UDeMJ7pdMxf4bhMpV/A==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-7.18.0.tgz", + "integrity": "sha512-cDF0/Gf81QpY3xYyJKDV14Zwdmid5+uuENhjH2EqFaF0ni+yAyq/LzMaIJdhNJXZI7uLzwIlA+V7oWoyn6Curg==", "dev": true, "requires": { - "@typescript-eslint/types": "7.17.0", + "@typescript-eslint/types": "7.18.0", "eslint-visitor-keys": "^3.4.3" } }, @@ -5803,9 +5807,9 @@ "dev": true }, "chai": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-4.4.1.tgz", - "integrity": "sha512-13sOfMv2+DWduEU+/xbun3LScLoqN17nBeTLUsmDfKdoiC1fr0n9PU4guu4AhRcOVFk/sW8LyZWHuhWtQZiF+g==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/chai/-/chai-4.5.0.tgz", + "integrity": "sha512-RITGBfijLkBddZvnn8jdqoTypxvqbOLYQkGGxXzeFjVHvudaPw0HNFD9x928/eUwYWd2dPCugVqspGALTZZQKw==", "dev": true, "requires": { "assertion-error": "^1.1.0", @@ -5814,7 +5818,7 @@ "get-func-name": "^2.0.2", "loupe": "^2.3.6", "pathval": "^1.1.1", - "type-detect": "^4.0.8" + "type-detect": "^4.1.0" } }, "chalk": { @@ -6044,9 +6048,9 @@ "dev": true }, "debug": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz", - "integrity": "sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg==", + "version": "4.3.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.6.tgz", + "integrity": "sha512-O/09Bd4Z1fBrU4VzkhFqVgpPzaGbw6Sm9FEkBT1A/YBXQFGuuSxa1dN2nxgxS34JmKXqYx8CZAwEVoJFImUXIg==", "dev": true, "requires": { "ms": "2.1.2" @@ -6124,12 +6128,6 @@ "integrity": "sha512-uIFDxqpRZGZ6ThOk84hEfqWoHx2devRFvpTZcTHur85vImfaxUbTW9Ryh4CpCuDnToOP1CEtXKIgytHBPVff5A==", "dev": true }, - "diff-sequences": { - "version": "29.6.3", - "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz", - "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==", - "dev": true - }, "dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", @@ -6316,6 +6314,15 @@ "is-glob": "^4.0.3" } }, + "globals": { + "version": "13.24.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", + "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", + "dev": true, + "requires": { + "type-fest": "^0.20.2" + } + }, "minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -6426,9 +6433,9 @@ "dev": true }, "fast-xml-parser": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.0.tgz", - "integrity": "sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg==", + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/fast-xml-parser/-/fast-xml-parser-4.4.1.tgz", + "integrity": "sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==", "dev": true, "requires": { "strnum": "^1.0.5" @@ -6597,13 +6604,10 @@ } }, "globals": { - "version": "13.24.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz", - "integrity": "sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==", - "dev": true, - "requires": { - "type-fest": "^0.20.2" - } + "version": "15.9.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-15.9.0.tgz", + "integrity": "sha512-SmSKyLLKFbSr6rptvP8izbyxJL4ILwqO9Jg23UA0sDlGlu58V59D1//I3vlc0KJphVdUR7vMjHIplYnzBxorQA==", + "dev": true }, "globby": { "version": "11.1.0", @@ -6906,9 +6910,9 @@ } }, "knip": { - "version": "5.26.0", - "resolved": "https://registry.npmjs.org/knip/-/knip-5.26.0.tgz", - "integrity": "sha512-vOp+Wk86aqlPwElrUpxXyg6Q8w+j0j6wuzyu5p6k/mBWUI8iP91PCAz1Jzz9PGq5JYdptV7rFBYB9vHr7AFgqg==", + "version": "5.27.0", + "resolved": "https://registry.npmjs.org/knip/-/knip-5.27.0.tgz", + "integrity": "sha512-W8+jhO7i5pXRUqOzhJGm2DT5/d9aQjyrYTCSojqJxFOvi7ku/nHKzpBO3WNf4eflJo0t3zitmUkM69g53qoZQw==", "dev": true, "requires": { "@nodelib/fs.walk": "1.2.8", @@ -6942,9 +6946,9 @@ "dev": true }, "pretty-ms": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.0.0.tgz", - "integrity": "sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==", + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/pretty-ms/-/pretty-ms-9.1.0.tgz", + "integrity": "sha512-o1piW0n3tgKIKCwk2vpM/vOV13zjJzvP37Ioze54YlTHE06m4tjEbzg9WsKkvTuyYln2DHjo5pY4qrZGI0otpw==", "dev": true, "requires": { "parse-ms": "^4.0.0" @@ -7009,9 +7013,9 @@ "dev": true }, "lz-utils": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/lz-utils/-/lz-utils-2.0.2.tgz", - "integrity": "sha512-i1PJN4hNEevkrvLMqNWCCac1BcB5SRaghywG7HVzWOyVkFOasLCG19ND1sY1F/ZEsM6SnGtoXyBWnmfqOM5r6g==", + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lz-utils/-/lz-utils-2.1.0.tgz", + "integrity": "sha512-CMkfimAypidTtWjNDxY8a1bc1mJdyEh04V2FfEQ5Zh8Nx4v7k850EYa+dOWGn9hKG5xOyHP5MkuduAZCTHRvJw==", "dev": true }, "make-dir": { @@ -7193,16 +7197,10 @@ "integrity": "sha512-nCf6dmCEHObJ8BBrcjW+UHYvVtHEL+FliYR/Mfc/v7dKenNmBQ0ZSuvlICgsyQy9Tt581ldvh+SReS4qp4LrQw==", "dev": true }, - "monocart-code-viewer": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/monocart-code-viewer/-/monocart-code-viewer-1.1.4.tgz", - "integrity": "sha512-ehSe1lBG7D1VDVLjTkHV63J3zAgzyhlC9OaxOri7D0X4L5/EcZUOG5TEoMmYErL+YGSOQXghU9kSSAelwNnp1Q==", - "dev": true - }, "monocart-coverage-reports": { - "version": "2.9.3", - "resolved": "https://registry.npmjs.org/monocart-coverage-reports/-/monocart-coverage-reports-2.9.3.tgz", - "integrity": "sha512-guRHe/+FGwUc1x1XT4eKW4za5j9MQcq5Vp7CIZfzoGY1mwVp8LKZpDJUjoBkYAb5Xb+7CFAY3lSyNaQ8FKS6oQ==", + "version": "2.10.0", + "resolved": "https://registry.npmjs.org/monocart-coverage-reports/-/monocart-coverage-reports-2.10.0.tgz", + "integrity": "sha512-PxMFUGQ3gDVmQVbKejfwgXHncDDFX5zldPQLLbYNacDq7qFft2K8hvroEDGztQ5DionF9ztiqlbgKIGmeMyBeA==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", @@ -7212,18 +7210,13 @@ "acorn-walk": "^8.3.3", "commander": "^12.1.0", "console-grid": "^2.2.2", - "diff-sequences": "^29.6.3", "eight-colors": "^1.3.0", "foreground-child": "^3.2.1", "istanbul-lib-coverage": "^3.2.2", "istanbul-lib-report": "^3.0.1", "istanbul-reports": "^3.1.7", - "lz-utils": "^2.0.2", - "minimatch": "9.0.5", - "monocart-code-viewer": "^1.1.4", - "monocart-formatter": "^3.0.0", - "monocart-locator": "^1.0.2", - "turbogrid": "^3.2.0" + "lz-utils": "^2.1.0", + "monocart-locator": "^1.0.2" }, "dependencies": { "commander": { @@ -7234,12 +7227,6 @@ } } }, - "monocart-formatter": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/monocart-formatter/-/monocart-formatter-3.0.0.tgz", - "integrity": "sha512-91OQpUb/9iDqvrblUv6ki11Jxi1d3Fp5u2jfVAPl3UdNp9TM+iBleLzXntUS51W0o+zoya3CJjZZ01z2XWn25g==", - "dev": true - }, "monocart-locator": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/monocart-locator/-/monocart-locator-1.0.2.tgz", @@ -7472,9 +7459,9 @@ "dev": true }, "qs": { - "version": "6.12.3", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz", - "integrity": "sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, "requires": { "side-channel": "^1.0.6" @@ -7843,12 +7830,6 @@ "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==", "dev": true }, - "turbogrid": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/turbogrid/-/turbogrid-3.2.0.tgz", - "integrity": "sha512-c+2qrCGWzoYpLlxtHgRJ4V5dDRE9fUT7D9maxtdBCqJ0NzCdY+x7xF3/F6cG/+n3VIzKfIS+p9Z/0YMQPf6k/Q==", - "dev": true - }, "type-check": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", @@ -7859,9 +7840,9 @@ } }, "type-detect": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz", - "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==", + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.1.0.tgz", + "integrity": "sha512-Acylog8/luQ8L7il+geoSxhEkazvkslg7PSNKOX59mbB9cOveP5aq9h74Y7YU8yDpJwetzQQrfIwtf4Wp4LKcw==", "dev": true }, "type-fest": { @@ -7890,14 +7871,14 @@ "dev": true }, "typescript-eslint": { - "version": "7.17.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.17.0.tgz", - "integrity": "sha512-spQxsQvPguduCUfyUvLItvKqK3l8KJ/kqs5Pb/URtzQ5AC53Z6us32St37rpmlt2uESG23lOFpV4UErrmy4dZQ==", + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-7.18.0.tgz", + "integrity": "sha512-PonBkP603E3tt05lDkbOMyaxJjvKqQrXsnow72sVeOFINDE/qNmnnd+f9b4N+U7W6MXnnYyrhtmF2t08QWwUbA==", "dev": true, "requires": { - "@typescript-eslint/eslint-plugin": "7.17.0", - "@typescript-eslint/parser": "7.17.0", - "@typescript-eslint/utils": "7.17.0" + "@typescript-eslint/eslint-plugin": "7.18.0", + "@typescript-eslint/parser": "7.18.0", + "@typescript-eslint/utils": "7.18.0" } }, "typical": { @@ -7907,15 +7888,15 @@ "dev": true }, "underscore": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.6.tgz", - "integrity": "sha512-+A5Sja4HP1M08MaXya7p5LvjuM7K6q/2EaC0+iovj/wOcMsTzMvDFbasi/oSapiwOlt252IqsKqPjCl7huKS0A==", + "version": "1.13.7", + "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.7.tgz", + "integrity": "sha512-GMXzWtsc57XAtguZgaQViUOzs0KTkk8ojr3/xAxXLITqf/3EMwxC0inyETfDFjH/Krbhuep0HNbbjI9i/q3F3g==", "dev": true }, "undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.13.0.tgz", + "integrity": "sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==", "dev": true }, "universal-user-agent": { @@ -8132,9 +8113,9 @@ "dev": true }, "zod-validation-error": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-3.3.0.tgz", - "integrity": "sha512-Syib9oumw1NTqEv4LT0e6U83Td9aVRk9iTXPUQr1otyV1PuXQKOvOwhMNqZIq5hluzHP2pMgnOmHEo7kPdI2mw==", + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-3.3.1.tgz", + "integrity": "sha512-uFzCZz7FQis256dqw4AhPQgD6f3pzNca/Zh62RNELavlumQB3nDIUFbF5JQfFLcMbO1s02Q7Xg/gpcOBlEnYZA==", "dev": true, "requires": {} } diff --git a/package.json b/package.json index a1cd7a798b2..71c804ccdcc 100644 --- a/package.json +++ b/package.json @@ -40,11 +40,11 @@ ], "devDependencies": { "@dprint/formatter": "^0.4.1", - "@dprint/typescript": "0.91.4", + "@dprint/typescript": "0.91.6", "@esfx/canceltoken": "^1.0.0", "@eslint/js": "^8.57.0", "@octokit/rest": "^21.0.1", - "@types/chai": "^4.3.16", + "@types/chai": "^4.3.17", "@types/diff": "^5.2.1", "@types/minimist": "^1.2.5", "@types/mocha": "^10.0.7", @@ -52,10 +52,10 @@ "@types/node": "latest", "@types/source-map-support": "^0.5.10", "@types/which": "^3.0.4", - "@typescript-eslint/utils": "^7.17.0", + "@typescript-eslint/utils": "^7.18.0", "azure-devops-node-api": "^14.0.1", "c8": "^10.1.2", - "chai": "^4.4.1", + "chai": "^4.5.0", "chalk": "^4.1.2", "chokidar": "^3.6.0", "diff": "^5.2.0", @@ -63,23 +63,23 @@ "esbuild": "^0.23.0", "eslint": "^8.57.0", "eslint-formatter-autolinkable-stylish": "^1.3.0", - "fast-xml-parser": "^4.4.0", + "fast-xml-parser": "^4.4.1", "glob": "^10.4.5", - "globals": "^13.24.0", + "globals": "^15.9.0", "hereby": "^1.9.0", "jsonc-parser": "^3.3.1", - "knip": "^5.26.0", + "knip": "^5.27.0", "minimist": "^1.2.8", "mocha": "^10.7.0", "mocha-fivemat-progress-reporter": "^0.1.0", - "monocart-coverage-reports": "^2.9.3", + "monocart-coverage-reports": "^2.10.0", "ms": "^2.1.3", "node-fetch": "^3.3.2", "playwright": "^1.45.3", "source-map-support": "^0.5.21", "tslib": "^2.6.3", "typescript": "^5.5.4", - "typescript-eslint": "^7.17.0", + "typescript-eslint": "^7.18.0", "which": "^3.0.1" }, "overrides": { From e078a9367eb6cf7a1e8b33dd94fadbdba054ac9c Mon Sep 17 00:00:00 2001 From: "CSIGS@microsoft.com" Date: Fri, 2 Aug 2024 12:22:28 -0700 Subject: [PATCH 83/89] LEGO: Pull request from lego/hb_5378966c-b857-470a-8675-daebef4a6da1_20240802111725489 to main (#59511) --- .../diagnosticMessages.generated.json.lcl | 849 +++++++++++++++++- 1 file changed, 843 insertions(+), 6 deletions(-) diff --git a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl index 6910094eaea..8c994921523 100644 --- a/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl +++ b/src/loc/lcl/cht/diagnosticMessages/diagnosticMessages.generated.json.lcl @@ -51,6 +51,9 @@ + + + @@ -66,6 +69,9 @@ + + + @@ -117,12 +123,18 @@ + + + + + + @@ -147,12 +159,18 @@ + + + + + + @@ -318,6 +336,9 @@ + + + @@ -387,6 +408,9 @@ + + + @@ -432,6 +456,9 @@ + + + @@ -909,6 +936,9 @@ + + + @@ -1050,6 +1080,9 @@ + + + @@ -1110,48 +1143,72 @@ + + + + + + + + + + + + + + + + + + + + + + + + @@ -1221,6 +1278,9 @@ + + + @@ -1254,18 +1314,27 @@ + + + + + + + + + @@ -1437,6 +1506,9 @@ + + + @@ -1479,12 +1551,18 @@ + + + + + + @@ -1530,6 +1608,9 @@ + + + @@ -1581,18 +1662,27 @@ + + + + + + + + + @@ -1824,6 +1914,9 @@ + + + @@ -1965,6 +2058,9 @@ + + + @@ -2100,24 +2196,36 @@ + + + + + + + + + + + + @@ -2181,6 +2289,9 @@ + + + @@ -2223,6 +2334,9 @@ + + + @@ -2346,6 +2460,9 @@ + + + @@ -2415,6 +2532,9 @@ + + + @@ -2475,6 +2595,9 @@ + + + @@ -2499,12 +2622,18 @@ + + + + + + @@ -2586,6 +2715,9 @@ + + + @@ -2610,6 +2742,9 @@ + + + @@ -2625,6 +2760,9 @@ + + + @@ -2739,6 +2877,9 @@ + + + @@ -2802,6 +2943,9 @@ + + + @@ -2901,6 +3045,9 @@ + + + @@ -2916,12 +3063,18 @@ + + + + + + @@ -3168,6 +3321,9 @@ + + + @@ -3252,12 +3408,18 @@ + + + + + + @@ -3444,12 +3606,18 @@ + + + + + + @@ -3525,6 +3693,9 @@ + + + @@ -3684,6 +3855,9 @@ + + + @@ -3849,6 +4023,9 @@ + + + @@ -3939,6 +4116,9 @@ + + + @@ -4068,6 +4248,9 @@ + + + @@ -4083,6 +4266,9 @@ + + + @@ -4107,6 +4293,9 @@ + + + @@ -4347,6 +4536,9 @@ + + + @@ -4569,6 +4761,9 @@ + + + @@ -4701,6 +4896,9 @@ + + + @@ -4764,12 +4962,18 @@ + + + + + + @@ -4785,6 +4989,9 @@ + + + @@ -4809,6 +5016,9 @@ + + + @@ -4842,7 +5052,7 @@ - + @@ -4965,6 +5175,9 @@ + + + @@ -4989,6 +5202,9 @@ + + + @@ -5022,6 +5238,9 @@ + + + @@ -5322,6 +5541,9 @@ + + + @@ -5592,6 +5814,9 @@ + + + @@ -5727,6 +5952,9 @@ + + + @@ -5754,30 +5982,45 @@ + + + + + + + + + + + + + + + @@ -6030,12 +6273,18 @@ + + + + + + @@ -6213,6 +6462,9 @@ + + + @@ -6291,12 +6543,18 @@ + + + + + + @@ -6333,6 +6591,9 @@ + + + @@ -6348,6 +6609,9 @@ + + + @@ -6363,6 +6627,9 @@ + + + @@ -6423,30 +6690,45 @@ + + + + + + + + + + + + + + + @@ -6645,6 +6927,9 @@ + + + @@ -6705,30 +6990,45 @@ + + + + + + + + + + + + + + + @@ -6744,6 +7044,9 @@ + + + @@ -6813,6 +7116,9 @@ + + + @@ -6846,12 +7152,18 @@ + + + + + + @@ -6894,6 +7206,9 @@ + + + @@ -6963,6 +7278,9 @@ + + + @@ -7143,6 +7461,9 @@ + + + @@ -7233,6 +7554,9 @@ + + + @@ -7293,6 +7617,9 @@ + + + @@ -7308,24 +7635,36 @@ + + + + + + + + + + + + @@ -7377,6 +7716,9 @@ + + + @@ -7704,6 +8046,9 @@ + + + @@ -7815,12 +8160,18 @@ + + + + + + @@ -7845,12 +8196,18 @@ + + + + + + @@ -7875,24 +8232,36 @@ + + + + + + + + + + + + @@ -8112,6 +8481,9 @@ + + + @@ -8196,6 +8568,9 @@ + + + @@ -8262,6 +8637,9 @@ + + + @@ -8415,6 +8793,9 @@ + + + @@ -8448,6 +8829,9 @@ + + + @@ -8517,6 +8901,9 @@ + + + @@ -8568,6 +8955,9 @@ + + + @@ -8583,6 +8973,9 @@ + + + @@ -8862,12 +9255,18 @@ + + + + + + @@ -8958,6 +9357,9 @@ + + + @@ -9063,6 +9465,9 @@ + + + @@ -9219,6 +9624,9 @@ + + + @@ -9327,6 +9735,9 @@ + + + @@ -9342,6 +9753,9 @@ + + + @@ -9384,12 +9798,18 @@ + + + + + + @@ -9432,12 +9852,18 @@ + + + + + + @@ -9543,7 +9969,7 @@ - + @@ -9555,12 +9981,18 @@ + + + + + + @@ -9576,12 +10008,18 @@ + + + + + + @@ -9642,6 +10080,9 @@ + + + @@ -9729,12 +10170,18 @@ + + + + + + @@ -9750,24 +10197,36 @@ + + + + + + + + + + + + @@ -9819,6 +10278,9 @@ + + + @@ -9870,6 +10332,9 @@ + + + @@ -9885,12 +10350,18 @@ + + + + + + @@ -9915,6 +10386,9 @@ + + + @@ -9930,12 +10404,18 @@ + + + + + + @@ -9978,24 +10458,36 @@ + + + + + + + + + + + + @@ -10032,18 +10524,27 @@ + + + + + + + + + @@ -10059,24 +10560,36 @@ + + + + + + + + + + + + @@ -10506,6 +11019,9 @@ + + + @@ -10746,6 +11262,9 @@ + + + @@ -10818,18 +11337,27 @@ + + + + + + + + + @@ -10845,6 +11373,9 @@ + + + @@ -11262,6 +11793,9 @@ + + + @@ -11331,6 +11865,9 @@ + + + @@ -11355,6 +11892,9 @@ + + + @@ -11508,18 +12048,27 @@ + + + + + + + + + @@ -11571,12 +12120,18 @@ + + + + + + @@ -11889,6 +12444,9 @@ + + + @@ -11931,12 +12489,18 @@ + + + + + + @@ -11952,6 +12516,9 @@ + + + @@ -12042,6 +12609,9 @@ + + + @@ -12453,6 +13023,9 @@ + + + @@ -12513,12 +13086,18 @@ + + + + + + @@ -12642,6 +13221,9 @@ + + + @@ -12675,6 +13257,9 @@ + + + @@ -13245,6 +13830,9 @@ + + + @@ -13272,6 +13860,9 @@ + + + @@ -13443,6 +14034,9 @@ + + + @@ -13503,18 +14097,27 @@ + + + + + + + + + @@ -13761,12 +14364,18 @@ + + + + + + @@ -13836,12 +14445,18 @@ + + + + + + @@ -13947,6 +14562,9 @@ + + + @@ -14142,12 +14760,18 @@ + + + + + + @@ -14163,12 +14787,18 @@ + + + + + + @@ -14367,24 +14997,36 @@ + + + + + + + + + + + + @@ -14409,24 +15051,36 @@ + + + + + + + + + + + + @@ -14487,6 +15141,9 @@ + + + @@ -14538,12 +15195,18 @@ + + + + + + @@ -14658,6 +15321,9 @@ + + + @@ -14700,12 +15366,18 @@ + + + + + + @@ -14820,8 +15492,8 @@ - - + + @@ -14832,6 +15504,9 @@ + + + @@ -14847,8 +15522,8 @@ - - + + @@ -15015,6 +15690,9 @@ + + + @@ -15048,6 +15726,9 @@ + + + @@ -15126,6 +15807,9 @@ + + + @@ -15345,6 +16029,9 @@ + + + @@ -15378,6 +16065,9 @@ + + + @@ -15792,12 +16482,18 @@ + + + + + + @@ -15876,36 +16572,54 @@ + + + + + + + + + + + + + + + + + + @@ -15966,6 +16680,9 @@ + + + @@ -16098,6 +16815,9 @@ + + + @@ -16131,6 +16851,9 @@ + + + @@ -16164,6 +16887,9 @@ + + + @@ -16179,18 +16905,27 @@ + + + + + + + + + @@ -16332,12 +17067,18 @@ + + + + + + @@ -16464,6 +17205,9 @@ + + + @@ -16497,6 +17241,9 @@ + + + @@ -16611,12 +17358,18 @@ + + + + + + @@ -16722,6 +17475,9 @@ + + + @@ -16737,12 +17493,18 @@ + + + + + + @@ -16758,6 +17520,9 @@ + + + @@ -16836,6 +17601,9 @@ + + + @@ -17043,6 +17811,9 @@ + + + @@ -17094,12 +17865,18 @@ + + + + + + @@ -17172,6 +17949,9 @@ + + + @@ -17244,36 +18024,54 @@ + + + + + + + + + + + + + + + + + + @@ -17391,6 +18189,9 @@ + + + @@ -17433,18 +18234,27 @@ + + + + + + + + + @@ -17463,6 +18273,9 @@ + + + @@ -17514,6 +18327,9 @@ + + + @@ -17685,6 +18501,9 @@ + + + @@ -17745,6 +18564,9 @@ + + + @@ -17877,6 +18699,9 @@ + + + @@ -17946,12 +18771,18 @@ + + + + + + @@ -18003,6 +18834,9 @@ + + + @@ -18183,6 +19017,9 @@ + + + From 6f646429e05e80e2a1b596b35357fc018bef831a Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Fri, 2 Aug 2024 12:51:07 -0700 Subject: [PATCH 84/89] Remove incorrect call to checkTruthinessExpression (#59507) --- src/compiler/checker.ts | 2 +- .../nullishCoalescingOperator7.errors.txt | 24 ----------------- .../reference/predicateSemantics.errors.txt | 3 +++ .../baselines/reference/predicateSemantics.js | 5 ++++ .../reference/predicateSemantics.symbols | 9 +++++++ .../reference/predicateSemantics.types | 27 +++++++++++++++++++ tests/cases/compiler/predicateSemantics.ts | 3 +++ 7 files changed, 48 insertions(+), 25 deletions(-) delete mode 100644 tests/baselines/reference/nullishCoalescingOperator7.errors.txt diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index c0956390945..702c8850afe 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -44186,7 +44186,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { bothHelper(location, body); return; } - const type = location === condExpr ? condType : checkTruthinessExpression(location); + const type = location === condExpr ? condType : checkExpression(location); if (type.flags & TypeFlags.EnumLiteral && isPropertyAccessExpression(location) && (getNodeLinks(location.expression).resolvedSymbol ?? unknownSymbol).flags & SymbolFlags.Enum) { // EnumLiteral type at condition with known value is always truthy or always falsy, likely an error error(location, Diagnostics.This_condition_will_always_return_0, !!(type as LiteralType).value ? "true" : "false"); diff --git a/tests/baselines/reference/nullishCoalescingOperator7.errors.txt b/tests/baselines/reference/nullishCoalescingOperator7.errors.txt deleted file mode 100644 index 008d589a9e7..00000000000 --- a/tests/baselines/reference/nullishCoalescingOperator7.errors.txt +++ /dev/null @@ -1,24 +0,0 @@ -nullishCoalescingOperator7.ts(6,19): error TS2872: This kind of expression is always truthy. -nullishCoalescingOperator7.ts(7,19): error TS2872: This kind of expression is always truthy. -nullishCoalescingOperator7.ts(10,23): error TS2872: This kind of expression is always truthy. - - -==== nullishCoalescingOperator7.ts (3 errors) ==== - declare const a: string | undefined; - declare const b: string | undefined; - declare const c: string | undefined; - - const foo1 = a ? 1 : 2; - const foo2 = a ?? 'foo' ? 1 : 2; - ~~~~~ -!!! error TS2872: This kind of expression is always truthy. - const foo3 = a ?? 'foo' ? (b ?? 'bar') : (c ?? 'baz'); - ~~~~~ -!!! error TS2872: This kind of expression is always truthy. - - function f () { - const foo4 = a ?? 'foo' ? b ?? 'bar' : c ?? 'baz'; - ~~~~~ -!!! error TS2872: This kind of expression is always truthy. - } - \ No newline at end of file diff --git a/tests/baselines/reference/predicateSemantics.errors.txt b/tests/baselines/reference/predicateSemantics.errors.txt index 4d96f98df22..883ce457098 100644 --- a/tests/baselines/reference/predicateSemantics.errors.txt +++ b/tests/baselines/reference/predicateSemantics.errors.txt @@ -70,4 +70,7 @@ predicateSemantics.ts(36,8): error TS2872: This kind of expression is always tru while ((({}))) { } ~~~~~~ !!! error TS2872: This kind of expression is always truthy. + + // Should be OK + console.log((cond || undefined) && 1 / cond); \ No newline at end of file diff --git a/tests/baselines/reference/predicateSemantics.js b/tests/baselines/reference/predicateSemantics.js index c1aebaad42b..4ed29418933 100644 --- a/tests/baselines/reference/predicateSemantics.js +++ b/tests/baselines/reference/predicateSemantics.js @@ -37,6 +37,9 @@ while ({} as any) { } while ({} satisfies unknown) { } while ((({}))) { } while ((({}))) { } + +// Should be OK +console.log((cond || undefined) && 1 / cond); //// [predicateSemantics.js] @@ -75,3 +78,5 @@ while ({}) { } while ({}) { } while (({})) { } while ((({}))) { } +// Should be OK +console.log((cond || undefined) && 1 / cond); diff --git a/tests/baselines/reference/predicateSemantics.symbols b/tests/baselines/reference/predicateSemantics.symbols index f92a128bbd4..39ce291427a 100644 --- a/tests/baselines/reference/predicateSemantics.symbols +++ b/tests/baselines/reference/predicateSemantics.symbols @@ -61,3 +61,12 @@ while ({} satisfies unknown) { } while ((({}))) { } while ((({}))) { } +// Should be OK +console.log((cond || undefined) && 1 / cond); +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>cond : Symbol(cond, Decl(predicateSemantics.ts, 0, 11)) +>undefined : Symbol(undefined) +>cond : Symbol(cond, Decl(predicateSemantics.ts, 0, 11)) + diff --git a/tests/baselines/reference/predicateSemantics.types b/tests/baselines/reference/predicateSemantics.types index b75183dc538..b4f418ce339 100644 --- a/tests/baselines/reference/predicateSemantics.types +++ b/tests/baselines/reference/predicateSemantics.types @@ -192,3 +192,30 @@ while ((({}))) { } >{} : {} > : ^^ +// Should be OK +console.log((cond || undefined) && 1 / cond); +>console.log((cond || undefined) && 1 / cond) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>(cond || undefined) && 1 / cond : number +> : ^^^^^^ +>(cond || undefined) : any +> : ^^^ +>cond || undefined : any +> : ^^^ +>cond : any +> : ^^^ +>undefined : undefined +> : ^^^^^^^^^ +>1 / cond : number +> : ^^^^^^ +>1 : 1 +> : ^ +>cond : any +> : ^^^ + diff --git a/tests/cases/compiler/predicateSemantics.ts b/tests/cases/compiler/predicateSemantics.ts index 4211a43ca58..4069c1da6ee 100644 --- a/tests/cases/compiler/predicateSemantics.ts +++ b/tests/cases/compiler/predicateSemantics.ts @@ -34,3 +34,6 @@ while ({} as any) { } while ({} satisfies unknown) { } while ((({}))) { } while ((({}))) { } + +// Should be OK +console.log((cond || undefined) && 1 / cond); From 5d545aa9b358184569cf3a77c1596c71e9181bee Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Fri, 2 Aug 2024 12:55:27 -0700 Subject: [PATCH 85/89] Allow `import =` in module augmentations (#57704) --- src/compiler/checker.ts | 3 ++ ...importAliasInModuleAugmentation.errors.txt | 26 +++++++++++ .../importAliasInModuleAugmentation.js | 31 +++++++++++++ .../importAliasInModuleAugmentation.symbols | 43 ++++++++++++++++++ .../importAliasInModuleAugmentation.types | 45 +++++++++++++++++++ ...eAugmentationImportsAndExports2.errors.txt | 8 +--- ...eAugmentationImportsAndExports3.errors.txt | 8 +--- .../newNamesInGlobalAugmentations1.errors.txt | 24 ---------- .../importAliasInModuleAugmentation.ts | 17 +++++++ 9 files changed, 167 insertions(+), 38 deletions(-) create mode 100644 tests/baselines/reference/importAliasInModuleAugmentation.errors.txt create mode 100644 tests/baselines/reference/importAliasInModuleAugmentation.js create mode 100644 tests/baselines/reference/importAliasInModuleAugmentation.symbols create mode 100644 tests/baselines/reference/importAliasInModuleAugmentation.types delete mode 100644 tests/baselines/reference/newNamesInGlobalAugmentations1.errors.txt create mode 100644 tests/cases/compiler/importAliasInModuleAugmentation.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 702c8850afe..4680ae60a03 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -47029,6 +47029,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { grammarErrorOnFirstToken(node, Diagnostics.Exports_and_export_assignments_are_not_permitted_in_module_augmentations); break; case SyntaxKind.ImportEqualsDeclaration: + // import a = e.x; in module augmentation is ok, but not import a = require('fs) + if (isInternalModuleImportEqualsDeclaration(node)) break; + // falls through case SyntaxKind.ImportDeclaration: grammarErrorOnFirstToken(node, Diagnostics.Imports_are_not_permitted_in_module_augmentations_Consider_moving_them_to_the_enclosing_external_module); break; diff --git a/tests/baselines/reference/importAliasInModuleAugmentation.errors.txt b/tests/baselines/reference/importAliasInModuleAugmentation.errors.txt new file mode 100644 index 00000000000..d8b96f63170 --- /dev/null +++ b/tests/baselines/reference/importAliasInModuleAugmentation.errors.txt @@ -0,0 +1,26 @@ +importAliasInModuleAugmentation.ts(12,5): error TS2667: Imports are not permitted in module augmentations. Consider moving them to the enclosing external module. +importAliasInModuleAugmentation.ts(12,24): error TS2307: Cannot find module 'fs' or its corresponding type declarations. + + +==== importAliasInModuleAugmentation.ts (2 errors) ==== + export { } + + namespace A { + export const y = 34; + export interface y { s: string } + } + + declare global { + export import x = A.y; + + // Should still error + import f = require("fs"); + ~~~~~~ +!!! error TS2667: Imports are not permitted in module augmentations. Consider moving them to the enclosing external module. + ~~~~ +!!! error TS2307: Cannot find module 'fs' or its corresponding type declarations. + } + + const m: number = x; + let s: x = { s: "" }; + void s.s; \ No newline at end of file diff --git a/tests/baselines/reference/importAliasInModuleAugmentation.js b/tests/baselines/reference/importAliasInModuleAugmentation.js new file mode 100644 index 00000000000..f6616d7af9c --- /dev/null +++ b/tests/baselines/reference/importAliasInModuleAugmentation.js @@ -0,0 +1,31 @@ +//// [tests/cases/compiler/importAliasInModuleAugmentation.ts] //// + +//// [importAliasInModuleAugmentation.ts] +export { } + +namespace A { + export const y = 34; + export interface y { s: string } +} + +declare global { + export import x = A.y; + + // Should still error + import f = require("fs"); +} + +const m: number = x; +let s: x = { s: "" }; +void s.s; + +//// [importAliasInModuleAugmentation.js] +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +var A; +(function (A) { + A.y = 34; +})(A || (A = {})); +var m = x; +var s = { s: "" }; +void s.s; diff --git a/tests/baselines/reference/importAliasInModuleAugmentation.symbols b/tests/baselines/reference/importAliasInModuleAugmentation.symbols new file mode 100644 index 00000000000..ff1228d4bd6 --- /dev/null +++ b/tests/baselines/reference/importAliasInModuleAugmentation.symbols @@ -0,0 +1,43 @@ +//// [tests/cases/compiler/importAliasInModuleAugmentation.ts] //// + +=== importAliasInModuleAugmentation.ts === +export { } + +namespace A { +>A : Symbol(A, Decl(importAliasInModuleAugmentation.ts, 0, 10)) + + export const y = 34; +>y : Symbol(y, Decl(importAliasInModuleAugmentation.ts, 3, 16), Decl(importAliasInModuleAugmentation.ts, 3, 24)) + + export interface y { s: string } +>y : Symbol(y, Decl(importAliasInModuleAugmentation.ts, 3, 16), Decl(importAliasInModuleAugmentation.ts, 3, 24)) +>s : Symbol(y.s, Decl(importAliasInModuleAugmentation.ts, 4, 24)) +} + +declare global { +>global : Symbol(global, Decl(importAliasInModuleAugmentation.ts, 5, 1)) + + export import x = A.y; +>x : Symbol(x, Decl(importAliasInModuleAugmentation.ts, 7, 16)) +>A : Symbol(A, Decl(importAliasInModuleAugmentation.ts, 0, 10)) +>y : Symbol(x, Decl(importAliasInModuleAugmentation.ts, 3, 16), Decl(importAliasInModuleAugmentation.ts, 3, 24)) + + // Should still error + import f = require("fs"); +>f : Symbol(f, Decl(importAliasInModuleAugmentation.ts, 8, 26)) +} + +const m: number = x; +>m : Symbol(m, Decl(importAliasInModuleAugmentation.ts, 14, 5)) +>x : Symbol(x, Decl(importAliasInModuleAugmentation.ts, 7, 16)) + +let s: x = { s: "" }; +>s : Symbol(s, Decl(importAliasInModuleAugmentation.ts, 15, 3)) +>x : Symbol(x, Decl(importAliasInModuleAugmentation.ts, 7, 16)) +>s : Symbol(s, Decl(importAliasInModuleAugmentation.ts, 15, 12)) + +void s.s; +>s.s : Symbol(x.s, Decl(importAliasInModuleAugmentation.ts, 4, 24)) +>s : Symbol(s, Decl(importAliasInModuleAugmentation.ts, 15, 3)) +>s : Symbol(x.s, Decl(importAliasInModuleAugmentation.ts, 4, 24)) + diff --git a/tests/baselines/reference/importAliasInModuleAugmentation.types b/tests/baselines/reference/importAliasInModuleAugmentation.types new file mode 100644 index 00000000000..5733d12e0d4 --- /dev/null +++ b/tests/baselines/reference/importAliasInModuleAugmentation.types @@ -0,0 +1,45 @@ +//// [tests/cases/compiler/importAliasInModuleAugmentation.ts] //// + +=== importAliasInModuleAugmentation.ts === +export { } + +namespace A { +>A : typeof A + + export const y = 34; +>y : 34 +>34 : 34 + + export interface y { s: string } +>s : string +} + +declare global { +>global : typeof global + + export import x = A.y; +>x : 34 +>A : typeof A +>y : x + + // Should still error + import f = require("fs"); +>f : any +} + +const m: number = x; +>m : number +>x : 34 + +let s: x = { s: "" }; +>s : x +>{ s: "" } : { s: string; } +>s : string +>"" : "" + +void s.s; +>void s.s : undefined +>s.s : string +>s : x +>s : string + diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports2.errors.txt b/tests/baselines/reference/moduleAugmentationImportsAndExports2.errors.txt index 9f94f43b614..f472daec04d 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports2.errors.txt +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports2.errors.txt @@ -3,8 +3,6 @@ f3.ts(11,5): error TS2667: Imports are not permitted in module augmentations. Co f3.ts(11,21): error TS2307: Cannot find module './f2' or its corresponding type declarations. f3.ts(12,5): error TS2666: Exports and export assignments are not permitted in module augmentations. f3.ts(12,21): error TS2307: Cannot find module './f2' or its corresponding type declarations. -f3.ts(13,5): error TS2667: Imports are not permitted in module augmentations. Consider moving them to the enclosing external module. -f3.ts(14,5): error TS2667: Imports are not permitted in module augmentations. Consider moving them to the enclosing external module. f4.ts(5,11): error TS2339: Property 'foo' does not exist on type 'A'. @@ -16,7 +14,7 @@ f4.ts(5,11): error TS2339: Property 'foo' does not exist on type 'A'. n: number; } -==== f3.ts (7 errors) ==== +==== f3.ts (5 errors) ==== import {A} from "./f1"; A.prototype.foo = function () { return undefined; } @@ -40,11 +38,7 @@ f4.ts(5,11): error TS2339: Property 'foo' does not exist on type 'A'. ~~~~~~ !!! error TS2307: Cannot find module './f2' or its corresponding type declarations. import I = N.Ifc; - ~~~~~~ -!!! error TS2667: Imports are not permitted in module augmentations. Consider moving them to the enclosing external module. import C = N.Cls; - ~~~~~~ -!!! error TS2667: Imports are not permitted in module augmentations. Consider moving them to the enclosing external module. // should have explicit export interface A { foo(): B; diff --git a/tests/baselines/reference/moduleAugmentationImportsAndExports3.errors.txt b/tests/baselines/reference/moduleAugmentationImportsAndExports3.errors.txt index ecd0eb189d4..f66ce9db2bf 100644 --- a/tests/baselines/reference/moduleAugmentationImportsAndExports3.errors.txt +++ b/tests/baselines/reference/moduleAugmentationImportsAndExports3.errors.txt @@ -1,7 +1,5 @@ f3.ts(11,5): error TS2667: Imports are not permitted in module augmentations. Consider moving them to the enclosing external module. f3.ts(11,21): error TS2307: Cannot find module './f2' or its corresponding type declarations. -f3.ts(12,5): error TS2667: Imports are not permitted in module augmentations. Consider moving them to the enclosing external module. -f3.ts(13,5): error TS2667: Imports are not permitted in module augmentations. Consider moving them to the enclosing external module. ==== f1.ts (0 errors) ==== @@ -12,7 +10,7 @@ f3.ts(13,5): error TS2667: Imports are not permitted in module augmentations. Co n: number; } -==== f3.ts (4 errors) ==== +==== f3.ts (2 errors) ==== import {A} from "./f1"; A.prototype.foo = function () { return undefined; } @@ -29,11 +27,7 @@ f3.ts(13,5): error TS2667: Imports are not permitted in module augmentations. Co ~~~~~~ !!! error TS2307: Cannot find module './f2' or its corresponding type declarations. import I = N.Ifc; - ~~~~~~ -!!! error TS2667: Imports are not permitted in module augmentations. Consider moving them to the enclosing external module. import C = N.Cls; - ~~~~~~ -!!! error TS2667: Imports are not permitted in module augmentations. Consider moving them to the enclosing external module. interface A { foo(): B; bar(): I; diff --git a/tests/baselines/reference/newNamesInGlobalAugmentations1.errors.txt b/tests/baselines/reference/newNamesInGlobalAugmentations1.errors.txt deleted file mode 100644 index 01daf853a5d..00000000000 --- a/tests/baselines/reference/newNamesInGlobalAugmentations1.errors.txt +++ /dev/null @@ -1,24 +0,0 @@ -f1.d.ts(12,5): error TS2667: Imports are not permitted in module augmentations. Consider moving them to the enclosing external module. - - -==== f1.d.ts (1 errors) ==== - export {}; - - declare module M.M1 { - export let x: number; - } - declare global { - interface SymbolConstructor { - observable: symbol; - } - class Cls {x} - let [a, b]: number[]; - export import X = M.M1.x; - ~~~~~~ -!!! error TS2667: Imports are not permitted in module augmentations. Consider moving them to the enclosing external module. - } - -==== main.ts (0 errors) ==== - Symbol.observable; - new Cls().x - let c = a + b + X; \ No newline at end of file diff --git a/tests/cases/compiler/importAliasInModuleAugmentation.ts b/tests/cases/compiler/importAliasInModuleAugmentation.ts new file mode 100644 index 00000000000..99ec85396ea --- /dev/null +++ b/tests/cases/compiler/importAliasInModuleAugmentation.ts @@ -0,0 +1,17 @@ +export { } + +namespace A { + export const y = 34; + export interface y { s: string } +} + +declare global { + export import x = A.y; + + // Should still error + import f = require("fs"); +} + +const m: number = x; +let s: x = { s: "" }; +void s.s; \ No newline at end of file From 269219f68e086b4b56f47aff049ab9f6f80612a1 Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Fri, 2 Aug 2024 15:04:47 -0700 Subject: [PATCH 86/89] Fix mismerged baselines (#59522) --- .../importAliasInModuleAugmentation.types | 19 +++++++++++++++++++ .../newNamesInGlobalAugmentations1.types | 2 -- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/tests/baselines/reference/importAliasInModuleAugmentation.types b/tests/baselines/reference/importAliasInModuleAugmentation.types index 5733d12e0d4..361cff4f663 100644 --- a/tests/baselines/reference/importAliasInModuleAugmentation.types +++ b/tests/baselines/reference/importAliasInModuleAugmentation.types @@ -5,41 +5,60 @@ export { } namespace A { >A : typeof A +> : ^^^^^^^^ export const y = 34; >y : 34 +> : ^^ >34 : 34 +> : ^^ export interface y { s: string } >s : string +> : ^^^^^^ } declare global { >global : typeof global +> : ^^^^^^^^^^^^^ export import x = A.y; >x : 34 +> : ^^ >A : typeof A +> : ^^^^^^^^ >y : x +> : ^ // Should still error import f = require("fs"); >f : any +> : ^^^ } const m: number = x; >m : number +> : ^^^^^^ >x : 34 +> : ^^ let s: x = { s: "" }; >s : x +> : ^ >{ s: "" } : { s: string; } +> : ^^^^^^^^^^^^^^ >s : string +> : ^^^^^^ >"" : "" +> : ^^ void s.s; >void s.s : undefined +> : ^^^^^^^^^ >s.s : string +> : ^^^^^^ >s : x +> : ^ >s : string +> : ^^^^^^ diff --git a/tests/baselines/reference/newNamesInGlobalAugmentations1.types b/tests/baselines/reference/newNamesInGlobalAugmentations1.types index f46c99b0c5b..324a8b49400 100644 --- a/tests/baselines/reference/newNamesInGlobalAugmentations1.types +++ b/tests/baselines/reference/newNamesInGlobalAugmentations1.types @@ -26,7 +26,6 @@ declare global { >Cls : Cls > : ^^^ >x : any -> : ^^^ let [a, b]: number[]; >a : number @@ -56,7 +55,6 @@ Symbol.observable; new Cls().x >new Cls().x : any -> : ^^^ >new Cls() : Cls > : ^^^ >Cls : typeof Cls From aafdfe5b3f76f5c41abeec412ce73c86da94c75f Mon Sep 17 00:00:00 2001 From: Ryan Cavanaugh Date: Fri, 2 Aug 2024 15:22:20 -0700 Subject: [PATCH 87/89] Use contextual type to determine 'this' when determining member visibility (#56105) --- src/compiler/checker.ts | 16 ++- ...ctedAccessThroughContextualThis.errors.txt | 30 ++++ .../protectedAccessThroughContextualThis.js | 44 ++++++ ...otectedAccessThroughContextualThis.symbols | 77 ++++++++++ ...protectedAccessThroughContextualThis.types | 133 ++++++++++++++++++ .../protectedAccessThroughContextualThis.ts | 23 +++ 6 files changed, 321 insertions(+), 2 deletions(-) create mode 100644 tests/baselines/reference/protectedAccessThroughContextualThis.errors.txt create mode 100644 tests/baselines/reference/protectedAccessThroughContextualThis.js create mode 100644 tests/baselines/reference/protectedAccessThroughContextualThis.symbols create mode 100644 tests/baselines/reference/protectedAccessThroughContextualThis.types create mode 100644 tests/cases/compiler/protectedAccessThroughContextualThis.ts diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 4680ae60a03..6233873ab6d 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -33667,10 +33667,22 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { } function getEnclosingClassFromThisParameter(node: Node): InterfaceType | undefined { + // 'this' type for a node comes from, in priority order... + // 1. The type of a syntactic 'this' parameter in the enclosing function scope const thisParameter = getThisParameterFromNodeContext(node); let thisType = thisParameter?.type && getTypeFromTypeNode(thisParameter.type); - if (thisType && thisType.flags & TypeFlags.TypeParameter) { - thisType = getConstraintOfTypeParameter(thisType as TypeParameter); + if (thisType) { + // 2. The constraint of a type parameter used for an explicit 'this' parameter + if (thisType.flags & TypeFlags.TypeParameter) { + thisType = getConstraintOfTypeParameter(thisType as TypeParameter); + } + } + else { + // 3. The 'this' parameter of a contextual type + const thisContainer = getThisContainer(node, /*includeArrowFunctions*/ false, /*includeClassComputedPropertyName*/ false); + if (isFunctionLike(thisContainer)) { + thisType = getContextualThisParameterType(thisContainer); + } } if (thisType && getObjectFlags(thisType) & (ObjectFlags.ClassOrInterface | ObjectFlags.Reference)) { return getTargetType(thisType) as InterfaceType; diff --git a/tests/baselines/reference/protectedAccessThroughContextualThis.errors.txt b/tests/baselines/reference/protectedAccessThroughContextualThis.errors.txt new file mode 100644 index 00000000000..65aaa37775a --- /dev/null +++ b/tests/baselines/reference/protectedAccessThroughContextualThis.errors.txt @@ -0,0 +1,30 @@ +protectedAccessThroughContextualThis.ts(13,20): error TS2341: Property 'privat' is private and only accessible within class 'Foo'. +protectedAccessThroughContextualThis.ts(20,20): error TS2341: Property 'privat' is private and only accessible within class 'Foo'. + + +==== protectedAccessThroughContextualThis.ts (2 errors) ==== + class Foo { + protected protec = 'bar'; + private privat = ''; + copy!: string + constructor() { + bindCopy.call(this) + bindCopy2.call(this) + } + } + + function bindCopy(this: Foo) { + this.copy = this.protec; // Should OK + console.log(this.privat); // Should error + ~~~~~~ +!!! error TS2341: Property 'privat' is private and only accessible within class 'Foo'. + } + + type BindingFunction = (this: Foo) => void; + + const bindCopy2: BindingFunction = function () { + this.copy = this.protec; // Should OK + console.log(this.privat); // Should error + ~~~~~~ +!!! error TS2341: Property 'privat' is private and only accessible within class 'Foo'. + } \ No newline at end of file diff --git a/tests/baselines/reference/protectedAccessThroughContextualThis.js b/tests/baselines/reference/protectedAccessThroughContextualThis.js new file mode 100644 index 00000000000..30bd2e1b3a5 --- /dev/null +++ b/tests/baselines/reference/protectedAccessThroughContextualThis.js @@ -0,0 +1,44 @@ +//// [tests/cases/compiler/protectedAccessThroughContextualThis.ts] //// + +//// [protectedAccessThroughContextualThis.ts] +class Foo { + protected protec = 'bar'; + private privat = ''; + copy!: string + constructor() { + bindCopy.call(this) + bindCopy2.call(this) + } +} + +function bindCopy(this: Foo) { + this.copy = this.protec; // Should OK + console.log(this.privat); // Should error +} + +type BindingFunction = (this: Foo) => void; + +const bindCopy2: BindingFunction = function () { + this.copy = this.protec; // Should OK + console.log(this.privat); // Should error +} + +//// [protectedAccessThroughContextualThis.js] +"use strict"; +var Foo = /** @class */ (function () { + function Foo() { + this.protec = 'bar'; + this.privat = ''; + bindCopy.call(this); + bindCopy2.call(this); + } + return Foo; +}()); +function bindCopy() { + this.copy = this.protec; // Should OK + console.log(this.privat); // Should error +} +var bindCopy2 = function () { + this.copy = this.protec; // Should OK + console.log(this.privat); // Should error +}; diff --git a/tests/baselines/reference/protectedAccessThroughContextualThis.symbols b/tests/baselines/reference/protectedAccessThroughContextualThis.symbols new file mode 100644 index 00000000000..cd76db70724 --- /dev/null +++ b/tests/baselines/reference/protectedAccessThroughContextualThis.symbols @@ -0,0 +1,77 @@ +//// [tests/cases/compiler/protectedAccessThroughContextualThis.ts] //// + +=== protectedAccessThroughContextualThis.ts === +class Foo { +>Foo : Symbol(Foo, Decl(protectedAccessThroughContextualThis.ts, 0, 0)) + + protected protec = 'bar'; +>protec : Symbol(Foo.protec, Decl(protectedAccessThroughContextualThis.ts, 0, 11)) + + private privat = ''; +>privat : Symbol(Foo.privat, Decl(protectedAccessThroughContextualThis.ts, 1, 27)) + + copy!: string +>copy : Symbol(Foo.copy, Decl(protectedAccessThroughContextualThis.ts, 2, 22)) + + constructor() { + bindCopy.call(this) +>bindCopy.call : Symbol(CallableFunction.call, Decl(lib.es5.d.ts, --, --)) +>bindCopy : Symbol(bindCopy, Decl(protectedAccessThroughContextualThis.ts, 8, 1)) +>call : Symbol(CallableFunction.call, Decl(lib.es5.d.ts, --, --)) +>this : Symbol(Foo, Decl(protectedAccessThroughContextualThis.ts, 0, 0)) + + bindCopy2.call(this) +>bindCopy2.call : Symbol(CallableFunction.call, Decl(lib.es5.d.ts, --, --)) +>bindCopy2 : Symbol(bindCopy2, Decl(protectedAccessThroughContextualThis.ts, 17, 5)) +>call : Symbol(CallableFunction.call, Decl(lib.es5.d.ts, --, --)) +>this : Symbol(Foo, Decl(protectedAccessThroughContextualThis.ts, 0, 0)) + } +} + +function bindCopy(this: Foo) { +>bindCopy : Symbol(bindCopy, Decl(protectedAccessThroughContextualThis.ts, 8, 1)) +>this : Symbol(this, Decl(protectedAccessThroughContextualThis.ts, 10, 18)) +>Foo : Symbol(Foo, Decl(protectedAccessThroughContextualThis.ts, 0, 0)) + + this.copy = this.protec; // Should OK +>this.copy : Symbol(Foo.copy, Decl(protectedAccessThroughContextualThis.ts, 2, 22)) +>this : Symbol(this, Decl(protectedAccessThroughContextualThis.ts, 10, 18)) +>copy : Symbol(Foo.copy, Decl(protectedAccessThroughContextualThis.ts, 2, 22)) +>this.protec : Symbol(Foo.protec, Decl(protectedAccessThroughContextualThis.ts, 0, 11)) +>this : Symbol(this, Decl(protectedAccessThroughContextualThis.ts, 10, 18)) +>protec : Symbol(Foo.protec, Decl(protectedAccessThroughContextualThis.ts, 0, 11)) + + console.log(this.privat); // Should error +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>this.privat : Symbol(Foo.privat, Decl(protectedAccessThroughContextualThis.ts, 1, 27)) +>this : Symbol(this, Decl(protectedAccessThroughContextualThis.ts, 10, 18)) +>privat : Symbol(Foo.privat, Decl(protectedAccessThroughContextualThis.ts, 1, 27)) +} + +type BindingFunction = (this: Foo) => void; +>BindingFunction : Symbol(BindingFunction, Decl(protectedAccessThroughContextualThis.ts, 13, 1)) +>this : Symbol(this, Decl(protectedAccessThroughContextualThis.ts, 15, 24)) +>Foo : Symbol(Foo, Decl(protectedAccessThroughContextualThis.ts, 0, 0)) + +const bindCopy2: BindingFunction = function () { +>bindCopy2 : Symbol(bindCopy2, Decl(protectedAccessThroughContextualThis.ts, 17, 5)) +>BindingFunction : Symbol(BindingFunction, Decl(protectedAccessThroughContextualThis.ts, 13, 1)) + + this.copy = this.protec; // Should OK +>this.copy : Symbol(Foo.copy, Decl(protectedAccessThroughContextualThis.ts, 2, 22)) +>this : Symbol(this, Decl(protectedAccessThroughContextualThis.ts, 15, 24)) +>copy : Symbol(Foo.copy, Decl(protectedAccessThroughContextualThis.ts, 2, 22)) +>this.protec : Symbol(Foo.protec, Decl(protectedAccessThroughContextualThis.ts, 0, 11)) +>this : Symbol(this, Decl(protectedAccessThroughContextualThis.ts, 15, 24)) +>protec : Symbol(Foo.protec, Decl(protectedAccessThroughContextualThis.ts, 0, 11)) + + console.log(this.privat); // Should error +>console.log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>console : Symbol(console, Decl(lib.dom.d.ts, --, --)) +>log : Symbol(Console.log, Decl(lib.dom.d.ts, --, --)) +>this.privat : Symbol(Foo.privat, Decl(protectedAccessThroughContextualThis.ts, 1, 27)) +>this : Symbol(this, Decl(protectedAccessThroughContextualThis.ts, 15, 24)) +>privat : Symbol(Foo.privat, Decl(protectedAccessThroughContextualThis.ts, 1, 27)) +} diff --git a/tests/baselines/reference/protectedAccessThroughContextualThis.types b/tests/baselines/reference/protectedAccessThroughContextualThis.types new file mode 100644 index 00000000000..8c597680032 --- /dev/null +++ b/tests/baselines/reference/protectedAccessThroughContextualThis.types @@ -0,0 +1,133 @@ +//// [tests/cases/compiler/protectedAccessThroughContextualThis.ts] //// + +=== protectedAccessThroughContextualThis.ts === +class Foo { +>Foo : Foo +> : ^^^ + + protected protec = 'bar'; +>protec : string +> : ^^^^^^ +>'bar' : "bar" +> : ^^^^^ + + private privat = ''; +>privat : string +> : ^^^^^^ +>'' : "" +> : ^^ + + copy!: string +>copy : string +> : ^^^^^^ + + constructor() { + bindCopy.call(this) +>bindCopy.call(this) : void +> : ^^^^ +>bindCopy.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ +>bindCopy : (this: Foo) => void +> : ^ ^^ ^^^^^^^^^ +>call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ +>this : this +> : ^^^^ + + bindCopy2.call(this) +>bindCopy2.call(this) : void +> : ^^^^ +>bindCopy2.call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ +>bindCopy2 : BindingFunction +> : ^^^^^^^^^^^^^^^ +>call : (this: (this: T, ...args: A) => R, thisArg: T, ...args: A) => R +> : ^ ^^ ^^^^^^^^^ ^^ ^^ ^^ ^^ ^^ ^^^^^ ^^ ^^^^^ +>this : this +> : ^^^^ + } +} + +function bindCopy(this: Foo) { +>bindCopy : (this: Foo) => void +> : ^ ^^ ^^^^^^^^^ +>this : Foo +> : ^^^ + + this.copy = this.protec; // Should OK +>this.copy = this.protec : string +> : ^^^^^^ +>this.copy : string +> : ^^^^^^ +>this : Foo +> : ^^^ +>copy : string +> : ^^^^^^ +>this.protec : string +> : ^^^^^^ +>this : Foo +> : ^^^ +>protec : string +> : ^^^^^^ + + console.log(this.privat); // Should error +>console.log(this.privat) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>this.privat : string +> : ^^^^^^ +>this : Foo +> : ^^^ +>privat : string +> : ^^^^^^ +} + +type BindingFunction = (this: Foo) => void; +>BindingFunction : BindingFunction +> : ^^^^^^^^^^^^^^^ +>this : Foo +> : ^^^ + +const bindCopy2: BindingFunction = function () { +>bindCopy2 : BindingFunction +> : ^^^^^^^^^^^^^^^ +>function () { this.copy = this.protec; // Should OK console.log(this.privat); // Should error} : (this: Foo) => void +> : ^ ^^ ^^^^^^^^^ + + this.copy = this.protec; // Should OK +>this.copy = this.protec : string +> : ^^^^^^ +>this.copy : string +> : ^^^^^^ +>this : Foo +> : ^^^ +>copy : string +> : ^^^^^^ +>this.protec : string +> : ^^^^^^ +>this : Foo +> : ^^^ +>protec : string +> : ^^^^^^ + + console.log(this.privat); // Should error +>console.log(this.privat) : void +> : ^^^^ +>console.log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>console : Console +> : ^^^^^^^ +>log : (...data: any[]) => void +> : ^^^^ ^^ ^^^^^ +>this.privat : string +> : ^^^^^^ +>this : Foo +> : ^^^ +>privat : string +> : ^^^^^^ +} diff --git a/tests/cases/compiler/protectedAccessThroughContextualThis.ts b/tests/cases/compiler/protectedAccessThroughContextualThis.ts new file mode 100644 index 00000000000..0d846627e6d --- /dev/null +++ b/tests/cases/compiler/protectedAccessThroughContextualThis.ts @@ -0,0 +1,23 @@ +// @strict: true + +class Foo { + protected protec = 'bar'; + private privat = ''; + copy!: string + constructor() { + bindCopy.call(this) + bindCopy2.call(this) + } +} + +function bindCopy(this: Foo) { + this.copy = this.protec; // Should OK + console.log(this.privat); // Should error +} + +type BindingFunction = (this: Foo) => void; + +const bindCopy2: BindingFunction = function () { + this.copy = this.protec; // Should OK + console.log(this.privat); // Should error +} \ No newline at end of file From a745d1b20501c1c305ab2c338137318a8cd331a9 Mon Sep 17 00:00:00 2001 From: Ron Buckton Date: Mon, 5 Aug 2024 17:32:47 -0400 Subject: [PATCH 88/89] Disambiguate `BuiltinIterator`/`BuiltinIteratorReturn` (#59506) --- src/compiler/checker.ts | 97 +++++++-- src/lib/dom.asynciterable.generated.d.ts | 20 +- src/lib/dom.iterable.d.ts | 58 +++-- src/lib/dom.iterable.generated.d.ts | 166 ++++++++------- src/lib/es2015.generator.d.ts | 2 +- src/lib/es2015.iterable.d.ts | 154 ++++++++------ src/lib/es2018.asyncgenerator.d.ts | 2 +- src/lib/es2018.asynciterable.d.ts | 10 +- src/lib/es2020.bigint.d.ts | 16 +- src/lib/es2020.string.d.ts | 4 +- src/lib/es2020.symbol.wellknown.d.ts | 6 +- src/lib/es2022.intl.d.ts | 6 +- src/lib/esnext.iterator.d.ts | 32 +-- .../webworker.asynciterable.generated.d.ts | 20 +- src/lib/webworker.iterable.generated.d.ts | 76 ++++--- .../reference/ES5For-ofTypeCheck10.errors.txt | 10 +- .../reference/ES5For-ofTypeCheck10.js | 16 +- .../reference/ES5For-ofTypeCheck10.symbols | 14 +- .../reference/ES5For-ofTypeCheck10.types | 16 +- .../reference/YieldStarExpression4_es6.types | 4 +- .../argumentsObjectIterator02_ES6.types | 16 +- tests/baselines/reference/arrayFrom.types | 24 +-- .../reference/builtinIterator.errors.txt | 18 +- tests/baselines/reference/builtinIterator.js | 2 +- .../reference/builtinIterator.symbols | 29 ++- .../baselines/reference/builtinIterator.types | 198 +++++++++--------- ...n(strictbuiltiniteratorreturn=false).types | 180 ++++++++-------- ...rn(strictbuiltiniteratorreturn=true).types | 180 ++++++++-------- .../conditionalTypeDoesntSpinForever.types | 4 +- ...ructuredLateBoundNameHasCorrectTypes.types | 8 +- ....asyncGenerators.classMethods.es2015.types | 4 +- ....asyncGenerators.classMethods.es2018.types | 4 +- ...ter.asyncGenerators.classMethods.es5.types | 4 +- ...nerators.functionDeclarations.es2015.types | 4 +- ...nerators.functionDeclarations.es2018.types | 4 +- ...cGenerators.functionDeclarations.es5.types | 4 +- ...enerators.functionExpressions.es2015.types | 8 +- ...enerators.functionExpressions.es2018.types | 8 +- ...ncGenerators.functionExpressions.es5.types | 8 +- ...nerators.objectLiteralMethods.es2015.types | 12 +- ...nerators.objectLiteralMethods.es2018.types | 12 +- ...cGenerators.objectLiteralMethods.es5.types | 12 +- .../esNextWeakRefs_IterableWeakMap.types | 2 +- .../excessiveStackDepthFlatArray.types | 3 +- .../flatArrayNoExcessiveStackDepth.types | 4 +- tests/baselines/reference/for-of12.types | 12 +- tests/baselines/reference/for-of13.types | 12 +- tests/baselines/reference/for-of14.errors.txt | 10 +- tests/baselines/reference/for-of14.js | 8 +- tests/baselines/reference/for-of14.symbols | 10 +- tests/baselines/reference/for-of14.types | 16 +- tests/baselines/reference/for-of15.errors.txt | 6 +- tests/baselines/reference/for-of15.js | 8 +- tests/baselines/reference/for-of15.symbols | 14 +- tests/baselines/reference/for-of15.types | 16 +- tests/baselines/reference/for-of16.errors.txt | 18 +- tests/baselines/reference/for-of16.js | 12 +- tests/baselines/reference/for-of16.symbols | 16 +- tests/baselines/reference/for-of16.types | 26 +-- tests/baselines/reference/for-of18.js | 8 +- tests/baselines/reference/for-of18.symbols | 14 +- tests/baselines/reference/for-of18.types | 16 +- tests/baselines/reference/for-of25.js | 8 +- tests/baselines/reference/for-of25.symbols | 10 +- tests/baselines/reference/for-of25.types | 16 +- tests/baselines/reference/for-of26.js | 8 +- tests/baselines/reference/for-of26.symbols | 14 +- tests/baselines/reference/for-of26.types | 16 +- tests/baselines/reference/for-of27.js | 8 +- tests/baselines/reference/for-of27.symbols | 10 +- tests/baselines/reference/for-of27.types | 16 +- tests/baselines/reference/for-of28.js | 8 +- tests/baselines/reference/for-of28.symbols | 14 +- tests/baselines/reference/for-of28.types | 16 +- tests/baselines/reference/for-of30.errors.txt | 6 +- tests/baselines/reference/for-of30.js | 8 +- tests/baselines/reference/for-of30.symbols | 16 +- tests/baselines/reference/for-of30.types | 16 +- tests/baselines/reference/for-of31.js | 8 +- tests/baselines/reference/for-of31.symbols | 14 +- tests/baselines/reference/for-of31.types | 16 +- tests/baselines/reference/for-of33.errors.txt | 4 +- tests/baselines/reference/for-of33.js | 8 +- tests/baselines/reference/for-of33.symbols | 10 +- tests/baselines/reference/for-of33.types | 16 +- tests/baselines/reference/for-of34.errors.txt | 4 +- tests/baselines/reference/for-of34.js | 8 +- tests/baselines/reference/for-of34.symbols | 14 +- tests/baselines/reference/for-of34.types | 16 +- tests/baselines/reference/for-of35.errors.txt | 4 +- tests/baselines/reference/for-of35.js | 8 +- tests/baselines/reference/for-of35.symbols | 14 +- tests/baselines/reference/for-of35.types | 16 +- .../generatorReturnTypeInference.types | 4 +- ...eneratorReturnTypeInferenceNonStrict.types | 4 +- .../reference/generatorTypeCheck22.types | 4 +- .../reference/generatorTypeCheck23.types | 4 +- .../reference/generatorTypeCheck24.types | 4 +- .../reference/generatorTypeCheck25.errors.txt | 8 +- .../reference/generatorTypeCheck25.types | 4 +- .../reference/generatorTypeCheck53.types | 4 +- .../reference/generatorTypeCheck54.types | 4 +- ...rtHelpersNoHelpersForAsyncGenerators.types | 4 +- ...indirectGlobalSymbolPartOfObjectType.types | 4 +- ...inferFromGenericFunctionReturnTypes3.types | 3 + ...Next(strictbuiltiniteratorreturn=false).js | 6 +- ...strictbuiltiniteratorreturn=false).symbols | 21 +- ...t(strictbuiltiniteratorreturn=false).types | 82 ++++---- ...rictbuiltiniteratorreturn=true).errors.txt | 14 +- ...TNext(strictbuiltiniteratorreturn=true).js | 6 +- ...(strictbuiltiniteratorreturn=true).symbols | 21 +- ...xt(strictbuiltiniteratorreturn=true).types | 82 ++++---- ...ithAsClauseAndLateBoundProperty.errors.txt | 4 +- ...TypeWithAsClauseAndLateBoundProperty.types | 12 +- ...edTypeWithAsClauseAndLateBoundProperty2.js | 8 +- ...ypeWithAsClauseAndLateBoundProperty2.types | 12 +- ...eLibrary_NoErrorDuplicateLibOptions1.types | 12 +- ...eLibrary_NoErrorDuplicateLibOptions2.types | 12 +- ...dularizeLibrary_TargetES5UsingES6Lib.types | 12 +- ...dularizeLibrary_TargetES6UsingES6Lib.types | 12 +- .../narrowingPastLastAssignment.types | 2 +- ...enthesizedJSDocCastAtReturnStatement.types | 2 +- ....asyncGenerators.classMethods.es2018.types | 4 +- ...nerators.functionDeclarations.es2018.types | 4 +- ...enerators.functionExpressions.es2018.types | 8 +- ...nerators.objectLiteralMethods.es2018.types | 12 +- .../reference/regexMatchAll-esnext.types | 16 +- tests/baselines/reference/regexMatchAll.types | 16 +- .../baselines/reference/stringMatchAll.types | 20 +- .../substitutionTypePassedToExtends.types | 2 +- .../types.asyncGenerators.es2018.1.types | 32 +-- .../types.asyncGenerators.es2018.2.errors.txt | 24 +-- .../types.asyncGenerators.es2018.2.types | 12 +- .../yieldExpressionInnerCommentEmit.types | 4 +- tests/cases/compiler/builtinIterator.ts | 2 +- tests/cases/compiler/iterableTReturnTNext.ts | 6 +- .../es6/for-ofStatements/for-of14.ts | 4 +- .../es6/for-ofStatements/for-of15.ts | 4 +- .../es6/for-ofStatements/for-of16.ts | 6 +- .../es6/for-ofStatements/for-of18.ts | 4 +- .../es6/for-ofStatements/for-of25.ts | 4 +- .../es6/for-ofStatements/for-of26.ts | 4 +- .../es6/for-ofStatements/for-of27.ts | 4 +- .../es6/for-ofStatements/for-of28.ts | 4 +- .../es6/for-ofStatements/for-of30.ts | 4 +- .../es6/for-ofStatements/for-of31.ts | 4 +- .../es6/for-ofStatements/for-of33.ts | 4 +- .../es6/for-ofStatements/for-of34.ts | 4 +- .../es6/for-ofStatements/for-of35.ts | 4 +- .../for-ofStatements/ES5For-ofTypeCheck10.ts | 4 +- 150 files changed, 1407 insertions(+), 1237 deletions(-) diff --git a/src/compiler/checker.ts b/src/compiler/checker.ts index 6233873ab6d..06346c66ba0 100644 --- a/src/compiler/checker.ts +++ b/src/compiler/checker.ts @@ -1181,8 +1181,9 @@ interface IterationTypesResolver { getGlobalIteratorType: (reportErrors: boolean) => GenericType; getGlobalIterableType: (reportErrors: boolean) => GenericType; getGlobalIterableIteratorType: (reportErrors: boolean) => GenericType; - getGlobalBuiltinIteratorType: (reportErrors: boolean) => GenericType; + getGlobalIteratorObjectType: (reportErrors: boolean) => GenericType; getGlobalGeneratorType: (reportErrors: boolean) => GenericType; + getGlobalBuiltinIteratorTypes: () => readonly GenericType[]; resolveIterationType: (type: Type, errorNode: Node | undefined) => Type | undefined; mustHaveANextMethodDiagnostic: DiagnosticMessage; mustBeAMethodDiagnostic: DiagnosticMessage; @@ -2167,8 +2168,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { getGlobalIteratorType: getGlobalAsyncIteratorType, getGlobalIterableType: getGlobalAsyncIterableType, getGlobalIterableIteratorType: getGlobalAsyncIterableIteratorType, - getGlobalBuiltinIteratorType: getGlobalBuiltinAsyncIteratorType, + getGlobalIteratorObjectType: getGlobalAsyncIteratorObjectType, getGlobalGeneratorType: getGlobalAsyncGeneratorType, + getGlobalBuiltinIteratorTypes: getGlobalBuiltinAsyncIteratorTypes, resolveIterationType: (type, errorNode) => getAwaitedType(type, errorNode, Diagnostics.Type_of_await_operand_must_either_be_a_valid_promise_or_must_not_contain_a_callable_then_member), mustHaveANextMethodDiagnostic: Diagnostics.An_async_iterator_must_have_a_next_method, mustBeAMethodDiagnostic: Diagnostics.The_0_property_of_an_async_iterator_must_be_a_method, @@ -2182,8 +2184,9 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { getGlobalIteratorType, getGlobalIterableType, getGlobalIterableIteratorType, - getGlobalBuiltinIteratorType, + getGlobalIteratorObjectType, getGlobalGeneratorType, + getGlobalBuiltinIteratorTypes, resolveIterationType: (type, _errorNode) => type, mustHaveANextMethodDiagnostic: Diagnostics.An_iterator_must_have_a_next_method, mustBeAMethodDiagnostic: Diagnostics.The_0_property_of_an_iterator_must_be_a_method, @@ -2244,14 +2247,16 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { var deferredGlobalIterableType: GenericType | undefined; var deferredGlobalIteratorType: GenericType | undefined; var deferredGlobalIterableIteratorType: GenericType | undefined; - var deferredGlobalBuiltinIteratorType: GenericType | undefined; + var deferredGlobalIteratorObjectType: GenericType | undefined; var deferredGlobalGeneratorType: GenericType | undefined; var deferredGlobalIteratorYieldResultType: GenericType | undefined; var deferredGlobalIteratorReturnResultType: GenericType | undefined; var deferredGlobalAsyncIterableType: GenericType | undefined; var deferredGlobalAsyncIteratorType: GenericType | undefined; var deferredGlobalAsyncIterableIteratorType: GenericType | undefined; - var deferredGlobalBuiltinAsyncIteratorType: GenericType | undefined; + var deferredGlobalBuiltinIteratorTypes: readonly GenericType[] | undefined; + var deferredGlobalBuiltinAsyncIteratorTypes: readonly GenericType[] | undefined; + var deferredGlobalAsyncIteratorObjectType: GenericType | undefined; var deferredGlobalAsyncGeneratorType: GenericType | undefined; var deferredGlobalTemplateStringsArrayType: ObjectType | undefined; var deferredGlobalImportMetaType: ObjectType; @@ -12488,6 +12493,18 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return removeMissingType(getTypeOfSymbol(symbol), !!(symbol.flags & SymbolFlags.Optional)); } + function isReferenceToSomeType(type: Type, targets: readonly Type[]) { + if (type === undefined || (getObjectFlags(type) & ObjectFlags.Reference) === 0) { + return false; + } + for (const target of targets) { + if ((type as TypeReference).target === target) { + return true; + } + } + return false; + } + function isReferenceToType(type: Type, target: Type) { return type !== undefined && target !== undefined @@ -13001,7 +13018,7 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { links.instantiations.set(getTypeListId(typeParameters), type); } if (type === intrinsicMarkerType && symbol.escapedName === "BuiltinIteratorReturn") { - type = strictBuiltinIteratorReturn ? undefinedType : anyType; + type = getBuiltinIteratorReturnType(); } } else { @@ -16868,6 +16885,16 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return symbol || reportErrors ? getTypeOfGlobalSymbol(symbol, arity) : undefined; } + function getGlobalBuiltinTypes(typeNames: readonly string[], arity: 0): ObjectType[]; + function getGlobalBuiltinTypes(typeNames: readonly string[], arity: number): GenericType[]; + function getGlobalBuiltinTypes(typeNames: readonly string[], arity: number) { + let types: Type[] | undefined; + for (const typeName of typeNames) { + types = append(types, getGlobalType(typeName as __String, arity, /*reportErrors*/ false)); + } + return types ?? emptyArray; + } + function getGlobalTypedPropertyDescriptorType() { // We always report an error, so store a result in the event we could not resolve the symbol to prevent reporting it multiple times return deferredGlobalTypedPropertyDescriptorType ||= getGlobalType("TypedPropertyDescriptor" as __String, /*arity*/ 1, /*reportErrors*/ true) || emptyGenericType; @@ -16949,8 +16976,13 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return (deferredGlobalAsyncIterableIteratorType ||= getGlobalType("AsyncIterableIterator" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; } - function getGlobalBuiltinAsyncIteratorType(reportErrors: boolean) { - return (deferredGlobalBuiltinAsyncIteratorType ||= getGlobalType("BuiltinAsyncIterator" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; + function getGlobalBuiltinAsyncIteratorTypes() { + // NOTE: This list does not include all built-in async iterator types, only those that are likely to be encountered frequently. + return deferredGlobalBuiltinAsyncIteratorTypes ??= getGlobalBuiltinTypes(["ReadableStreamAsyncIterator"], 1); + } + + function getGlobalAsyncIteratorObjectType(reportErrors: boolean) { + return (deferredGlobalAsyncIteratorObjectType ||= getGlobalType("AsyncIteratorObject" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; } function getGlobalAsyncGeneratorType(reportErrors: boolean) { @@ -16969,8 +17001,17 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { return (deferredGlobalIterableIteratorType ||= getGlobalType("IterableIterator" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; } - function getGlobalBuiltinIteratorType(reportErrors: boolean) { - return (deferredGlobalBuiltinIteratorType ||= getGlobalType("BuiltinIterator" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; + function getBuiltinIteratorReturnType() { + return strictBuiltinIteratorReturn ? undefinedType : anyType; + } + + function getGlobalBuiltinIteratorTypes() { + // NOTE: This list does not include all built-in iterator types, only those that are likely to be encountered frequently. + return deferredGlobalBuiltinIteratorTypes ??= getGlobalBuiltinTypes(["ArrayIterator", "MapIterator", "SetIterator", "StringIterator"], 1); + } + + function getGlobalIteratorObjectType(reportErrors: boolean) { + return (deferredGlobalIteratorObjectType ||= getGlobalType("IteratorObject" as __String, /*arity*/ 3, reportErrors)) || emptyGenericType; } function getGlobalGeneratorType(reportErrors: boolean) { @@ -44951,18 +44992,32 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // As an optimization, if the type is an instantiation of the following global type, then // just grab its related type arguments: // - `Iterable` or `AsyncIterable` - // - `BuiltinIterator` or `BuiltinAsyncIterator` + // - `IteratorObject` or `AsyncIteratorObject` // - `IterableIterator` or `AsyncIterableIterator` // - `Generator` or `AsyncGenerator` if ( isReferenceToType(type, resolver.getGlobalIterableType(/*reportErrors*/ false)) || - isReferenceToType(type, resolver.getGlobalBuiltinIteratorType(/*reportErrors*/ false)) || + isReferenceToType(type, resolver.getGlobalIteratorObjectType(/*reportErrors*/ false)) || isReferenceToType(type, resolver.getGlobalIterableIteratorType(/*reportErrors*/ false)) || isReferenceToType(type, resolver.getGlobalGeneratorType(/*reportErrors*/ false)) ) { const [yieldType, returnType, nextType] = getTypeArguments(type as GenericType); return setCachedIterationTypes(type, resolver.iterableCacheKey, createIterationTypes(resolver.resolveIterationType(yieldType, /*errorNode*/ undefined) || yieldType, resolver.resolveIterationType(returnType, /*errorNode*/ undefined) || returnType, nextType)); } + + // As an optimization, if the type is an instantiation of one of the following global types, then + // just grab the related type argument: + // - `ArrayIterator` + // - `MapIterator` + // - `SetIterator` + // - `StringIterator` + // - `ReadableStreamAsyncIterator` + if (isReferenceToSomeType(type, resolver.getGlobalBuiltinIteratorTypes())) { + const [yieldType] = getTypeArguments(type as GenericType); + const returnType = getBuiltinIteratorReturnType(); + const nextType = unknownType; + return setCachedIterationTypes(type, resolver.iterableCacheKey, createIterationTypes(resolver.resolveIterationType(yieldType, /*errorNode*/ undefined) || yieldType, resolver.resolveIterationType(returnType, /*errorNode*/ undefined) || returnType, nextType)); + } } function getPropertyNameForKnownSymbolName(symbolName: string): __String { @@ -45079,18 +45134,32 @@ export function createTypeChecker(host: TypeCheckerHost): TypeChecker { // As an optimization, if the type is an instantiation of one of the following global types, // then just grab its related type arguments: // - `IterableIterator` or `AsyncIterableIterator` - // - `BuiltinIterator` or `BuiltinAsyncIterator` + // - `IteratorObject` or `AsyncIteratorObject` // - `Iterator` or `AsyncIterator` // - `Generator` or `AsyncGenerator` if ( - isReferenceToType(type, resolver.getGlobalBuiltinIteratorType(/*reportErrors*/ false)) || isReferenceToType(type, resolver.getGlobalIterableIteratorType(/*reportErrors*/ false)) || isReferenceToType(type, resolver.getGlobalIteratorType(/*reportErrors*/ false)) || + isReferenceToType(type, resolver.getGlobalIteratorObjectType(/*reportErrors*/ false)) || isReferenceToType(type, resolver.getGlobalGeneratorType(/*reportErrors*/ false)) ) { const [yieldType, returnType, nextType] = getTypeArguments(type as GenericType); return setCachedIterationTypes(type, resolver.iteratorCacheKey, createIterationTypes(yieldType, returnType, nextType)); } + + // As an optimization, if the type is an instantiation of one of the following global types, then + // just grab the related type argument: + // - `ArrayIterator` + // - `MapIterator` + // - `SetIterator` + // - `StringIterator` + // - `ReadableStreamAsyncIterator` + if (isReferenceToSomeType(type, resolver.getGlobalBuiltinIteratorTypes())) { + const [yieldType] = getTypeArguments(type as GenericType); + const returnType = getBuiltinIteratorReturnType(); + const nextType = unknownType; + return setCachedIterationTypes(type, resolver.iteratorCacheKey, createIterationTypes(yieldType, returnType, nextType)); + } } function isIteratorResult(type: Type, kind: IterationTypeKind.Yield | IterationTypeKind.Return) { diff --git a/src/lib/dom.asynciterable.generated.d.ts b/src/lib/dom.asynciterable.generated.d.ts index f9b5ee37473..9668532471f 100644 --- a/src/lib/dom.asynciterable.generated.d.ts +++ b/src/lib/dom.asynciterable.generated.d.ts @@ -2,14 +2,22 @@ /// Window Async Iterable APIs ///////////////////////////// +interface FileSystemDirectoryHandleAsyncIterator extends AsyncIteratorObject { + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator; +} + interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): BuiltinAsyncIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; - entries(): BuiltinAsyncIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; - keys(): BuiltinAsyncIterator; - values(): BuiltinAsyncIterator; + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + keys(): FileSystemDirectoryHandleAsyncIterator; + values(): FileSystemDirectoryHandleAsyncIterator; +} + +interface ReadableStreamAsyncIterator extends AsyncIteratorObject { + [Symbol.asyncIterator](): ReadableStreamAsyncIterator; } interface ReadableStream { - [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): BuiltinAsyncIterator; - values(options?: ReadableStreamIteratorOptions): BuiltinAsyncIterator; + [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator; + values(options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator; } diff --git a/src/lib/dom.iterable.d.ts b/src/lib/dom.iterable.d.ts index da56ceae7a6..d6d9975ddbd 100644 --- a/src/lib/dom.iterable.d.ts +++ b/src/lib/dom.iterable.d.ts @@ -1,30 +1,34 @@ /// interface DOMTokenList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; +} + +interface HeadersIterator extends IteratorObject { + [Symbol.iterator](): HeadersIterator; } interface Headers { - [Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>; + [Symbol.iterator](): HeadersIterator<[string, string]>; /** * Returns an iterator allowing to go through all key/value pairs contained in this object. */ - entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>; + entries(): HeadersIterator<[string, string]>; /** * Returns an iterator allowing to go through all keys f the key/value pairs contained in this object. */ - keys(): BuiltinIterator; + keys(): HeadersIterator; /** * Returns an iterator allowing to go through all values of the key/value pairs contained in this object. */ - values(): BuiltinIterator; + values(): HeadersIterator; } interface NodeList { /** * Returns an array of key, value pairs for every entry in the list */ - entries(): BuiltinIterator<[number, Node], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, Node]>; /** * Performs the specified action for each node in an list. * @param callbackfn A function that accepts up to three arguments. forEach calls the callbackfn function one time for each element in the list. @@ -34,21 +38,21 @@ interface NodeList { /** * Returns an list of keys in the list */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** * Returns an list of values in the list */ - values(): BuiltinIterator; + values(): ArrayIterator; - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface NodeListOf { /** * Returns an array of key, value pairs for every entry in the list */ - entries(): BuiltinIterator<[number, TNode], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, TNode]>; /** * Performs the specified action for each node in an list. @@ -59,55 +63,63 @@ interface NodeListOf { /** * Returns an list of keys in the list */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** * Returns an list of values in the list */ - values(): BuiltinIterator; + values(): ArrayIterator; - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface HTMLCollectionBase { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface HTMLCollectionOf { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; +} + +interface FormDataIterator extends IteratorObject { + [Symbol.iterator](): FormDataIterator; } interface FormData { /** * Returns an array of key, value pairs for every entry in the list */ - entries(): BuiltinIterator<[string, string | File], BuiltinIteratorReturn>; + entries(): FormDataIterator<[string, string | File]>; /** * Returns a list of keys in the list */ - keys(): BuiltinIterator; + keys(): FormDataIterator; /** * Returns a list of values in the list */ - values(): BuiltinIterator; + values(): FormDataIterator; - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): FormDataIterator; +} + +interface URLSearchParamsIterator extends IteratorObject { + [Symbol.iterator](): URLSearchParamsIterator; } interface URLSearchParams { /** * Returns an array of key, value pairs for every entry in the search params */ - entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>; + entries(): URLSearchParamsIterator<[string, string]>; /** * Returns a list of keys in the search params */ - keys(): BuiltinIterator; + keys(): URLSearchParamsIterator; /** * Returns a list of values in the search params */ - values(): BuiltinIterator; + values(): URLSearchParamsIterator; /** * iterate over key/value pairs */ - [Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>; + [Symbol.iterator](): URLSearchParamsIterator<[string, string]>; } diff --git a/src/lib/dom.iterable.generated.d.ts b/src/lib/dom.iterable.generated.d.ts index f23e1534c46..70c0039ce0d 100644 --- a/src/lib/dom.iterable.generated.d.ts +++ b/src/lib/dom.iterable.generated.d.ts @@ -23,36 +23,36 @@ interface BaseAudioContext { } interface CSSKeyframesRule { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface CSSNumericArray { - [Symbol.iterator](): BuiltinIterator; - entries(): BuiltinIterator<[number, CSSNumericValue], BuiltinIteratorReturn>; - keys(): BuiltinIterator; - values(): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; + entries(): ArrayIterator<[number, CSSNumericValue]>; + keys(): ArrayIterator; + values(): ArrayIterator; } interface CSSRuleList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface CSSStyleDeclaration { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface CSSTransformValue { - [Symbol.iterator](): BuiltinIterator; - entries(): BuiltinIterator<[number, CSSTransformComponent], BuiltinIteratorReturn>; - keys(): BuiltinIterator; - values(): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; + entries(): ArrayIterator<[number, CSSTransformComponent]>; + keys(): ArrayIterator; + values(): ArrayIterator; } interface CSSUnparsedValue { - [Symbol.iterator](): BuiltinIterator; - entries(): BuiltinIterator<[number, CSSUnparsedSegment], BuiltinIteratorReturn>; - keys(): BuiltinIterator; - values(): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; + entries(): ArrayIterator<[number, CSSUnparsedSegment]>; + keys(): ArrayIterator; + values(): ArrayIterator; } interface Cache { @@ -74,72 +74,80 @@ interface CustomStateSet extends Set { } interface DOMRectList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface DOMStringList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface DOMTokenList { - [Symbol.iterator](): BuiltinIterator; - entries(): BuiltinIterator<[number, string], BuiltinIteratorReturn>; - keys(): BuiltinIterator; - values(): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; + entries(): ArrayIterator<[number, string]>; + keys(): ArrayIterator; + values(): ArrayIterator; } interface DataTransferItemList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface EventCounts extends ReadonlyMap { } interface FileList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface FontFaceSet extends Set { } +interface FormDataIterator extends IteratorObject { + [Symbol.iterator](): FormDataIterator; +} + interface FormData { - [Symbol.iterator](): BuiltinIterator<[string, FormDataEntryValue], BuiltinIteratorReturn>; + [Symbol.iterator](): FormDataIterator<[string, FormDataEntryValue]>; /** Returns an array of key, value pairs for every entry in the list. */ - entries(): BuiltinIterator<[string, FormDataEntryValue], BuiltinIteratorReturn>; + entries(): FormDataIterator<[string, FormDataEntryValue]>; /** Returns a list of keys in the list. */ - keys(): BuiltinIterator; + keys(): FormDataIterator; /** Returns a list of values in the list. */ - values(): BuiltinIterator; + values(): FormDataIterator; } interface HTMLAllCollection { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface HTMLCollectionBase { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface HTMLCollectionOf { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface HTMLFormElement { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface HTMLSelectElement { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; +} + +interface HeadersIterator extends IteratorObject { + [Symbol.iterator](): HeadersIterator; } interface Headers { - [Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>; + [Symbol.iterator](): HeadersIterator<[string, string]>; /** Returns an iterator allowing to go through all key/value pairs contained in this object. */ - entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>; + entries(): HeadersIterator<[string, string]>; /** Returns an iterator allowing to go through all keys of the key/value pairs contained in this object. */ - keys(): BuiltinIterator; + keys(): HeadersIterator; /** Returns an iterator allowing to go through all values of the key/value pairs contained in this object. */ - values(): BuiltinIterator; + values(): HeadersIterator; } interface Highlight extends Set { @@ -179,15 +187,19 @@ interface MIDIOutput { interface MIDIOutputMap extends ReadonlyMap { } +interface MediaKeyStatusMapIterator extends IteratorObject { + [Symbol.iterator](): MediaKeyStatusMapIterator; +} + interface MediaKeyStatusMap { - [Symbol.iterator](): BuiltinIterator<[BufferSource, MediaKeyStatus], BuiltinIteratorReturn>; - entries(): BuiltinIterator<[BufferSource, MediaKeyStatus], BuiltinIteratorReturn>; - keys(): BuiltinIterator; - values(): BuiltinIterator; + [Symbol.iterator](): MediaKeyStatusMapIterator<[BufferSource, MediaKeyStatus]>; + entries(): MediaKeyStatusMapIterator<[BufferSource, MediaKeyStatus]>; + keys(): MediaKeyStatusMapIterator; + values(): MediaKeyStatusMapIterator; } interface MediaList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface MessageEvent { @@ -196,11 +208,11 @@ interface MessageEvent { } interface MimeTypeArray { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface NamedNodeMap { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface Navigator { @@ -215,31 +227,31 @@ interface Navigator { } interface NodeList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; /** Returns an array of key, value pairs for every entry in the list. */ - entries(): BuiltinIterator<[number, Node], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, Node]>; /** Returns an list of keys in the list. */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** Returns an list of values in the list. */ - values(): BuiltinIterator; + values(): ArrayIterator; } interface NodeListOf { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; /** Returns an array of key, value pairs for every entry in the list. */ - entries(): BuiltinIterator<[number, TNode], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, TNode]>; /** Returns an list of keys in the list. */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** Returns an list of values in the list. */ - values(): BuiltinIterator; + values(): ArrayIterator; } interface Plugin { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface PluginArray { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface RTCRtpTransceiver { @@ -251,46 +263,50 @@ interface RTCStatsReport extends ReadonlyMap { } interface SVGLengthList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface SVGNumberList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface SVGPointList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface SVGStringList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface SVGTransformList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface SourceBufferList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface SpeechRecognitionResult { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface SpeechRecognitionResultList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; +} + +interface StylePropertyMapReadOnlyIterator extends IteratorObject { + [Symbol.iterator](): StylePropertyMapReadOnlyIterator; } interface StylePropertyMapReadOnly { - [Symbol.iterator](): BuiltinIterator<[string, Iterable], BuiltinIteratorReturn>; - entries(): BuiltinIterator<[string, Iterable], BuiltinIteratorReturn>; - keys(): BuiltinIterator; - values(): BuiltinIterator, BuiltinIteratorReturn>; + [Symbol.iterator](): StylePropertyMapReadOnlyIterator<[string, Iterable]>; + entries(): StylePropertyMapReadOnlyIterator<[string, Iterable]>; + keys(): StylePropertyMapReadOnlyIterator; + values(): StylePropertyMapReadOnlyIterator>; } interface StyleSheetList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface SubtleCrypto { @@ -309,25 +325,29 @@ interface SubtleCrypto { } interface TextTrackCueList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface TextTrackList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface TouchList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; +} + +interface URLSearchParamsIterator extends IteratorObject { + [Symbol.iterator](): URLSearchParamsIterator; } interface URLSearchParams { - [Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>; + [Symbol.iterator](): URLSearchParamsIterator<[string, string]>; /** Returns an array of key, value pairs for every entry in the search params. */ - entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>; + entries(): URLSearchParamsIterator<[string, string]>; /** Returns a list of keys in the search params. */ - keys(): BuiltinIterator; + keys(): URLSearchParamsIterator; /** Returns a list of values in the search params. */ - values(): BuiltinIterator; + values(): URLSearchParamsIterator; } interface WEBGL_draw_buffers { diff --git a/src/lib/es2015.generator.d.ts b/src/lib/es2015.generator.d.ts index 2397d79dddb..435806e925f 100644 --- a/src/lib/es2015.generator.d.ts +++ b/src/lib/es2015.generator.d.ts @@ -1,6 +1,6 @@ /// -interface Generator extends BuiltinIterator { +interface Generator extends IteratorObject { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. next(...[value]: [] | [TNext]): IteratorResult; return(value: TReturn): IteratorResult; diff --git a/src/lib/es2015.iterable.d.ts b/src/lib/es2015.iterable.d.ts index 00a0ff820ca..50e2277c533 100644 --- a/src/lib/es2015.iterable.d.ts +++ b/src/lib/es2015.iterable.d.ts @@ -31,34 +31,48 @@ interface Iterable { [Symbol.iterator](): Iterator; } +/** + * Describes a user-defined {@link Iterator} that is also iterable. + */ interface IterableIterator extends Iterator { [Symbol.iterator](): IterableIterator; } -interface BuiltinIterator extends Iterator { - [Symbol.iterator](): BuiltinIterator; +/** + * Describes an {@link Iterator} produced by the runtime that inherits from the intrinsic `Iterator.prototype`. + */ +interface IteratorObject extends Iterator { + [Symbol.iterator](): IteratorObject; } +/** + * Defines the `TReturn` type used for built-in iterators produced by `Array`, `Map`, `Set`, and others. + * This is `undefined` when `strictBuiltInIteratorReturn` is `true`; otherwise, this is `any`. + */ type BuiltinIteratorReturn = intrinsic; +interface ArrayIterator extends IteratorObject { + [Symbol.iterator](): ArrayIterator; +} + interface Array { /** Iterator */ - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; /** * Returns an iterable of key, value pairs for every entry in the array */ - entries(): BuiltinIterator<[number, T], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, T]>; /** * Returns an iterable of keys in the array */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** * Returns an iterable of values in the array */ - values(): BuiltinIterator; + values(): ArrayIterator; } interface ArrayConstructor { @@ -79,67 +93,71 @@ interface ArrayConstructor { interface ReadonlyArray { /** Iterator of values in the array. */ - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; /** * Returns an iterable of key, value pairs for every entry in the array */ - entries(): BuiltinIterator<[number, T], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, T]>; /** * Returns an iterable of keys in the array */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** * Returns an iterable of values in the array */ - values(): BuiltinIterator; + values(): ArrayIterator; } interface IArguments { /** Iterator */ - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; +} + +interface MapIterator extends IteratorObject { + [Symbol.iterator](): MapIterator; } interface Map { /** Returns an iterable of entries in the map. */ - [Symbol.iterator](): BuiltinIterator<[K, V], BuiltinIteratorReturn>; + [Symbol.iterator](): MapIterator<[K, V]>; /** * Returns an iterable of key, value pairs for every entry in the map. */ - entries(): BuiltinIterator<[K, V], BuiltinIteratorReturn>; + entries(): MapIterator<[K, V]>; /** * Returns an iterable of keys in the map */ - keys(): BuiltinIterator; + keys(): MapIterator; /** * Returns an iterable of values in the map */ - values(): BuiltinIterator; + values(): MapIterator; } interface ReadonlyMap { /** Returns an iterable of entries in the map. */ - [Symbol.iterator](): BuiltinIterator<[K, V], BuiltinIteratorReturn>; + [Symbol.iterator](): MapIterator<[K, V]>; /** * Returns an iterable of key, value pairs for every entry in the map. */ - entries(): BuiltinIterator<[K, V], BuiltinIteratorReturn>; + entries(): MapIterator<[K, V]>; /** * Returns an iterable of keys in the map */ - keys(): BuiltinIterator; + keys(): MapIterator; /** * Returns an iterable of values in the map */ - values(): BuiltinIterator; + values(): MapIterator; } interface MapConstructor { @@ -153,42 +171,46 @@ interface WeakMapConstructor { new (iterable: Iterable): WeakMap; } +interface SetIterator extends IteratorObject { + [Symbol.iterator](): SetIterator; +} + interface Set { /** Iterates over values in the set. */ - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): SetIterator; /** * Returns an iterable of [v,v] pairs for every value `v` in the set. */ - entries(): BuiltinIterator<[T, T], BuiltinIteratorReturn>; + entries(): SetIterator<[T, T]>; /** * Despite its name, returns an iterable of the values in the set. */ - keys(): BuiltinIterator; + keys(): SetIterator; /** * Returns an iterable of values in the set. */ - values(): BuiltinIterator; + values(): SetIterator; } interface ReadonlySet { /** Iterates over values in the set. */ - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): SetIterator; /** * Returns an iterable of [v,v] pairs for every value `v` in the set. */ - entries(): BuiltinIterator<[T, T], BuiltinIteratorReturn>; + entries(): SetIterator<[T, T]>; /** * Despite its name, returns an iterable of the values in the set. */ - keys(): BuiltinIterator; + keys(): SetIterator; /** * Returns an iterable of values in the set. */ - values(): BuiltinIterator; + values(): SetIterator; } interface SetConstructor { @@ -221,25 +243,29 @@ interface PromiseConstructor { race(values: Iterable>): Promise>; } +interface StringIterator extends IteratorObject { + [Symbol.iterator](): StringIterator; +} + interface String { /** Iterator */ - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): StringIterator; } interface Int8Array { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, number]>; /** * Returns an list of keys in the array */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** * Returns an list of values in the array */ - values(): BuiltinIterator; + values(): ArrayIterator; } interface Int8ArrayConstructor { @@ -255,19 +281,19 @@ interface Int8ArrayConstructor { } interface Uint8Array { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, number]>; /** * Returns an list of keys in the array */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** * Returns an list of values in the array */ - values(): BuiltinIterator; + values(): ArrayIterator; } interface Uint8ArrayConstructor { @@ -283,21 +309,21 @@ interface Uint8ArrayConstructor { } interface Uint8ClampedArray { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, number]>; /** * Returns an list of keys in the array */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** * Returns an list of values in the array */ - values(): BuiltinIterator; + values(): ArrayIterator; } interface Uint8ClampedArrayConstructor { @@ -313,21 +339,21 @@ interface Uint8ClampedArrayConstructor { } interface Int16Array { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, number]>; /** * Returns an list of keys in the array */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** * Returns an list of values in the array */ - values(): BuiltinIterator; + values(): ArrayIterator; } interface Int16ArrayConstructor { @@ -343,19 +369,19 @@ interface Int16ArrayConstructor { } interface Uint16Array { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, number]>; /** * Returns an list of keys in the array */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** * Returns an list of values in the array */ - values(): BuiltinIterator; + values(): ArrayIterator; } interface Uint16ArrayConstructor { @@ -371,19 +397,19 @@ interface Uint16ArrayConstructor { } interface Int32Array { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, number]>; /** * Returns an list of keys in the array */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** * Returns an list of values in the array */ - values(): BuiltinIterator; + values(): ArrayIterator; } interface Int32ArrayConstructor { @@ -399,19 +425,19 @@ interface Int32ArrayConstructor { } interface Uint32Array { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, number]>; /** * Returns an list of keys in the array */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** * Returns an list of values in the array */ - values(): BuiltinIterator; + values(): ArrayIterator; } interface Uint32ArrayConstructor { @@ -427,19 +453,19 @@ interface Uint32ArrayConstructor { } interface Float32Array { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, number]>; /** * Returns an list of keys in the array */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** * Returns an list of values in the array */ - values(): BuiltinIterator; + values(): ArrayIterator; } interface Float32ArrayConstructor { @@ -455,19 +481,19 @@ interface Float32ArrayConstructor { } interface Float64Array { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; /** * Returns an array of key, value pairs for every entry in the array */ - entries(): BuiltinIterator<[number, number], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, number]>; /** * Returns an list of keys in the array */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** * Returns an list of values in the array */ - values(): BuiltinIterator; + values(): ArrayIterator; } interface Float64ArrayConstructor { diff --git a/src/lib/es2018.asyncgenerator.d.ts b/src/lib/es2018.asyncgenerator.d.ts index e5397a9e7af..543cf3a0798 100644 --- a/src/lib/es2018.asyncgenerator.d.ts +++ b/src/lib/es2018.asyncgenerator.d.ts @@ -1,6 +1,6 @@ /// -interface AsyncGenerator extends BuiltinAsyncIterator { +interface AsyncGenerator extends AsyncIteratorObject { // NOTE: 'next' is defined using a tuple to ensure we report the correct assignability errors in all places. next(...[value]: [] | [TNext]): Promise>; return(value: TReturn | PromiseLike): Promise>; diff --git a/src/lib/es2018.asynciterable.d.ts b/src/lib/es2018.asynciterable.d.ts index d5a587aef27..9db5d98290a 100644 --- a/src/lib/es2018.asynciterable.d.ts +++ b/src/lib/es2018.asynciterable.d.ts @@ -20,10 +20,16 @@ interface AsyncIterable { [Symbol.asyncIterator](): AsyncIterator; } +/** + * Describes a user-defined {@link AsyncIterator} that is also async iterable. + */ interface AsyncIterableIterator extends AsyncIterator { [Symbol.asyncIterator](): AsyncIterableIterator; } -interface BuiltinAsyncIterator extends AsyncIterator { - [Symbol.asyncIterator](): BuiltinAsyncIterator; +/** + * Describes an {@link AsyncIterator} produced by the runtime that inherits from the intrinsic `AsyncIterator.prototype`. + */ +interface AsyncIteratorObject extends AsyncIterator { + [Symbol.asyncIterator](): AsyncIteratorObject; } diff --git a/src/lib/es2020.bigint.d.ts b/src/lib/es2020.bigint.d.ts index c6ee094a332..95d2ff24589 100644 --- a/src/lib/es2020.bigint.d.ts +++ b/src/lib/es2020.bigint.d.ts @@ -153,7 +153,7 @@ interface BigInt64Array { copyWithin(target: number, start: number, end?: number): this; /** Yields index, value pairs for every entry in the array. */ - entries(): BuiltinIterator<[number, bigint], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, bigint]>; /** * Determines whether all the members of an array satisfy the specified test. @@ -238,7 +238,7 @@ interface BigInt64Array { join(separator?: string): string; /** Yields each index in the array. */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** * Returns the index of the last occurrence of a value in an array. @@ -360,9 +360,9 @@ interface BigInt64Array { valueOf(): BigInt64Array; /** Yields each value in the array. */ - values(): BuiltinIterator; + values(): ArrayIterator; - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; readonly [Symbol.toStringTag]: "BigInt64Array"; @@ -425,7 +425,7 @@ interface BigUint64Array { copyWithin(target: number, start: number, end?: number): this; /** Yields index, value pairs for every entry in the array. */ - entries(): BuiltinIterator<[number, bigint], BuiltinIteratorReturn>; + entries(): ArrayIterator<[number, bigint]>; /** * Determines whether all the members of an array satisfy the specified test. @@ -510,7 +510,7 @@ interface BigUint64Array { join(separator?: string): string; /** Yields each index in the array. */ - keys(): BuiltinIterator; + keys(): ArrayIterator; /** * Returns the index of the last occurrence of a value in an array. @@ -632,9 +632,9 @@ interface BigUint64Array { valueOf(): BigUint64Array; /** Yields each value in the array. */ - values(): BuiltinIterator; + values(): ArrayIterator; - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; readonly [Symbol.toStringTag]: "BigUint64Array"; diff --git a/src/lib/es2020.string.d.ts b/src/lib/es2020.string.d.ts index 4d23b7f3194..19c8f5ebb7d 100644 --- a/src/lib/es2020.string.d.ts +++ b/src/lib/es2020.string.d.ts @@ -1,4 +1,4 @@ -/// +/// interface String { /** @@ -6,7 +6,7 @@ interface String { * containing the results of that search. * @param regexp A variable name or string literal containing the regular expression pattern and flags. */ - matchAll(regexp: RegExp): BuiltinIterator; + matchAll(regexp: RegExp): RegExpStringIterator; /** Converts all alphabetic characters to lowercase, taking into account the host environment's current locale. */ toLocaleLowerCase(locales?: Intl.LocalesArgument): string; diff --git a/src/lib/es2020.symbol.wellknown.d.ts b/src/lib/es2020.symbol.wellknown.d.ts index 07aab68a092..cdf0349f9b4 100644 --- a/src/lib/es2020.symbol.wellknown.d.ts +++ b/src/lib/es2020.symbol.wellknown.d.ts @@ -9,11 +9,15 @@ interface SymbolConstructor { readonly matchAll: unique symbol; } +interface RegExpStringIterator extends IteratorObject { + [Symbol.iterator](): RegExpStringIterator; +} + interface RegExp { /** * Matches a string with this regular expression, and returns an iterable of matches * containing the results of that search. * @param string A string to search within. */ - [Symbol.matchAll](str: string): BuiltinIterator; + [Symbol.matchAll](str: string): RegExpStringIterator; } diff --git a/src/lib/es2022.intl.d.ts b/src/lib/es2022.intl.d.ts index 115e15a5282..e3b1d1d1a8c 100644 --- a/src/lib/es2022.intl.d.ts +++ b/src/lib/es2022.intl.d.ts @@ -28,6 +28,10 @@ declare namespace Intl { granularity: "grapheme" | "word" | "sentence"; } + interface SegmentIterator extends IteratorObject { + [Symbol.iterator](): SegmentIterator; + } + interface Segments { /** * Returns an object describing the segment in the original string that includes the code unit at a specified index. @@ -37,7 +41,7 @@ declare namespace Intl { containing(codeUnitIndex?: number): SegmentData; /** Returns an iterator to iterate over the segments. */ - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): SegmentIterator; } interface SegmentData { diff --git a/src/lib/esnext.iterator.d.ts b/src/lib/esnext.iterator.d.ts index 6a8a85eea87..fe929f59c22 100644 --- a/src/lib/esnext.iterator.d.ts +++ b/src/lib/esnext.iterator.d.ts @@ -7,59 +7,59 @@ export {}; // Abstract type that allows us to mark `next` as `abstract` -declare abstract class Iterator { // eslint-disable-line @typescript-eslint/no-unsafe-declaration-merging - abstract next(value?: unknown): IteratorResult; +declare abstract class Iterator { // eslint-disable-line @typescript-eslint/no-unsafe-declaration-merging + abstract next(value?: TNext): IteratorResult; } -// Merge all members of `BuiltinIterator` into `Iterator` -interface Iterator extends globalThis.BuiltinIterator {} +// Merge all members of `IteratorObject` into `Iterator` +interface Iterator extends globalThis.IteratorObject {} // Capture the `Iterator` constructor in a type we can use in the `extends` clause of `IteratorConstructor`. -type BuiltinIteratorConstructor = typeof Iterator; +type IteratorObjectConstructor = typeof Iterator; declare global { - // Global `BuiltinIterator` interface that can be augmented by polyfills - interface BuiltinIterator { + // Global `IteratorObject` interface that can be augmented by polyfills + interface IteratorObject { /** * Returns this iterator. */ - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): IteratorObject; /** * Creates an iterator whose values are the result of applying the callback to the values from this iterator. * @param callbackfn A function that accepts up to two arguments to be used to transform values from the underlying iterator. */ - map(callbackfn: (value: T, index: number) => U): BuiltinIterator; + map(callbackfn: (value: T, index: number) => U): IteratorObject; /** * Creates an iterator whose values are those from this iterator for which the provided predicate returns true. * @param predicate A function that accepts up to two arguments to be used to test values from the underlying iterator. */ - filter(predicate: (value: T, index: number) => value is S): BuiltinIterator; + filter(predicate: (value: T, index: number) => value is S): IteratorObject; /** * Creates an iterator whose values are those from this iterator for which the provided predicate returns true. * @param predicate A function that accepts up to two arguments to be used to test values from the underlying iterator. */ - filter(predicate: (value: T, index: number) => unknown): BuiltinIterator; + filter(predicate: (value: T, index: number) => unknown): IteratorObject; /** * Creates an iterator whose values are the values from this iterator, stopping once the provided limit is reached. * @param limit The maximum number of values to yield. */ - take(limit: number): BuiltinIterator; + take(limit: number): IteratorObject; /** * Creates an iterator whose values are the values from this iterator after skipping the provided count. * @param count The number of values to drop. */ - drop(count: number): BuiltinIterator; + drop(count: number): IteratorObject; /** * Creates an iterator whose values are the result of applying the callback to the values from this iterator and then flattening the resulting iterators or iterables. * @param callback A function that accepts up to two arguments to be used to transform values from the underlying iterator into new iterators or iterables to be flattened into the result. */ - flatMap(callback: (value: T, index: number) => Iterator | Iterable): BuiltinIterator; + flatMap(callback: (value: T, index: number) => Iterator | Iterable): IteratorObject; /** * Calls the specified callback function for all the elements in this iterator. The return value of the callback function is the accumulated result, and is provided as an argument in the next call to the callback function. @@ -117,13 +117,13 @@ declare global { } // Global `IteratorConstructor` interface that can be augmented by polyfills - interface IteratorConstructor extends BuiltinIteratorConstructor { + interface IteratorConstructor extends IteratorObjectConstructor { /** * Creates a native iterator from an iterator or iterable object. * Returns its input if the input already inherits from the built-in Iterator class. * @param value An iterator or iterable object to convert a native iterator. */ - from(value: Iterator | Iterable): BuiltinIterator; + from(value: Iterator | Iterable): IteratorObject; } var Iterator: IteratorConstructor; diff --git a/src/lib/webworker.asynciterable.generated.d.ts b/src/lib/webworker.asynciterable.generated.d.ts index cd2b63eb5d7..d446d4f089b 100644 --- a/src/lib/webworker.asynciterable.generated.d.ts +++ b/src/lib/webworker.asynciterable.generated.d.ts @@ -2,14 +2,22 @@ /// Worker Async Iterable APIs ///////////////////////////// +interface FileSystemDirectoryHandleAsyncIterator extends AsyncIteratorObject { + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator; +} + interface FileSystemDirectoryHandle { - [Symbol.asyncIterator](): BuiltinAsyncIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; - entries(): BuiltinAsyncIterator<[string, FileSystemHandle], BuiltinIteratorReturn>; - keys(): BuiltinAsyncIterator; - values(): BuiltinAsyncIterator; + [Symbol.asyncIterator](): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + entries(): FileSystemDirectoryHandleAsyncIterator<[string, FileSystemHandle]>; + keys(): FileSystemDirectoryHandleAsyncIterator; + values(): FileSystemDirectoryHandleAsyncIterator; +} + +interface ReadableStreamAsyncIterator extends AsyncIteratorObject { + [Symbol.asyncIterator](): ReadableStreamAsyncIterator; } interface ReadableStream { - [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): BuiltinAsyncIterator; - values(options?: ReadableStreamIteratorOptions): BuiltinAsyncIterator; + [Symbol.asyncIterator](options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator; + values(options?: ReadableStreamIteratorOptions): ReadableStreamAsyncIterator; } diff --git a/src/lib/webworker.iterable.generated.d.ts b/src/lib/webworker.iterable.generated.d.ts index 46628a75b82..ad811e2b8b1 100644 --- a/src/lib/webworker.iterable.generated.d.ts +++ b/src/lib/webworker.iterable.generated.d.ts @@ -8,24 +8,24 @@ interface AbortSignal { } interface CSSNumericArray { - [Symbol.iterator](): BuiltinIterator; - entries(): BuiltinIterator<[number, CSSNumericValue], BuiltinIteratorReturn>; - keys(): BuiltinIterator; - values(): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; + entries(): ArrayIterator<[number, CSSNumericValue]>; + keys(): ArrayIterator; + values(): ArrayIterator; } interface CSSTransformValue { - [Symbol.iterator](): BuiltinIterator; - entries(): BuiltinIterator<[number, CSSTransformComponent], BuiltinIteratorReturn>; - keys(): BuiltinIterator; - values(): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; + entries(): ArrayIterator<[number, CSSTransformComponent]>; + keys(): ArrayIterator; + values(): ArrayIterator; } interface CSSUnparsedValue { - [Symbol.iterator](): BuiltinIterator; - entries(): BuiltinIterator<[number, CSSUnparsedSegment], BuiltinIteratorReturn>; - keys(): BuiltinIterator; - values(): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; + entries(): ArrayIterator<[number, CSSUnparsedSegment]>; + keys(): ArrayIterator; + values(): ArrayIterator; } interface Cache { @@ -44,34 +44,42 @@ interface CanvasPathDrawingStyles { } interface DOMStringList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface FileList { - [Symbol.iterator](): BuiltinIterator; + [Symbol.iterator](): ArrayIterator; } interface FontFaceSet extends Set { } +interface FormDataIterator extends IteratorObject { + [Symbol.iterator](): FormDataIterator; +} + interface FormData { - [Symbol.iterator](): BuiltinIterator<[string, FormDataEntryValue], BuiltinIteratorReturn>; + [Symbol.iterator](): FormDataIterator<[string, FormDataEntryValue]>; /** Returns an array of key, value pairs for every entry in the list. */ - entries(): BuiltinIterator<[string, FormDataEntryValue], BuiltinIteratorReturn>; + entries(): FormDataIterator<[string, FormDataEntryValue]>; /** Returns a list of keys in the list. */ - keys(): BuiltinIterator; + keys(): FormDataIterator; /** Returns a list of values in the list. */ - values(): BuiltinIterator; + values(): FormDataIterator; +} + +interface HeadersIterator extends IteratorObject { + [Symbol.iterator](): HeadersIterator; } interface Headers { - [Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>; + [Symbol.iterator](): HeadersIterator<[string, string]>; /** Returns an iterator allowing to go through all key/value pairs contained in this object. */ - entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>; + entries(): HeadersIterator<[string, string]>; /** Returns an iterator allowing to go through all keys of the key/value pairs contained in this object. */ - keys(): BuiltinIterator; + keys(): HeadersIterator; /** Returns an iterator allowing to go through all values of the key/value pairs contained in this object. */ - values(): BuiltinIterator; + values(): HeadersIterator; } interface IDBDatabase { @@ -99,11 +107,15 @@ interface MessageEvent { initMessageEvent(type: string, bubbles?: boolean, cancelable?: boolean, data?: any, origin?: string, lastEventId?: string, source?: MessageEventSource | null, ports?: Iterable): void; } +interface StylePropertyMapReadOnlyIterator extends IteratorObject { + [Symbol.iterator](): StylePropertyMapReadOnlyIterator; +} + interface StylePropertyMapReadOnly { - [Symbol.iterator](): BuiltinIterator<[string, Iterable], BuiltinIteratorReturn>; - entries(): BuiltinIterator<[string, Iterable], BuiltinIteratorReturn>; - keys(): BuiltinIterator; - values(): BuiltinIterator, BuiltinIteratorReturn>; + [Symbol.iterator](): StylePropertyMapReadOnlyIterator<[string, Iterable]>; + entries(): StylePropertyMapReadOnlyIterator<[string, Iterable]>; + keys(): StylePropertyMapReadOnlyIterator; + values(): StylePropertyMapReadOnlyIterator>; } interface SubtleCrypto { @@ -121,14 +133,18 @@ interface SubtleCrypto { unwrapKey(format: KeyFormat, wrappedKey: BufferSource, unwrappingKey: CryptoKey, unwrapAlgorithm: AlgorithmIdentifier | RsaOaepParams | AesCtrParams | AesCbcParams | AesGcmParams, unwrappedKeyAlgorithm: AlgorithmIdentifier | RsaHashedImportParams | EcKeyImportParams | HmacImportParams | AesKeyAlgorithm, extractable: boolean, keyUsages: Iterable): Promise; } +interface URLSearchParamsIterator extends IteratorObject { + [Symbol.iterator](): URLSearchParamsIterator; +} + interface URLSearchParams { - [Symbol.iterator](): BuiltinIterator<[string, string], BuiltinIteratorReturn>; + [Symbol.iterator](): URLSearchParamsIterator<[string, string]>; /** Returns an array of key, value pairs for every entry in the search params. */ - entries(): BuiltinIterator<[string, string], BuiltinIteratorReturn>; + entries(): URLSearchParamsIterator<[string, string]>; /** Returns a list of keys in the search params. */ - keys(): BuiltinIterator; + keys(): URLSearchParamsIterator; /** Returns a list of values in the search params. */ - values(): BuiltinIterator; + values(): URLSearchParamsIterator; } interface WEBGL_draw_buffers { diff --git a/tests/baselines/reference/ES5For-ofTypeCheck10.errors.txt b/tests/baselines/reference/ES5For-ofTypeCheck10.errors.txt index bc8d5089170..5dbe9fe2b53 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck10.errors.txt +++ b/tests/baselines/reference/ES5For-ofTypeCheck10.errors.txt @@ -1,10 +1,10 @@ ES5For-ofTypeCheck10.ts(9,6): error TS2585: 'Symbol' only refers to a type, but is being used as a value here. Do you need to change your target library? Try changing the 'lib' compiler option to es2015 or later. -ES5For-ofTypeCheck10.ts(14,15): error TS2495: Type 'StringIterator' is not an array type or a string type. +ES5For-ofTypeCheck10.ts(14,15): error TS2495: Type 'MyStringIterator' is not an array type or a string type. ==== ES5For-ofTypeCheck10.ts (2 errors) ==== // In ES3/5, you cannot for...of over an arbitrary iterable. - class StringIterator { + class MyStringIterator { next() { return { done: true, @@ -18,6 +18,6 @@ ES5For-ofTypeCheck10.ts(14,15): error TS2495: Type 'StringIterator' is not an ar } } - for (var v of new StringIterator) { } - ~~~~~~~~~~~~~~~~~~ -!!! error TS2495: Type 'StringIterator' is not an array type or a string type. \ No newline at end of file + for (var v of new MyStringIterator) { } + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2495: Type 'MyStringIterator' is not an array type or a string type. \ No newline at end of file diff --git a/tests/baselines/reference/ES5For-ofTypeCheck10.js b/tests/baselines/reference/ES5For-ofTypeCheck10.js index efe4b27967d..2537d78d12f 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck10.js +++ b/tests/baselines/reference/ES5For-ofTypeCheck10.js @@ -2,7 +2,7 @@ //// [ES5For-ofTypeCheck10.ts] // In ES3/5, you cannot for...of over an arbitrary iterable. -class StringIterator { +class MyStringIterator { next() { return { done: true, @@ -14,24 +14,24 @@ class StringIterator { } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } //// [ES5For-ofTypeCheck10.js] // In ES3/5, you cannot for...of over an arbitrary iterable. -var StringIterator = /** @class */ (function () { - function StringIterator() { +var MyStringIterator = /** @class */ (function () { + function MyStringIterator() { } - StringIterator.prototype.next = function () { + MyStringIterator.prototype.next = function () { return { done: true, value: "" }; }; - StringIterator.prototype[Symbol.iterator] = function () { + MyStringIterator.prototype[Symbol.iterator] = function () { return this; }; - return StringIterator; + return MyStringIterator; }()); -for (var _i = 0, _a = new StringIterator; _i < _a.length; _i++) { +for (var _i = 0, _a = new MyStringIterator; _i < _a.length; _i++) { var v = _a[_i]; } diff --git a/tests/baselines/reference/ES5For-ofTypeCheck10.symbols b/tests/baselines/reference/ES5For-ofTypeCheck10.symbols index d6764447cfb..f301fbbf6a7 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck10.symbols +++ b/tests/baselines/reference/ES5For-ofTypeCheck10.symbols @@ -2,11 +2,11 @@ === ES5For-ofTypeCheck10.ts === // In ES3/5, you cannot for...of over an arbitrary iterable. -class StringIterator { ->StringIterator : Symbol(StringIterator, Decl(ES5For-ofTypeCheck10.ts, 0, 0)) +class MyStringIterator { +>MyStringIterator : Symbol(MyStringIterator, Decl(ES5For-ofTypeCheck10.ts, 0, 0)) next() { ->next : Symbol(StringIterator.next, Decl(ES5For-ofTypeCheck10.ts, 1, 22)) +>next : Symbol(MyStringIterator.next, Decl(ES5For-ofTypeCheck10.ts, 1, 24)) return { done: true, @@ -18,14 +18,14 @@ class StringIterator { }; } [Symbol.iterator]() { ->[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(ES5For-ofTypeCheck10.ts, 7, 5)) +>[Symbol.iterator] : Symbol(MyStringIterator[Symbol.iterator], Decl(ES5For-ofTypeCheck10.ts, 7, 5)) return this; ->this : Symbol(StringIterator, Decl(ES5For-ofTypeCheck10.ts, 0, 0)) +>this : Symbol(MyStringIterator, Decl(ES5For-ofTypeCheck10.ts, 0, 0)) } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : Symbol(v, Decl(ES5For-ofTypeCheck10.ts, 13, 8)) ->StringIterator : Symbol(StringIterator, Decl(ES5For-ofTypeCheck10.ts, 0, 0)) +>MyStringIterator : Symbol(MyStringIterator, Decl(ES5For-ofTypeCheck10.ts, 0, 0)) diff --git a/tests/baselines/reference/ES5For-ofTypeCheck10.types b/tests/baselines/reference/ES5For-ofTypeCheck10.types index 65d626c82ee..5cb80fe9f97 100644 --- a/tests/baselines/reference/ES5For-ofTypeCheck10.types +++ b/tests/baselines/reference/ES5For-ofTypeCheck10.types @@ -2,9 +2,9 @@ === ES5For-ofTypeCheck10.ts === // In ES3/5, you cannot for...of over an arbitrary iterable. -class StringIterator { ->StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ +class MyStringIterator { +>MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ next() { >next : () => { done: boolean; value: string; } @@ -44,11 +44,11 @@ class StringIterator { } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : any > : ^^^ ->new StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ ->StringIterator : typeof StringIterator -> : ^^^^^^^^^^^^^^^^^^^^^ +>new MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ +>MyStringIterator : typeof MyStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/YieldStarExpression4_es6.types b/tests/baselines/reference/YieldStarExpression4_es6.types index c2c8b54fde2..186939d8383 100644 --- a/tests/baselines/reference/YieldStarExpression4_es6.types +++ b/tests/baselines/reference/YieldStarExpression4_es6.types @@ -2,8 +2,8 @@ === YieldStarExpression4_es6.ts === function *g() { ->g : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield * []; >yield * [] : any diff --git a/tests/baselines/reference/argumentsObjectIterator02_ES6.types b/tests/baselines/reference/argumentsObjectIterator02_ES6.types index c192ab9617b..f77b4259cf9 100644 --- a/tests/baselines/reference/argumentsObjectIterator02_ES6.types +++ b/tests/baselines/reference/argumentsObjectIterator02_ES6.types @@ -12,10 +12,10 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe > : ^^^^^^ let blah = arguments[Symbol.iterator]; ->blah : () => BuiltinIterator -> : ^^^^^^ ->arguments[Symbol.iterator] : () => BuiltinIterator -> : ^^^^^^ +>blah : () => ArrayIterator +> : ^^^^^^ +>arguments[Symbol.iterator] : () => ArrayIterator +> : ^^^^^^ >arguments : IArguments > : ^^^^^^^^^^ >Symbol.iterator : unique symbol @@ -33,10 +33,10 @@ function doubleAndReturnAsArray(x: number, y: number, z: number): [number, numbe for (let arg of blah()) { >arg : any ->blah() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->blah : () => BuiltinIterator -> : ^^^^^^ +>blah() : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^ +>blah : () => ArrayIterator +> : ^^^^^^ result.push(arg + arg); >result.push(arg + arg) : number diff --git a/tests/baselines/reference/arrayFrom.types b/tests/baselines/reference/arrayFrom.types index 8829708cedd..4350bcd3047 100644 --- a/tests/baselines/reference/arrayFrom.types +++ b/tests/baselines/reference/arrayFrom.types @@ -83,14 +83,14 @@ const result2: A[] = Array.from(inputA.values()); > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } > : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ->inputA.values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->inputA.values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>inputA.values() : ArrayIterator
+> : ^^^^^^^^^^^^^^^^ +>inputA.values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^ >inputA : A[] > : ^^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^ const result3: B[] = Array.from(inputA.values()); // expect error >result3 : B[] @@ -103,14 +103,14 @@ const result3: B[] = Array.from(inputA.values()); // expect error > : ^^^^^^^^^^^^^^^^ >from : { (arrayLike: ArrayLike): T[]; (arrayLike: ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; (iterable: Iterable | ArrayLike): T[]; (iterable: Iterable | ArrayLike, mapfn: (v: T, k: number) => U, thisArg?: any): U[]; } > : ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^ ^^ ^^ ^^ ^^ ^^ ^^^ ^^^ ^^^ ->inputA.values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->inputA.values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>inputA.values() : ArrayIterator +> : ^^^^^^^^^^^^^^^^ +>inputA.values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^ >inputA : A[] > : ^^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^ const result4: A[] = Array.from(inputB, ({ b }): A => ({ a: b })); >result4 : A[] diff --git a/tests/baselines/reference/builtinIterator.errors.txt b/tests/baselines/reference/builtinIterator.errors.txt index 26749ea24a6..c4fc043ee36 100644 --- a/tests/baselines/reference/builtinIterator.errors.txt +++ b/tests/baselines/reference/builtinIterator.errors.txt @@ -1,19 +1,19 @@ builtinIterator.ts(38,1): error TS2511: Cannot create an instance of an abstract class. -builtinIterator.ts(40,7): error TS2515: Non-abstract class 'C' does not implement inherited abstract member next from class 'Iterator'. -builtinIterator.ts(44,3): error TS2416: Property 'next' in type 'BadIterator1' is not assignable to the same property in base type 'Iterator'. +builtinIterator.ts(40,7): error TS2515: Non-abstract class 'C' does not implement inherited abstract member next from class 'Iterator'. +builtinIterator.ts(44,3): error TS2416: Property 'next' in type 'BadIterator1' is not assignable to the same property in base type 'Iterator'. Type '() => { readonly done: false; readonly value: 0; } | { readonly done: true; readonly value: "a string"; }' is not assignable to type '(value?: unknown) => IteratorResult'. Type '{ readonly done: false; readonly value: 0; } | { readonly done: true; readonly value: "a string"; }' is not assignable to type 'IteratorResult'. Type '{ readonly done: true; readonly value: "a string"; }' is not assignable to type 'IteratorResult'. Type '{ readonly done: true; readonly value: "a string"; }' is not assignable to type 'IteratorReturnResult'. Types of property 'value' are incompatible. Type '"a string"' is not assignable to type 'undefined'. -builtinIterator.ts(54,3): error TS2416: Property 'next' in type 'BadIterator2' is not assignable to the same property in base type 'Iterator'. +builtinIterator.ts(54,3): error TS2416: Property 'next' in type 'BadIterator2' is not assignable to the same property in base type 'Iterator'. Type '() => { done: boolean; value: number; }' is not assignable to type '(value?: unknown) => IteratorResult'. Type '{ done: boolean; value: number; }' is not assignable to type 'IteratorResult'. Type '{ done: boolean; value: number; }' is not assignable to type 'IteratorYieldResult'. Types of property 'done' are incompatible. Type 'boolean' is not assignable to type 'false'. -builtinIterator.ts(60,3): error TS2416: Property 'next' in type 'BadIterator3' is not assignable to the same property in base type 'Iterator'. +builtinIterator.ts(60,3): error TS2416: Property 'next' in type 'BadIterator3' is not assignable to the same property in base type 'Iterator'. Type '() => { done: boolean; value: number; } | { done: boolean; value: string; }' is not assignable to type '(value?: unknown) => IteratorResult'. Type '{ done: boolean; value: number; } | { done: boolean; value: string; }' is not assignable to type 'IteratorResult'. Type '{ done: boolean; value: number; }' is not assignable to type 'IteratorResult'. @@ -84,13 +84,13 @@ builtinIterator.ts(73,35): error TS2322: Type 'Generator {} ~ -!!! error TS2515: Non-abstract class 'C' does not implement inherited abstract member next from class 'Iterator'. +!!! error TS2515: Non-abstract class 'C' does not implement inherited abstract member next from class 'Iterator'. // it's unfortunate that these are an error class BadIterator1 extends Iterator { next() { ~~~~ -!!! error TS2416: Property 'next' in type 'BadIterator1' is not assignable to the same property in base type 'Iterator'. +!!! error TS2416: Property 'next' in type 'BadIterator1' is not assignable to the same property in base type 'Iterator'. !!! error TS2416: Type '() => { readonly done: false; readonly value: 0; } | { readonly done: true; readonly value: "a string"; }' is not assignable to type '(value?: unknown) => IteratorResult'. !!! error TS2416: Type '{ readonly done: false; readonly value: 0; } | { readonly done: true; readonly value: "a string"; }' is not assignable to type 'IteratorResult'. !!! error TS2416: Type '{ readonly done: true; readonly value: "a string"; }' is not assignable to type 'IteratorResult'. @@ -108,7 +108,7 @@ builtinIterator.ts(73,35): error TS2322: Type 'Generator { next() { ~~~~ -!!! error TS2416: Property 'next' in type 'BadIterator2' is not assignable to the same property in base type 'Iterator'. +!!! error TS2416: Property 'next' in type 'BadIterator2' is not assignable to the same property in base type 'Iterator'. !!! error TS2416: Type '() => { done: boolean; value: number; }' is not assignable to type '(value?: unknown) => IteratorResult'. !!! error TS2416: Type '{ done: boolean; value: number; }' is not assignable to type 'IteratorResult'. !!! error TS2416: Type '{ done: boolean; value: number; }' is not assignable to type 'IteratorYieldResult'. @@ -121,7 +121,7 @@ builtinIterator.ts(73,35): error TS2322: Type 'Generator { next() { ~~~~ -!!! error TS2416: Property 'next' in type 'BadIterator3' is not assignable to the same property in base type 'Iterator'. +!!! error TS2416: Property 'next' in type 'BadIterator3' is not assignable to the same property in base type 'Iterator'. !!! error TS2416: Type '() => { done: boolean; value: number; } | { done: boolean; value: string; }' is not assignable to type '(value?: unknown) => IteratorResult'. !!! error TS2416: Type '{ done: boolean; value: number; } | { done: boolean; value: string; }' is not assignable to type 'IteratorResult'. !!! error TS2416: Type '{ done: boolean; value: number; }' is not assignable to type 'IteratorResult'. @@ -149,7 +149,7 @@ builtinIterator.ts(73,35): error TS2322: Type 'Generator; + declare const iter2: IteratorObject; const iter3 = iter2.flatMap(() => g1); ~~ !!! error TS2322: Type 'Generator' is not assignable to type 'Iterator | Iterable'. diff --git a/tests/baselines/reference/builtinIterator.js b/tests/baselines/reference/builtinIterator.js index 192d53b106b..a22b5baa673 100644 --- a/tests/baselines/reference/builtinIterator.js +++ b/tests/baselines/reference/builtinIterator.js @@ -72,7 +72,7 @@ class BadIterator3 extends Iterator { declare const g1: Generator; const iter1 = Iterator.from(g1); -declare const iter2: BuiltinIterator; +declare const iter2: IteratorObject; const iter3 = iter2.flatMap(() => g1); //// [builtinIterator.js] diff --git a/tests/baselines/reference/builtinIterator.symbols b/tests/baselines/reference/builtinIterator.symbols index 4c8795a5a1d..00c37ef1982 100644 --- a/tests/baselines/reference/builtinIterator.symbols +++ b/tests/baselines/reference/builtinIterator.symbols @@ -9,16 +9,16 @@ const iterator = Iterator.from([0, 1, 2]); const mapped = iterator.map(String); >mapped : Symbol(mapped, Decl(builtinIterator.ts, 2, 5)) ->iterator.map : Symbol(BuiltinIterator.map, Decl(lib.esnext.iterator.d.ts, --, --)) +>iterator.map : Symbol(IteratorObject.map, Decl(lib.esnext.iterator.d.ts, --, --)) >iterator : Symbol(iterator, Decl(builtinIterator.ts, 0, 5)) ->map : Symbol(BuiltinIterator.map, Decl(lib.esnext.iterator.d.ts, --, --)) +>map : Symbol(IteratorObject.map, Decl(lib.esnext.iterator.d.ts, --, --)) >String : Symbol(String, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.core.d.ts, --, --), Decl(lib.es2015.iterable.d.ts, --, --) ... and 7 more) const filtered = iterator.filter(x => x > 0); >filtered : Symbol(filtered, Decl(builtinIterator.ts, 4, 5)) ->iterator.filter : Symbol(BuiltinIterator.filter, Decl(lib.esnext.iterator.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) +>iterator.filter : Symbol(IteratorObject.filter, Decl(lib.esnext.iterator.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) >iterator : Symbol(iterator, Decl(builtinIterator.ts, 0, 5)) ->filter : Symbol(BuiltinIterator.filter, Decl(lib.esnext.iterator.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) +>filter : Symbol(IteratorObject.filter, Decl(lib.esnext.iterator.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) >x : Symbol(x, Decl(builtinIterator.ts, 4, 33)) >x : Symbol(x, Decl(builtinIterator.ts, 4, 33)) @@ -32,9 +32,9 @@ function isZero(x: number): x is 0 { } const zero = iterator.filter(isZero); >zero : Symbol(zero, Decl(builtinIterator.ts, 9, 5)) ->iterator.filter : Symbol(BuiltinIterator.filter, Decl(lib.esnext.iterator.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) +>iterator.filter : Symbol(IteratorObject.filter, Decl(lib.esnext.iterator.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) >iterator : Symbol(iterator, Decl(builtinIterator.ts, 0, 5)) ->filter : Symbol(BuiltinIterator.filter, Decl(lib.esnext.iterator.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) +>filter : Symbol(IteratorObject.filter, Decl(lib.esnext.iterator.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) >isZero : Symbol(isZero, Decl(builtinIterator.ts, 4, 45)) const iteratorFromBare = Iterator.from({ @@ -69,18 +69,18 @@ function* gen() { const mappedGen = gen().map(x => x === 0 ? "zero" : "other"); >mappedGen : Symbol(mappedGen, Decl(builtinIterator.ts, 25, 5)) ->gen().map : Symbol(BuiltinIterator.map, Decl(lib.esnext.iterator.d.ts, --, --)) +>gen().map : Symbol(IteratorObject.map, Decl(lib.esnext.iterator.d.ts, --, --)) >gen : Symbol(gen, Decl(builtinIterator.ts, 18, 3)) ->map : Symbol(BuiltinIterator.map, Decl(lib.esnext.iterator.d.ts, --, --)) +>map : Symbol(IteratorObject.map, Decl(lib.esnext.iterator.d.ts, --, --)) >x : Symbol(x, Decl(builtinIterator.ts, 25, 28)) >x : Symbol(x, Decl(builtinIterator.ts, 25, 28)) const mappedValues = [0, 1, 2].values().map(x => x === 0 ? "zero" : "other"); >mappedValues : Symbol(mappedValues, Decl(builtinIterator.ts, 27, 5)) ->[0, 1, 2].values().map : Symbol(BuiltinIterator.map, Decl(lib.esnext.iterator.d.ts, --, --)) +>[0, 1, 2].values().map : Symbol(IteratorObject.map, Decl(lib.esnext.iterator.d.ts, --, --)) >[0, 1, 2].values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) >values : Symbol(Array.values, Decl(lib.es2015.iterable.d.ts, --, --)) ->map : Symbol(BuiltinIterator.map, Decl(lib.esnext.iterator.d.ts, --, --)) +>map : Symbol(IteratorObject.map, Decl(lib.esnext.iterator.d.ts, --, --)) >x : Symbol(x, Decl(builtinIterator.ts, 27, 44)) >x : Symbol(x, Decl(builtinIterator.ts, 27, 44)) @@ -182,15 +182,14 @@ const iter1 = Iterator.from(g1); >from : Symbol(IteratorConstructor.from, Decl(lib.esnext.iterator.d.ts, --, --)) >g1 : Symbol(g1, Decl(builtinIterator.ts, 68, 13)) -declare const iter2: BuiltinIterator; +declare const iter2: IteratorObject; >iter2 : Symbol(iter2, Decl(builtinIterator.ts, 71, 13)) ->BuiltinIterator : Symbol(BuiltinIterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) ->BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) +>IteratorObject : Symbol(IteratorObject, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) const iter3 = iter2.flatMap(() => g1); >iter3 : Symbol(iter3, Decl(builtinIterator.ts, 72, 5)) ->iter2.flatMap : Symbol(BuiltinIterator.flatMap, Decl(lib.esnext.iterator.d.ts, --, --)) +>iter2.flatMap : Symbol(IteratorObject.flatMap, Decl(lib.esnext.iterator.d.ts, --, --)) >iter2 : Symbol(iter2, Decl(builtinIterator.ts, 71, 13)) ->flatMap : Symbol(BuiltinIterator.flatMap, Decl(lib.esnext.iterator.d.ts, --, --)) +>flatMap : Symbol(IteratorObject.flatMap, Decl(lib.esnext.iterator.d.ts, --, --)) >g1 : Symbol(g1, Decl(builtinIterator.ts, 68, 13)) diff --git a/tests/baselines/reference/builtinIterator.types b/tests/baselines/reference/builtinIterator.types index 7ee1560178e..75d934cddae 100644 --- a/tests/baselines/reference/builtinIterator.types +++ b/tests/baselines/reference/builtinIterator.types @@ -2,16 +2,16 @@ === builtinIterator.ts === const iterator = Iterator.from([0, 1, 2]); ->iterator : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Iterator.from([0, 1, 2]) : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Iterator.from : (value: Iterator | Iterable) => BuiltinIterator -> : ^ ^^ ^^ ^^^^^ +>iterator : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from([0, 1, 2]) : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from : (value: Iterator | Iterable) => IteratorObject +> : ^ ^^ ^^ ^^^^^ >Iterator : IteratorConstructor > : ^^^^^^^^^^^^^^^^^^^ ->from : (value: Iterator | Iterable) => BuiltinIterator -> : ^ ^^ ^^ ^^^^^ +>from : (value: Iterator | Iterable) => IteratorObject +> : ^ ^^ ^^ ^^^^^ >[0, 1, 2] : number[] > : ^^^^^^^^ >0 : 0 @@ -22,30 +22,30 @@ const iterator = Iterator.from([0, 1, 2]); > : ^ const mapped = iterator.map(String); ->mapped : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.map(String) : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.map : (callbackfn: (value: number, index: number) => U) => BuiltinIterator -> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map : (callbackfn: (value: number, index: number) => U) => BuiltinIterator -> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>mapped : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.map(String) : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.map : (callbackfn: (value: number, index: number) => U) => IteratorObject +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : (callbackfn: (value: number, index: number) => U) => IteratorObject +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >String : StringConstructor > : ^^^^^^^^^^^^^^^^^ const filtered = iterator.filter(x => x > 0); ->filtered : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.filter(x => x > 0) : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.filter : { (predicate: (value: number, index: number) => value is S): BuiltinIterator; (predicate: (value: number, index: number) => unknown): BuiltinIterator; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->filter : { (predicate: (value: number, index: number) => value is S): BuiltinIterator; (predicate: (value: number, index: number) => unknown): BuiltinIterator; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>filtered : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.filter(x => x > 0) : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.filter : { (predicate: (value: number, index: number) => value is S): IteratorObject; (predicate: (value: number, index: number) => unknown): IteratorObject; } +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>filter : { (predicate: (value: number, index: number) => value is S): IteratorObject; (predicate: (value: number, index: number) => unknown): IteratorObject; } +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x => x > 0 : (x: number) => boolean > : ^ ^^^^^^^^^^^^^^^^^^^^ >x : number @@ -72,30 +72,30 @@ function isZero(x: number): x is 0 { > : ^ } const zero = iterator.filter(isZero); ->zero : BuiltinIterator<0, undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.filter(isZero) : BuiltinIterator<0, undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator.filter : { (predicate: (value: number, index: number) => value is S): BuiltinIterator; (predicate: (value: number, index: number) => unknown): BuiltinIterator; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iterator : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->filter : { (predicate: (value: number, index: number) => value is S): BuiltinIterator; (predicate: (value: number, index: number) => unknown): BuiltinIterator; } -> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>zero : IteratorObject<0, undefined, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.filter(isZero) : IteratorObject<0, undefined, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator.filter : { (predicate: (value: number, index: number) => value is S): IteratorObject; (predicate: (value: number, index: number) => unknown): IteratorObject; } +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iterator : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>filter : { (predicate: (value: number, index: number) => value is S): IteratorObject; (predicate: (value: number, index: number) => unknown): IteratorObject; } +> : ^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >isZero : (x: number) => x is 0 > : ^ ^^ ^^^^^ const iteratorFromBare = Iterator.from({ ->iteratorFromBare : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Iterator.from({ next() { return { done: Math.random() < .5, value: "a string", }; },}) : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Iterator.from : (value: Iterator | Iterable) => BuiltinIterator -> : ^ ^^ ^^ ^^^^^ +>iteratorFromBare : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from({ next() { return { done: Math.random() < .5, value: "a string", }; },}) : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from : (value: Iterator | Iterable) => IteratorObject +> : ^ ^^ ^^ ^^^^^ >Iterator : IteratorConstructor > : ^^^^^^^^^^^^^^^^^^^ ->from : (value: Iterator | Iterable) => BuiltinIterator -> : ^ ^^ ^^ ^^^^^ +>from : (value: Iterator | Iterable) => IteratorObject +> : ^ ^^ ^^ ^^^^^ >{ next() { return { done: Math.random() < .5, value: "a string", }; },} : { next(): { done: boolean; value: string; }; } > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -146,18 +146,18 @@ function* gen() { } const mappedGen = gen().map(x => x === 0 ? "zero" : "other"); ->mappedGen : BuiltinIterator<"zero" | "other", undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->gen().map(x => x === 0 ? "zero" : "other") : BuiltinIterator<"zero" | "other", undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->gen().map : (callbackfn: (value: number, index: number) => U) => BuiltinIterator -> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>mappedGen : IteratorObject<"zero" | "other", undefined, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>gen().map(x => x === 0 ? "zero" : "other") : IteratorObject<"zero" | "other", undefined, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>gen().map : (callbackfn: (value: number, index: number) => U) => IteratorObject +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >gen() : Generator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >gen : () => Generator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map : (callbackfn: (value: number, index: number) => U) => BuiltinIterator -> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : (callbackfn: (value: number, index: number) => U) => IteratorObject +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x => x === 0 ? "zero" : "other" : (x: number) => "zero" | "other" > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -176,16 +176,16 @@ const mappedGen = gen().map(x => x === 0 ? "zero" : "other"); > : ^^^^^^^ const mappedValues = [0, 1, 2].values().map(x => x === 0 ? "zero" : "other"); ->mappedValues : BuiltinIterator<"zero" | "other", undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->[0, 1, 2].values().map(x => x === 0 ? "zero" : "other") : BuiltinIterator<"zero" | "other", undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->[0, 1, 2].values().map : (callbackfn: (value: number, index: number) => U) => BuiltinIterator -> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->[0, 1, 2].values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->[0, 1, 2].values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>mappedValues : IteratorObject<"zero" | "other", undefined, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[0, 1, 2].values().map(x => x === 0 ? "zero" : "other") : IteratorObject<"zero" | "other", undefined, unknown> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[0, 1, 2].values().map : (callbackfn: (value: number, index: number) => U) => IteratorObject +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[0, 1, 2].values() : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^ +>[0, 1, 2].values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[0, 1, 2] : number[] > : ^^^^^^^^ >0 : 0 @@ -194,10 +194,10 @@ const mappedValues = [0, 1, 2].values().map(x => x === 0 ? "zero" : "other"); > : ^ >2 : 2 > : ^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map : (callbackfn: (value: number, index: number) => U) => BuiltinIterator -> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map : (callbackfn: (value: number, index: number) => U) => IteratorObject +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x => x === 0 ? "zero" : "other" : (x: number) => "zero" | "other" > : ^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >x : number @@ -219,8 +219,8 @@ const mappedValues = [0, 1, 2].values().map(x => x === 0 ? "zero" : "other"); class GoodIterator extends Iterator { >GoodIterator : GoodIterator > : ^^^^^^^^^^^^ ->Iterator : Iterator -> : ^^^^^^^^^^^^^^^^ +>Iterator : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ next() { >next : () => { readonly done: false; readonly value: 0; } @@ -252,15 +252,15 @@ new Iterator(); class C extends Iterator {} >C : C > : ^ ->Iterator : Iterator -> : ^^^^^^^^^^^^^^^^ +>Iterator : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // it's unfortunate that these are an error class BadIterator1 extends Iterator { >BadIterator1 : BadIterator1 > : ^^^^^^^^^^^^ ->Iterator : Iterator -> : ^^^^^^^^^^^^^^^^ +>Iterator : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ next() { >next : () => { readonly done: false; readonly value: 0; } | { readonly done: true; readonly value: "a string"; } @@ -315,8 +315,8 @@ class BadIterator1 extends Iterator { class BadIterator2 extends Iterator { >BadIterator2 : BadIterator2 > : ^^^^^^^^^^^^ ->Iterator : Iterator -> : ^^^^^^^^^^^^^^^^ +>Iterator : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ next() { >next : () => { done: boolean; value: number; } @@ -339,8 +339,8 @@ class BadIterator2 extends Iterator { class BadIterator3 extends Iterator { >BadIterator3 : BadIterator3 > : ^^^^^^^^^^^^ ->Iterator : Iterator -> : ^^^^^^^^^^^^^^^^ +>Iterator : Iterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ next() { >next : () => { done: boolean; value: number; } | { done: boolean; value: string; } @@ -393,34 +393,34 @@ declare const g1: Generator; > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const iter1 = Iterator.from(g1); ->iter1 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Iterator.from(g1) : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->Iterator.from : (value: Iterator | Iterable) => BuiltinIterator -> : ^ ^^ ^^ ^^^^^ +>iter1 : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from(g1) : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>Iterator.from : (value: Iterator | Iterable) => IteratorObject +> : ^ ^^ ^^ ^^^^^ >Iterator : IteratorConstructor > : ^^^^^^^^^^^^^^^^^^^ ->from : (value: Iterator | Iterable) => BuiltinIterator -> : ^ ^^ ^^ ^^^^^ +>from : (value: Iterator | Iterable) => IteratorObject +> : ^ ^^ ^^ ^^^^^ >g1 : Generator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ -declare const iter2: BuiltinIterator; ->iter2 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +declare const iter2: IteratorObject; +>iter2 : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const iter3 = iter2.flatMap(() => g1); ->iter3 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iter2.flatMap(() => g1) : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iter2.flatMap : (callback: (value: string, index: number) => Iterator | Iterable) => BuiltinIterator -> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->iter2 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->flatMap : (callback: (value: string, index: number) => Iterator | Iterable) => BuiltinIterator -> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iter3 : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iter2.flatMap(() => g1) : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iter2.flatMap : (callback: (value: string, index: number) => Iterator | Iterable) => IteratorObject +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>iter2 : IteratorObject +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>flatMap : (callback: (value: string, index: number) => Iterator | Iterable) => IteratorObject +> : ^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >() => g1 : () => Generator > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >g1 : Generator diff --git a/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).types b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).types index 3ed79289266..8c2630930a4 100644 --- a/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).types +++ b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=false).types @@ -14,12 +14,12 @@ declare const set: Set; > : ^^^^^^^^^^^ const i0 = array[Symbol.iterator](); ->i0 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array[Symbol.iterator]() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array[Symbol.iterator] : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i0 : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^ +>array[Symbol.iterator]() : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^ +>array[Symbol.iterator] : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >array : number[] > : ^^^^^^^^ >Symbol.iterator : unique symbol @@ -30,40 +30,40 @@ const i0 = array[Symbol.iterator](); > : ^^^^^^^^^^^^^ const i1 = array.values(); ->i1 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i1 : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^ +>array.values() : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^ +>array.values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >array : number[] > : ^^^^^^^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ const i2 = array.keys(); ->i2 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.keys() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.keys : () => BuiltinIterator -> : ^^^^^^ +>i2 : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^ +>array.keys() : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^ +>array.keys : () => ArrayIterator +> : ^^^^^^ >array : number[] > : ^^^^^^^^ ->keys : () => BuiltinIterator -> : ^^^^^^ +>keys : () => ArrayIterator +> : ^^^^^^ const i3 = array.entries(); ->i3 : BuiltinIterator<[number, number], any, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.entries() : BuiltinIterator<[number, number], any, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.entries : () => BuiltinIterator<[number, number], any, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i3 : ArrayIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.entries() : ArrayIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.entries : () => ArrayIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >array : number[] > : ^^^^^^^^ ->entries : () => BuiltinIterator<[number, number], any, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>entries : () => ArrayIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ for (const x of array); >x : number @@ -72,12 +72,12 @@ for (const x of array); > : ^^^^^^^^ const i4 = map[Symbol.iterator](); ->i4 : BuiltinIterator<[string, number], any, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map[Symbol.iterator]() : BuiltinIterator<[string, number], any, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map[Symbol.iterator] : () => BuiltinIterator<[string, number], any, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i4 : MapIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map[Symbol.iterator]() : MapIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map[Symbol.iterator] : () => MapIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ >Symbol.iterator : unique symbol @@ -88,40 +88,40 @@ const i4 = map[Symbol.iterator](); > : ^^^^^^^^^^^^^ const i5 = map.values(); ->i5 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i5 : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>map.values() : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>map.values : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ const i6 = map.keys(); ->i6 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.keys() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i6 : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>map.keys() : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>map.keys : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ const i7 = map.entries(); ->i7 : BuiltinIterator<[string, number], any, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.entries() : BuiltinIterator<[string, number], any, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.entries : () => BuiltinIterator<[string, number], any, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i7 : MapIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.entries() : MapIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.entries : () => MapIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->entries : () => BuiltinIterator<[string, number], any, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>entries : () => MapIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ for (const x of map); >x : [string, number] @@ -130,12 +130,12 @@ for (const x of map); > : ^^^^^^^^^^^^^^^^^^^ const i8 = set[Symbol.iterator](); ->i8 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set[Symbol.iterator]() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set[Symbol.iterator] : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i8 : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>set[Symbol.iterator]() : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>set[Symbol.iterator] : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ >Symbol.iterator : unique symbol @@ -146,40 +146,40 @@ const i8 = set[Symbol.iterator](); > : ^^^^^^^^^^^^^ const i9 = set.values(); ->i9 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i9 : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>set.values() : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>set.values : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ const i10 = set.keys(); ->i10 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.keys() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i10 : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>set.keys() : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>set.keys : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ const i11 = set.entries(); ->i11 : BuiltinIterator<[number, number], any, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.entries() : BuiltinIterator<[number, number], any, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.entries : () => BuiltinIterator<[number, number], any, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i11 : SetIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.entries() : SetIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.entries : () => SetIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->entries : () => BuiltinIterator<[number, number], any, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>entries : () => SetIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ for (const x of set); >x : number diff --git a/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).types b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).types index 4a4d461d4a7..8c2630930a4 100644 --- a/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).types +++ b/tests/baselines/reference/builtinIteratorReturn(strictbuiltiniteratorreturn=true).types @@ -14,12 +14,12 @@ declare const set: Set; > : ^^^^^^^^^^^ const i0 = array[Symbol.iterator](); ->i0 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array[Symbol.iterator]() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array[Symbol.iterator] : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i0 : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^ +>array[Symbol.iterator]() : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^ +>array[Symbol.iterator] : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >array : number[] > : ^^^^^^^^ >Symbol.iterator : unique symbol @@ -30,40 +30,40 @@ const i0 = array[Symbol.iterator](); > : ^^^^^^^^^^^^^ const i1 = array.values(); ->i1 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i1 : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^ +>array.values() : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^ +>array.values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >array : number[] > : ^^^^^^^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ const i2 = array.keys(); ->i2 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.keys() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.keys : () => BuiltinIterator -> : ^^^^^^ +>i2 : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^ +>array.keys() : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^ +>array.keys : () => ArrayIterator +> : ^^^^^^ >array : number[] > : ^^^^^^^^ ->keys : () => BuiltinIterator -> : ^^^^^^ +>keys : () => ArrayIterator +> : ^^^^^^ const i3 = array.entries(); ->i3 : BuiltinIterator<[number, number], undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.entries() : BuiltinIterator<[number, number], undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->array.entries : () => BuiltinIterator<[number, number], undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i3 : ArrayIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.entries() : ArrayIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>array.entries : () => ArrayIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >array : number[] > : ^^^^^^^^ ->entries : () => BuiltinIterator<[number, number], undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>entries : () => ArrayIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ for (const x of array); >x : number @@ -72,12 +72,12 @@ for (const x of array); > : ^^^^^^^^ const i4 = map[Symbol.iterator](); ->i4 : BuiltinIterator<[string, number], undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map[Symbol.iterator]() : BuiltinIterator<[string, number], undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map[Symbol.iterator] : () => BuiltinIterator<[string, number], undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i4 : MapIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map[Symbol.iterator]() : MapIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map[Symbol.iterator] : () => MapIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ >Symbol.iterator : unique symbol @@ -88,40 +88,40 @@ const i4 = map[Symbol.iterator](); > : ^^^^^^^^^^^^^ const i5 = map.values(); ->i5 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i5 : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>map.values() : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>map.values : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ const i6 = map.keys(); ->i6 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.keys() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i6 : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>map.keys() : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>map.keys : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ const i7 = map.entries(); ->i7 : BuiltinIterator<[string, number], undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.entries() : BuiltinIterator<[string, number], undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.entries : () => BuiltinIterator<[string, number], undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i7 : MapIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.entries() : MapIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.entries : () => MapIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->entries : () => BuiltinIterator<[string, number], undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>entries : () => MapIterator<[string, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ for (const x of map); >x : [string, number] @@ -130,12 +130,12 @@ for (const x of map); > : ^^^^^^^^^^^^^^^^^^^ const i8 = set[Symbol.iterator](); ->i8 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set[Symbol.iterator]() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set[Symbol.iterator] : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i8 : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>set[Symbol.iterator]() : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>set[Symbol.iterator] : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ >Symbol.iterator : unique symbol @@ -146,40 +146,40 @@ const i8 = set[Symbol.iterator](); > : ^^^^^^^^^^^^^ const i9 = set.values(); ->i9 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i9 : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>set.values() : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>set.values : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ const i10 = set.keys(); ->i10 : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.keys() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i10 : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>set.keys() : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>set.keys : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ const i11 = set.entries(); ->i11 : BuiltinIterator<[number, number], undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.entries() : BuiltinIterator<[number, number], undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.entries : () => BuiltinIterator<[number, number], undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>i11 : SetIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.entries() : SetIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.entries : () => SetIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->entries : () => BuiltinIterator<[number, number], undefined, any> -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>entries : () => SetIterator<[number, number]> +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ for (const x of set); >x : number diff --git a/tests/baselines/reference/conditionalTypeDoesntSpinForever.types b/tests/baselines/reference/conditionalTypeDoesntSpinForever.types index 9d9489fd8dd..73fb1f2d6e1 100644 --- a/tests/baselines/reference/conditionalTypeDoesntSpinForever.types +++ b/tests/baselines/reference/conditionalTypeDoesntSpinForever.types @@ -1,8 +1,8 @@ //// [tests/cases/compiler/conditionalTypeDoesntSpinForever.ts] //// === Performance Stats === -Type Count: 1,000 -> 2,500 -Instantiation count: 5,000 +Type Count: 1,000 +Instantiation count: 2,500 -> 5,000 === conditionalTypeDoesntSpinForever.ts === // A *self-contained* demonstration of the problem follows... diff --git a/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types b/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types index 3a69a723a7b..eb6edb1fac6 100644 --- a/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types +++ b/tests/baselines/reference/destructuredLateBoundNameHasCorrectTypes.types @@ -8,16 +8,16 @@ let { [Symbol.iterator]: destructured } = []; > : ^^^^^^^^^^^^^^^^^ >iterator : unique symbol > : ^^^^^^^^^^^^^ ->destructured : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>destructured : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ void destructured; >void destructured : undefined > : ^^^^^^^^^ ->destructured : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>destructured : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const named = "prop"; >named : "prop" diff --git a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.types b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.types index dc92b10c489..21621981a4c 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.types +++ b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2015.types @@ -46,8 +46,8 @@ class C4 { > : ^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2018.types b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2018.types index 42a23acadf4..01da6be0850 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2018.types +++ b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es2018.types @@ -46,8 +46,8 @@ class C4 { > : ^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.types b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.types index 93ea693423f..b11c7c75fa4 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.types +++ b/tests/baselines/reference/emitter.asyncGenerators.classMethods.es5.types @@ -46,8 +46,8 @@ class C4 { > : ^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.types b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.types index d3f253300a5..d291bdc0cd0 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.types +++ b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2015.types @@ -27,8 +27,8 @@ async function * f3() { } === F4.ts === async function * f4() { ->f4 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f4 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2018.types b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2018.types index c9e8a861c14..f737ba595ef 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2018.types +++ b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es2018.types @@ -27,8 +27,8 @@ async function * f3() { } === F4.ts === async function * f4() { ->f4 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f4 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.types b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.types index e9f6d8a5c12..3489a92210c 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.types +++ b/tests/baselines/reference/emitter.asyncGenerators.functionDeclarations.es5.types @@ -27,8 +27,8 @@ async function * f3() { } === F4.ts === async function * f4() { ->f4 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f4 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.types b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.types index 385726d4ec8..b3d8d1525c9 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.types +++ b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2015.types @@ -33,10 +33,10 @@ const f3 = async function * () { } === F4.ts === const f4 = async function * () { ->f4 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { const x = yield* [1];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f4 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { const x = yield* [1];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2018.types b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2018.types index 074449e1ccf..05ff8b2df10 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2018.types +++ b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es2018.types @@ -33,10 +33,10 @@ const f3 = async function * () { } === F4.ts === const f4 = async function * () { ->f4 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { const x = yield* [1];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f4 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { const x = yield* [1];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.types b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.types index 0e2315bd1dd..ff2dc953caf 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.types +++ b/tests/baselines/reference/emitter.asyncGenerators.functionExpressions.es5.types @@ -33,10 +33,10 @@ const f3 = async function * () { } === F4.ts === const f4 = async function * () { ->f4 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { const x = yield* [1];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f4 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { const x = yield* [1];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.types b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.types index 58de2b68a6c..3aa61b810a2 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.types +++ b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2015.types @@ -48,14 +48,14 @@ const o3 = { } === O4.ts === const o4 = { ->o4 : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ async * f() { const x = yield* [1]; }} : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o4 : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ async * f() { const x = yield* [1]; }} : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2018.types b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2018.types index 024281295e4..91624582a4e 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2018.types +++ b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es2018.types @@ -48,14 +48,14 @@ const o3 = { } === O4.ts === const o4 = { ->o4 : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ async * f() { const x = yield* [1]; }} : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o4 : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ async * f() { const x = yield* [1]; }} : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.types b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.types index 6bb7ecf6240..3ffdf9a7456 100644 --- a/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.types +++ b/tests/baselines/reference/emitter.asyncGenerators.objectLiteralMethods.es5.types @@ -48,14 +48,14 @@ const o3 = { } === O4.ts === const o4 = { ->o4 : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ async * f() { const x = yield* [1]; }} : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o4 : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ async * f() { const x = yield* [1]; }} : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const x = yield* [1]; >x : any diff --git a/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types b/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types index a5fdfa43c94..b409385e2c4 100644 --- a/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types +++ b/tests/baselines/reference/esNextWeakRefs_IterableWeakMap.types @@ -2,7 +2,7 @@ === Performance Stats === Type Count: 1,000 -Instantiation count: 1,000 -> 2,500 +Instantiation count: 2,500 === esNextWeakRefs_IterableWeakMap.ts === /** `static #cleanup` */ diff --git a/tests/baselines/reference/excessiveStackDepthFlatArray.types b/tests/baselines/reference/excessiveStackDepthFlatArray.types index 60586093860..17365af09d8 100644 --- a/tests/baselines/reference/excessiveStackDepthFlatArray.types +++ b/tests/baselines/reference/excessiveStackDepthFlatArray.types @@ -1,7 +1,8 @@ //// [tests/cases/compiler/excessiveStackDepthFlatArray.ts] //// === Performance Stats === -Instantiation count: 1,000 -> 2,500 +Type Count: 1,000 +Instantiation count: 2,500 === index.tsx === interface MiddlewareArray extends Array {} diff --git a/tests/baselines/reference/flatArrayNoExcessiveStackDepth.types b/tests/baselines/reference/flatArrayNoExcessiveStackDepth.types index e4ec2fa695c..38636565617 100644 --- a/tests/baselines/reference/flatArrayNoExcessiveStackDepth.types +++ b/tests/baselines/reference/flatArrayNoExcessiveStackDepth.types @@ -1,8 +1,8 @@ //// [tests/cases/compiler/flatArrayNoExcessiveStackDepth.ts] //// === Performance Stats === -Type Count: 1,000 -Instantiation count: 2,500 +Type Count: 2,500 +Instantiation count: 5,000 === flatArrayNoExcessiveStackDepth.ts === // Repro from #43493 diff --git a/tests/baselines/reference/for-of12.types b/tests/baselines/reference/for-of12.types index 3bab8ba5859..0a803fbce71 100644 --- a/tests/baselines/reference/for-of12.types +++ b/tests/baselines/reference/for-of12.types @@ -8,16 +8,16 @@ var v: string; for (v of [0, ""].values()) { } >v : string > : ^^^^^^ ->[0, ""].values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->[0, ""].values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[0, ""].values() : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[0, ""].values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[0, ""] : (string | number)[] > : ^^^^^^^^^^^^^^^^^^^ >0 : 0 > : ^ >"" : "" > : ^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of13.types b/tests/baselines/reference/for-of13.types index 42aef034f74..1cb2638d64f 100644 --- a/tests/baselines/reference/for-of13.types +++ b/tests/baselines/reference/for-of13.types @@ -8,14 +8,14 @@ var v: string; for (v of [""].values()) { } >v : string > : ^^^^^^ ->[""].values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->[""].values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[""].values() : ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^ +>[""].values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[""] : string[] > : ^^^^^^^^ >"" : "" > : ^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of14.errors.txt b/tests/baselines/reference/for-of14.errors.txt index d6608338f57..4aa61b4a766 100644 --- a/tests/baselines/reference/for-of14.errors.txt +++ b/tests/baselines/reference/for-of14.errors.txt @@ -1,14 +1,14 @@ -for-of14.ts(8,11): error TS2488: Type 'StringIterator' must have a '[Symbol.iterator]()' method that returns an iterator. +for-of14.ts(8,11): error TS2488: Type 'MyStringIterator' must have a '[Symbol.iterator]()' method that returns an iterator. ==== for-of14.ts (1 errors) ==== - class StringIterator { + class MyStringIterator { next() { return ""; } } var v: string; - for (v of new StringIterator) { } // Should fail because the iterator is not iterable - ~~~~~~~~~~~~~~~~~~ -!!! error TS2488: Type 'StringIterator' must have a '[Symbol.iterator]()' method that returns an iterator. \ No newline at end of file + for (v of new MyStringIterator) { } // Should fail because the iterator is not iterable + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2488: Type 'MyStringIterator' must have a '[Symbol.iterator]()' method that returns an iterator. \ No newline at end of file diff --git a/tests/baselines/reference/for-of14.js b/tests/baselines/reference/for-of14.js index ee51477b121..92d9613bfe6 100644 --- a/tests/baselines/reference/for-of14.js +++ b/tests/baselines/reference/for-of14.js @@ -1,20 +1,20 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of14.ts] //// //// [for-of14.ts] -class StringIterator { +class MyStringIterator { next() { return ""; } } var v: string; -for (v of new StringIterator) { } // Should fail because the iterator is not iterable +for (v of new MyStringIterator) { } // Should fail because the iterator is not iterable //// [for-of14.js] -class StringIterator { +class MyStringIterator { next() { return ""; } } var v; -for (v of new StringIterator) { } // Should fail because the iterator is not iterable +for (v of new MyStringIterator) { } // Should fail because the iterator is not iterable diff --git a/tests/baselines/reference/for-of14.symbols b/tests/baselines/reference/for-of14.symbols index e38832fcce1..23b893e125c 100644 --- a/tests/baselines/reference/for-of14.symbols +++ b/tests/baselines/reference/for-of14.symbols @@ -1,11 +1,11 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of14.ts] //// === for-of14.ts === -class StringIterator { ->StringIterator : Symbol(StringIterator, Decl(for-of14.ts, 0, 0)) +class MyStringIterator { +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of14.ts, 0, 0)) next() { ->next : Symbol(StringIterator.next, Decl(for-of14.ts, 0, 22)) +>next : Symbol(MyStringIterator.next, Decl(for-of14.ts, 0, 24)) return ""; } @@ -14,7 +14,7 @@ class StringIterator { var v: string; >v : Symbol(v, Decl(for-of14.ts, 6, 3)) -for (v of new StringIterator) { } // Should fail because the iterator is not iterable +for (v of new MyStringIterator) { } // Should fail because the iterator is not iterable >v : Symbol(v, Decl(for-of14.ts, 6, 3)) ->StringIterator : Symbol(StringIterator, Decl(for-of14.ts, 0, 0)) +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of14.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of14.types b/tests/baselines/reference/for-of14.types index e72978e40db..60fb9f7fad6 100644 --- a/tests/baselines/reference/for-of14.types +++ b/tests/baselines/reference/for-of14.types @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of14.ts] //// === for-of14.ts === -class StringIterator { ->StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ +class MyStringIterator { +>MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ next() { >next : () => string @@ -19,11 +19,11 @@ var v: string; >v : string > : ^^^^^^ -for (v of new StringIterator) { } // Should fail because the iterator is not iterable +for (v of new MyStringIterator) { } // Should fail because the iterator is not iterable >v : string > : ^^^^^^ ->new StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ ->StringIterator : typeof StringIterator -> : ^^^^^^^^^^^^^^^^^^^^^ +>new MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ +>MyStringIterator : typeof MyStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of15.errors.txt b/tests/baselines/reference/for-of15.errors.txt index 301ee3da74b..37ee2d77dac 100644 --- a/tests/baselines/reference/for-of15.errors.txt +++ b/tests/baselines/reference/for-of15.errors.txt @@ -2,7 +2,7 @@ for-of15.ts(11,11): error TS2490: The type returned by the 'next()' method of an ==== for-of15.ts (1 errors) ==== - class StringIterator { + class MyStringIterator { next() { return ""; } @@ -12,6 +12,6 @@ for-of15.ts(11,11): error TS2490: The type returned by the 'next()' method of an } var v: string; - for (v of new StringIterator) { } // Should fail - ~~~~~~~~~~~~~~~~~~ + for (v of new MyStringIterator) { } // Should fail + ~~~~~~~~~~~~~~~~~~~~ !!! error TS2490: The type returned by the 'next()' method of an iterator must have a 'value' property. \ No newline at end of file diff --git a/tests/baselines/reference/for-of15.js b/tests/baselines/reference/for-of15.js index 519b7ba792e..3505ed87fe2 100644 --- a/tests/baselines/reference/for-of15.js +++ b/tests/baselines/reference/for-of15.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of15.ts] //// //// [for-of15.ts] -class StringIterator { +class MyStringIterator { next() { return ""; } @@ -11,10 +11,10 @@ class StringIterator { } var v: string; -for (v of new StringIterator) { } // Should fail +for (v of new MyStringIterator) { } // Should fail //// [for-of15.js] -class StringIterator { +class MyStringIterator { next() { return ""; } @@ -23,4 +23,4 @@ class StringIterator { } } var v; -for (v of new StringIterator) { } // Should fail +for (v of new MyStringIterator) { } // Should fail diff --git a/tests/baselines/reference/for-of15.symbols b/tests/baselines/reference/for-of15.symbols index 43c14cf824f..e4bf338a054 100644 --- a/tests/baselines/reference/for-of15.symbols +++ b/tests/baselines/reference/for-of15.symbols @@ -1,29 +1,29 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of15.ts] //// === for-of15.ts === -class StringIterator { ->StringIterator : Symbol(StringIterator, Decl(for-of15.ts, 0, 0)) +class MyStringIterator { +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of15.ts, 0, 0)) next() { ->next : Symbol(StringIterator.next, Decl(for-of15.ts, 0, 22)) +>next : Symbol(MyStringIterator.next, Decl(for-of15.ts, 0, 24)) return ""; } [Symbol.iterator]() { ->[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of15.ts, 3, 5)) +>[Symbol.iterator] : Symbol(MyStringIterator[Symbol.iterator], Decl(for-of15.ts, 3, 5)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; ->this : Symbol(StringIterator, Decl(for-of15.ts, 0, 0)) +>this : Symbol(MyStringIterator, Decl(for-of15.ts, 0, 0)) } } var v: string; >v : Symbol(v, Decl(for-of15.ts, 9, 3)) -for (v of new StringIterator) { } // Should fail +for (v of new MyStringIterator) { } // Should fail >v : Symbol(v, Decl(for-of15.ts, 9, 3)) ->StringIterator : Symbol(StringIterator, Decl(for-of15.ts, 0, 0)) +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of15.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of15.types b/tests/baselines/reference/for-of15.types index 9bd1335f79d..3eeabe29b5d 100644 --- a/tests/baselines/reference/for-of15.types +++ b/tests/baselines/reference/for-of15.types @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of15.ts] //// === for-of15.ts === -class StringIterator { ->StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ +class MyStringIterator { +>MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ next() { >next : () => string @@ -33,11 +33,11 @@ var v: string; >v : string > : ^^^^^^ -for (v of new StringIterator) { } // Should fail +for (v of new MyStringIterator) { } // Should fail >v : string > : ^^^^^^ ->new StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ ->StringIterator : typeof StringIterator -> : ^^^^^^^^^^^^^^^^^^^^^ +>new MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ +>MyStringIterator : typeof MyStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of16.errors.txt b/tests/baselines/reference/for-of16.errors.txt index 37b9b6d0550..0af867a2c66 100644 --- a/tests/baselines/reference/for-of16.errors.txt +++ b/tests/baselines/reference/for-of16.errors.txt @@ -1,21 +1,21 @@ -for-of16.ts(8,11): error TS2488: Type 'StringIterator' must have a '[Symbol.iterator]()' method that returns an iterator. -for-of16.ts(10,11): error TS2488: Type 'StringIterator' must have a '[Symbol.iterator]()' method that returns an iterator. +for-of16.ts(8,11): error TS2488: Type 'MyStringIterator' must have a '[Symbol.iterator]()' method that returns an iterator. +for-of16.ts(10,11): error TS2488: Type 'MyStringIterator' must have a '[Symbol.iterator]()' method that returns an iterator. ==== for-of16.ts (2 errors) ==== - class StringIterator { + class MyStringIterator { [Symbol.iterator]() { return this; } } var v: string; - for (v of new StringIterator) { } // Should fail - ~~~~~~~~~~~~~~~~~~ -!!! error TS2488: Type 'StringIterator' must have a '[Symbol.iterator]()' method that returns an iterator. + for (v of new MyStringIterator) { } // Should fail + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2488: Type 'MyStringIterator' must have a '[Symbol.iterator]()' method that returns an iterator. !!! related TS2489 for-of16.ts:8:11: An iterator must have a 'next()' method. - for (v of new StringIterator) { } // Should still fail (related errors should still be shown even though type is cached). - ~~~~~~~~~~~~~~~~~~ -!!! error TS2488: Type 'StringIterator' must have a '[Symbol.iterator]()' method that returns an iterator. + for (v of new MyStringIterator) { } // Should still fail (related errors should still be shown even though type is cached). + ~~~~~~~~~~~~~~~~~~~~ +!!! error TS2488: Type 'MyStringIterator' must have a '[Symbol.iterator]()' method that returns an iterator. !!! related TS2489 for-of16.ts:10:11: An iterator must have a 'next()' method. \ No newline at end of file diff --git a/tests/baselines/reference/for-of16.js b/tests/baselines/reference/for-of16.js index 64c7588b72e..cf7699af90a 100644 --- a/tests/baselines/reference/for-of16.js +++ b/tests/baselines/reference/for-of16.js @@ -1,23 +1,23 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of16.ts] //// //// [for-of16.ts] -class StringIterator { +class MyStringIterator { [Symbol.iterator]() { return this; } } var v: string; -for (v of new StringIterator) { } // Should fail +for (v of new MyStringIterator) { } // Should fail -for (v of new StringIterator) { } // Should still fail (related errors should still be shown even though type is cached). +for (v of new MyStringIterator) { } // Should still fail (related errors should still be shown even though type is cached). //// [for-of16.js] -class StringIterator { +class MyStringIterator { [Symbol.iterator]() { return this; } } var v; -for (v of new StringIterator) { } // Should fail -for (v of new StringIterator) { } // Should still fail (related errors should still be shown even though type is cached). +for (v of new MyStringIterator) { } // Should fail +for (v of new MyStringIterator) { } // Should still fail (related errors should still be shown even though type is cached). diff --git a/tests/baselines/reference/for-of16.symbols b/tests/baselines/reference/for-of16.symbols index 03a26d14353..bab17a526bd 100644 --- a/tests/baselines/reference/for-of16.symbols +++ b/tests/baselines/reference/for-of16.symbols @@ -1,28 +1,28 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of16.ts] //// === for-of16.ts === -class StringIterator { ->StringIterator : Symbol(StringIterator, Decl(for-of16.ts, 0, 0)) +class MyStringIterator { +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of16.ts, 0, 0)) [Symbol.iterator]() { ->[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of16.ts, 0, 22)) +>[Symbol.iterator] : Symbol(MyStringIterator[Symbol.iterator], Decl(for-of16.ts, 0, 24)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; ->this : Symbol(StringIterator, Decl(for-of16.ts, 0, 0)) +>this : Symbol(MyStringIterator, Decl(for-of16.ts, 0, 0)) } } var v: string; >v : Symbol(v, Decl(for-of16.ts, 6, 3)) -for (v of new StringIterator) { } // Should fail +for (v of new MyStringIterator) { } // Should fail >v : Symbol(v, Decl(for-of16.ts, 6, 3)) ->StringIterator : Symbol(StringIterator, Decl(for-of16.ts, 0, 0)) +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of16.ts, 0, 0)) -for (v of new StringIterator) { } // Should still fail (related errors should still be shown even though type is cached). +for (v of new MyStringIterator) { } // Should still fail (related errors should still be shown even though type is cached). >v : Symbol(v, Decl(for-of16.ts, 6, 3)) ->StringIterator : Symbol(StringIterator, Decl(for-of16.ts, 0, 0)) +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of16.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of16.types b/tests/baselines/reference/for-of16.types index 896c3513a2c..fb051c33116 100644 --- a/tests/baselines/reference/for-of16.types +++ b/tests/baselines/reference/for-of16.types @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of16.ts] //// === for-of16.ts === -class StringIterator { ->StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ +class MyStringIterator { +>MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ [Symbol.iterator]() { >[Symbol.iterator] : () => this @@ -25,19 +25,19 @@ var v: string; >v : string > : ^^^^^^ -for (v of new StringIterator) { } // Should fail +for (v of new MyStringIterator) { } // Should fail >v : string > : ^^^^^^ ->new StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ ->StringIterator : typeof StringIterator -> : ^^^^^^^^^^^^^^^^^^^^^ +>new MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ +>MyStringIterator : typeof MyStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^ -for (v of new StringIterator) { } // Should still fail (related errors should still be shown even though type is cached). +for (v of new MyStringIterator) { } // Should still fail (related errors should still be shown even though type is cached). >v : string > : ^^^^^^ ->new StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ ->StringIterator : typeof StringIterator -> : ^^^^^^^^^^^^^^^^^^^^^ +>new MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ +>MyStringIterator : typeof MyStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of18.js b/tests/baselines/reference/for-of18.js index a0673561e88..c81fa6a0bc4 100644 --- a/tests/baselines/reference/for-of18.js +++ b/tests/baselines/reference/for-of18.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of18.ts] //// //// [for-of18.ts] -class StringIterator { +class MyStringIterator { next() { return { value: "", @@ -14,10 +14,10 @@ class StringIterator { } var v: string; -for (v of new StringIterator) { } // Should succeed +for (v of new MyStringIterator) { } // Should succeed //// [for-of18.js] -class StringIterator { +class MyStringIterator { next() { return { value: "", @@ -29,4 +29,4 @@ class StringIterator { } } var v; -for (v of new StringIterator) { } // Should succeed +for (v of new MyStringIterator) { } // Should succeed diff --git a/tests/baselines/reference/for-of18.symbols b/tests/baselines/reference/for-of18.symbols index 8bbbb40c329..032604bfe01 100644 --- a/tests/baselines/reference/for-of18.symbols +++ b/tests/baselines/reference/for-of18.symbols @@ -1,11 +1,11 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of18.ts] //// === for-of18.ts === -class StringIterator { ->StringIterator : Symbol(StringIterator, Decl(for-of18.ts, 0, 0)) +class MyStringIterator { +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of18.ts, 0, 0)) next() { ->next : Symbol(StringIterator.next, Decl(for-of18.ts, 0, 22)) +>next : Symbol(MyStringIterator.next, Decl(for-of18.ts, 0, 24)) return { value: "", @@ -17,20 +17,20 @@ class StringIterator { }; } [Symbol.iterator]() { ->[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of18.ts, 6, 5)) +>[Symbol.iterator] : Symbol(MyStringIterator[Symbol.iterator], Decl(for-of18.ts, 6, 5)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; ->this : Symbol(StringIterator, Decl(for-of18.ts, 0, 0)) +>this : Symbol(MyStringIterator, Decl(for-of18.ts, 0, 0)) } } var v: string; >v : Symbol(v, Decl(for-of18.ts, 12, 3)) -for (v of new StringIterator) { } // Should succeed +for (v of new MyStringIterator) { } // Should succeed >v : Symbol(v, Decl(for-of18.ts, 12, 3)) ->StringIterator : Symbol(StringIterator, Decl(for-of18.ts, 0, 0)) +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of18.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of18.types b/tests/baselines/reference/for-of18.types index 34a7e20a954..0ac03cf3e9e 100644 --- a/tests/baselines/reference/for-of18.types +++ b/tests/baselines/reference/for-of18.types @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of18.ts] //// === for-of18.ts === -class StringIterator { ->StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ +class MyStringIterator { +>MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ next() { >next : () => { value: string; done: boolean; } @@ -47,11 +47,11 @@ var v: string; >v : string > : ^^^^^^ -for (v of new StringIterator) { } // Should succeed +for (v of new MyStringIterator) { } // Should succeed >v : string > : ^^^^^^ ->new StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ ->StringIterator : typeof StringIterator -> : ^^^^^^^^^^^^^^^^^^^^^ +>new MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ +>MyStringIterator : typeof MyStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of25.js b/tests/baselines/reference/for-of25.js index 66111df6394..bac7342af97 100644 --- a/tests/baselines/reference/for-of25.js +++ b/tests/baselines/reference/for-of25.js @@ -1,20 +1,20 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of25.ts] //// //// [for-of25.ts] -class StringIterator { +class MyStringIterator { [Symbol.iterator]() { return x; } } var x: any; -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } //// [for-of25.js] -class StringIterator { +class MyStringIterator { [Symbol.iterator]() { return x; } } var x; -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } diff --git a/tests/baselines/reference/for-of25.symbols b/tests/baselines/reference/for-of25.symbols index fdb51126c89..86a223aa335 100644 --- a/tests/baselines/reference/for-of25.symbols +++ b/tests/baselines/reference/for-of25.symbols @@ -1,11 +1,11 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of25.ts] //// === for-of25.ts === -class StringIterator { ->StringIterator : Symbol(StringIterator, Decl(for-of25.ts, 0, 0)) +class MyStringIterator { +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of25.ts, 0, 0)) [Symbol.iterator]() { ->[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of25.ts, 0, 22)) +>[Symbol.iterator] : Symbol(MyStringIterator[Symbol.iterator], Decl(for-of25.ts, 0, 24)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) @@ -18,7 +18,7 @@ class StringIterator { var x: any; >x : Symbol(x, Decl(for-of25.ts, 6, 3)) -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : Symbol(v, Decl(for-of25.ts, 7, 8)) ->StringIterator : Symbol(StringIterator, Decl(for-of25.ts, 0, 0)) +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of25.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of25.types b/tests/baselines/reference/for-of25.types index 5d3aaaeb2cf..3ad54a1aea1 100644 --- a/tests/baselines/reference/for-of25.types +++ b/tests/baselines/reference/for-of25.types @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of25.ts] //// === for-of25.ts === -class StringIterator { ->StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ +class MyStringIterator { +>MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ [Symbol.iterator]() { >[Symbol.iterator] : () => any @@ -23,10 +23,10 @@ class StringIterator { var x: any; >x : any -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : any ->new StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ ->StringIterator : typeof StringIterator -> : ^^^^^^^^^^^^^^^^^^^^^ +>new MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ +>MyStringIterator : typeof MyStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of26.js b/tests/baselines/reference/for-of26.js index 23a51ad7d8a..133ad856d25 100644 --- a/tests/baselines/reference/for-of26.js +++ b/tests/baselines/reference/for-of26.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of26.ts] //// //// [for-of26.ts] -class StringIterator { +class MyStringIterator { next() { return x; } @@ -11,10 +11,10 @@ class StringIterator { } var x: any; -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } //// [for-of26.js] -class StringIterator { +class MyStringIterator { next() { return x; } @@ -23,4 +23,4 @@ class StringIterator { } } var x; -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } diff --git a/tests/baselines/reference/for-of26.symbols b/tests/baselines/reference/for-of26.symbols index a5170241f42..a5b90df679a 100644 --- a/tests/baselines/reference/for-of26.symbols +++ b/tests/baselines/reference/for-of26.symbols @@ -1,30 +1,30 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of26.ts] //// === for-of26.ts === -class StringIterator { ->StringIterator : Symbol(StringIterator, Decl(for-of26.ts, 0, 0)) +class MyStringIterator { +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of26.ts, 0, 0)) next() { ->next : Symbol(StringIterator.next, Decl(for-of26.ts, 0, 22)) +>next : Symbol(MyStringIterator.next, Decl(for-of26.ts, 0, 24)) return x; >x : Symbol(x, Decl(for-of26.ts, 9, 3)) } [Symbol.iterator]() { ->[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of26.ts, 3, 5)) +>[Symbol.iterator] : Symbol(MyStringIterator[Symbol.iterator], Decl(for-of26.ts, 3, 5)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; ->this : Symbol(StringIterator, Decl(for-of26.ts, 0, 0)) +>this : Symbol(MyStringIterator, Decl(for-of26.ts, 0, 0)) } } var x: any; >x : Symbol(x, Decl(for-of26.ts, 9, 3)) -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : Symbol(v, Decl(for-of26.ts, 10, 8)) ->StringIterator : Symbol(StringIterator, Decl(for-of26.ts, 0, 0)) +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of26.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of26.types b/tests/baselines/reference/for-of26.types index d324690555c..404fe9d3738 100644 --- a/tests/baselines/reference/for-of26.types +++ b/tests/baselines/reference/for-of26.types @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of26.ts] //// === for-of26.ts === -class StringIterator { ->StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ +class MyStringIterator { +>MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ next() { >next : () => any @@ -31,10 +31,10 @@ class StringIterator { var x: any; >x : any -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : any ->new StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ ->StringIterator : typeof StringIterator -> : ^^^^^^^^^^^^^^^^^^^^^ +>new MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ +>MyStringIterator : typeof MyStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of27.js b/tests/baselines/reference/for-of27.js index e8e71a9513b..eaa09a06b72 100644 --- a/tests/baselines/reference/for-of27.js +++ b/tests/baselines/reference/for-of27.js @@ -1,14 +1,14 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of27.ts] //// //// [for-of27.ts] -class StringIterator { +class MyStringIterator { [Symbol.iterator]: any; } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } //// [for-of27.js] -class StringIterator { +class MyStringIterator { } Symbol.iterator; -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } diff --git a/tests/baselines/reference/for-of27.symbols b/tests/baselines/reference/for-of27.symbols index 62f6b6a7069..a3d03b9f5a8 100644 --- a/tests/baselines/reference/for-of27.symbols +++ b/tests/baselines/reference/for-of27.symbols @@ -1,17 +1,17 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of27.ts] //// === for-of27.ts === -class StringIterator { ->StringIterator : Symbol(StringIterator, Decl(for-of27.ts, 0, 0)) +class MyStringIterator { +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of27.ts, 0, 0)) [Symbol.iterator]: any; ->[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of27.ts, 0, 22)) +>[Symbol.iterator] : Symbol(MyStringIterator[Symbol.iterator], Decl(for-of27.ts, 0, 24)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : Symbol(v, Decl(for-of27.ts, 4, 8)) ->StringIterator : Symbol(StringIterator, Decl(for-of27.ts, 0, 0)) +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of27.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of27.types b/tests/baselines/reference/for-of27.types index 9968893ec59..c783168764d 100644 --- a/tests/baselines/reference/for-of27.types +++ b/tests/baselines/reference/for-of27.types @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of27.ts] //// === for-of27.ts === -class StringIterator { ->StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ +class MyStringIterator { +>MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ [Symbol.iterator]: any; >[Symbol.iterator] : any @@ -15,10 +15,10 @@ class StringIterator { > : ^^^^^^^^^^^^^ } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : any ->new StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ ->StringIterator : typeof StringIterator -> : ^^^^^^^^^^^^^^^^^^^^^ +>new MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ +>MyStringIterator : typeof MyStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of28.js b/tests/baselines/reference/for-of28.js index bddd76685c3..a144ef9260d 100644 --- a/tests/baselines/reference/for-of28.js +++ b/tests/baselines/reference/for-of28.js @@ -1,19 +1,19 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of28.ts] //// //// [for-of28.ts] -class StringIterator { +class MyStringIterator { next: any; [Symbol.iterator]() { return this; } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } //// [for-of28.js] -class StringIterator { +class MyStringIterator { [Symbol.iterator]() { return this; } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } diff --git a/tests/baselines/reference/for-of28.symbols b/tests/baselines/reference/for-of28.symbols index 39b1997ddb6..d7d95b3491a 100644 --- a/tests/baselines/reference/for-of28.symbols +++ b/tests/baselines/reference/for-of28.symbols @@ -1,24 +1,24 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of28.ts] //// === for-of28.ts === -class StringIterator { ->StringIterator : Symbol(StringIterator, Decl(for-of28.ts, 0, 0)) +class MyStringIterator { +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of28.ts, 0, 0)) next: any; ->next : Symbol(StringIterator.next, Decl(for-of28.ts, 0, 22)) +>next : Symbol(MyStringIterator.next, Decl(for-of28.ts, 0, 24)) [Symbol.iterator]() { ->[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of28.ts, 1, 14)) +>[Symbol.iterator] : Symbol(MyStringIterator[Symbol.iterator], Decl(for-of28.ts, 1, 14)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; ->this : Symbol(StringIterator, Decl(for-of28.ts, 0, 0)) +>this : Symbol(MyStringIterator, Decl(for-of28.ts, 0, 0)) } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : Symbol(v, Decl(for-of28.ts, 7, 8)) ->StringIterator : Symbol(StringIterator, Decl(for-of28.ts, 0, 0)) +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of28.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of28.types b/tests/baselines/reference/for-of28.types index ba5d79822df..c6d9d8ab16b 100644 --- a/tests/baselines/reference/for-of28.types +++ b/tests/baselines/reference/for-of28.types @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of28.ts] //// === for-of28.ts === -class StringIterator { ->StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ +class MyStringIterator { +>MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ next: any; >next : any @@ -24,10 +24,10 @@ class StringIterator { } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : any ->new StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ ->StringIterator : typeof StringIterator -> : ^^^^^^^^^^^^^^^^^^^^^ +>new MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ +>MyStringIterator : typeof MyStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of30.errors.txt b/tests/baselines/reference/for-of30.errors.txt index c577b8c11a7..e4d06358865 100644 --- a/tests/baselines/reference/for-of30.errors.txt +++ b/tests/baselines/reference/for-of30.errors.txt @@ -2,7 +2,7 @@ for-of30.ts(16,15): error TS2767: The 'return' property of an iterator must be a ==== for-of30.ts (1 errors) ==== - class StringIterator { + class MyStringIterator { next() { return { done: false, @@ -17,6 +17,6 @@ for-of30.ts(16,15): error TS2767: The 'return' property of an iterator must be a } } - for (var v of new StringIterator) { } - ~~~~~~~~~~~~~~~~~~ + for (var v of new MyStringIterator) { } + ~~~~~~~~~~~~~~~~~~~~ !!! error TS2767: The 'return' property of an iterator must be a method. \ No newline at end of file diff --git a/tests/baselines/reference/for-of30.js b/tests/baselines/reference/for-of30.js index b964ab44e27..cb7a096a5a6 100644 --- a/tests/baselines/reference/for-of30.js +++ b/tests/baselines/reference/for-of30.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of30.ts] //// //// [for-of30.ts] -class StringIterator { +class MyStringIterator { next() { return { done: false, @@ -16,10 +16,10 @@ class StringIterator { } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } //// [for-of30.js] -class StringIterator { +class MyStringIterator { constructor() { this.return = 0; } @@ -33,4 +33,4 @@ class StringIterator { return this; } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } diff --git a/tests/baselines/reference/for-of30.symbols b/tests/baselines/reference/for-of30.symbols index 39ec1bffa0e..d6f57f3e9dc 100644 --- a/tests/baselines/reference/for-of30.symbols +++ b/tests/baselines/reference/for-of30.symbols @@ -1,11 +1,11 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of30.ts] //// === for-of30.ts === -class StringIterator { ->StringIterator : Symbol(StringIterator, Decl(for-of30.ts, 0, 0)) +class MyStringIterator { +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of30.ts, 0, 0)) next() { ->next : Symbol(StringIterator.next, Decl(for-of30.ts, 0, 22)) +>next : Symbol(MyStringIterator.next, Decl(for-of30.ts, 0, 24)) return { done: false, @@ -17,20 +17,20 @@ class StringIterator { } return = 0; ->return : Symbol(StringIterator.return, Decl(for-of30.ts, 6, 5)) +>return : Symbol(MyStringIterator.return, Decl(for-of30.ts, 6, 5)) [Symbol.iterator]() { ->[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of30.ts, 8, 15)) +>[Symbol.iterator] : Symbol(MyStringIterator[Symbol.iterator], Decl(for-of30.ts, 8, 15)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; ->this : Symbol(StringIterator, Decl(for-of30.ts, 0, 0)) +>this : Symbol(MyStringIterator, Decl(for-of30.ts, 0, 0)) } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : Symbol(v, Decl(for-of30.ts, 15, 8)) ->StringIterator : Symbol(StringIterator, Decl(for-of30.ts, 0, 0)) +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of30.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of30.types b/tests/baselines/reference/for-of30.types index e7e10b3ad16..3b05a65c387 100644 --- a/tests/baselines/reference/for-of30.types +++ b/tests/baselines/reference/for-of30.types @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of30.ts] //// === for-of30.ts === -class StringIterator { ->StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ +class MyStringIterator { +>MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ next() { >next : () => { done: boolean; value: string; } @@ -49,11 +49,11 @@ class StringIterator { } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : string > : ^^^^^^ ->new StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ ->StringIterator : typeof StringIterator -> : ^^^^^^^^^^^^^^^^^^^^^ +>new MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ +>MyStringIterator : typeof MyStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of31.js b/tests/baselines/reference/for-of31.js index 8459c4c7c82..76395f27324 100644 --- a/tests/baselines/reference/for-of31.js +++ b/tests/baselines/reference/for-of31.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of31.ts] //// //// [for-of31.ts] -class StringIterator { +class MyStringIterator { next() { return { // no done property @@ -14,10 +14,10 @@ class StringIterator { } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } //// [for-of31.js] -class StringIterator { +class MyStringIterator { next() { return { // no done property @@ -28,4 +28,4 @@ class StringIterator { return this; } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } diff --git a/tests/baselines/reference/for-of31.symbols b/tests/baselines/reference/for-of31.symbols index 010e2c4f50c..71f3b5773ca 100644 --- a/tests/baselines/reference/for-of31.symbols +++ b/tests/baselines/reference/for-of31.symbols @@ -1,11 +1,11 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of31.ts] //// === for-of31.ts === -class StringIterator { ->StringIterator : Symbol(StringIterator, Decl(for-of31.ts, 0, 0)) +class MyStringIterator { +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of31.ts, 0, 0)) next() { ->next : Symbol(StringIterator.next, Decl(for-of31.ts, 0, 22)) +>next : Symbol(MyStringIterator.next, Decl(for-of31.ts, 0, 24)) return { // no done property @@ -15,17 +15,17 @@ class StringIterator { } [Symbol.iterator]() { ->[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of31.ts, 6, 5)) +>[Symbol.iterator] : Symbol(MyStringIterator[Symbol.iterator], Decl(for-of31.ts, 6, 5)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; ->this : Symbol(StringIterator, Decl(for-of31.ts, 0, 0)) +>this : Symbol(MyStringIterator, Decl(for-of31.ts, 0, 0)) } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : Symbol(v, Decl(for-of31.ts, 13, 8)) ->StringIterator : Symbol(StringIterator, Decl(for-of31.ts, 0, 0)) +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of31.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of31.types b/tests/baselines/reference/for-of31.types index 4b706a0eb06..79cf5a3748f 100644 --- a/tests/baselines/reference/for-of31.types +++ b/tests/baselines/reference/for-of31.types @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of31.ts] //// === for-of31.ts === -class StringIterator { ->StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ +class MyStringIterator { +>MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ next() { >next : () => { value: string; } @@ -38,11 +38,11 @@ class StringIterator { } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : string > : ^^^^^^ ->new StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ ->StringIterator : typeof StringIterator -> : ^^^^^^^^^^^^^^^^^^^^^ +>new MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ +>MyStringIterator : typeof MyStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of33.errors.txt b/tests/baselines/reference/for-of33.errors.txt index 3937f05d073..2549e78d9c7 100644 --- a/tests/baselines/reference/for-of33.errors.txt +++ b/tests/baselines/reference/for-of33.errors.txt @@ -3,7 +3,7 @@ for-of33.ts(7,10): error TS7022: 'v' implicitly has type 'any' because it does n ==== for-of33.ts (2 errors) ==== - class StringIterator { + class MyStringIterator { [Symbol.iterator]() { ~~~~~~~~~~~~~~~~~ !!! error TS7023: '[Symbol.iterator]' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions. @@ -11,6 +11,6 @@ for-of33.ts(7,10): error TS7022: 'v' implicitly has type 'any' because it does n } } - for (var v of new StringIterator) { } + for (var v of new MyStringIterator) { } ~ !!! error TS7022: 'v' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. \ No newline at end of file diff --git a/tests/baselines/reference/for-of33.js b/tests/baselines/reference/for-of33.js index ae019516d14..5018026b965 100644 --- a/tests/baselines/reference/for-of33.js +++ b/tests/baselines/reference/for-of33.js @@ -1,18 +1,18 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of33.ts] //// //// [for-of33.ts] -class StringIterator { +class MyStringIterator { [Symbol.iterator]() { return v; } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } //// [for-of33.js] -class StringIterator { +class MyStringIterator { [Symbol.iterator]() { return v; } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } diff --git a/tests/baselines/reference/for-of33.symbols b/tests/baselines/reference/for-of33.symbols index ece2b2d06e6..89becb49083 100644 --- a/tests/baselines/reference/for-of33.symbols +++ b/tests/baselines/reference/for-of33.symbols @@ -1,11 +1,11 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of33.ts] //// === for-of33.ts === -class StringIterator { ->StringIterator : Symbol(StringIterator, Decl(for-of33.ts, 0, 0)) +class MyStringIterator { +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of33.ts, 0, 0)) [Symbol.iterator]() { ->[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of33.ts, 0, 22)) +>[Symbol.iterator] : Symbol(MyStringIterator[Symbol.iterator], Decl(for-of33.ts, 0, 24)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) @@ -15,7 +15,7 @@ class StringIterator { } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : Symbol(v, Decl(for-of33.ts, 6, 8)) ->StringIterator : Symbol(StringIterator, Decl(for-of33.ts, 0, 0)) +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of33.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of33.types b/tests/baselines/reference/for-of33.types index ea1266df15e..c493ce3deab 100644 --- a/tests/baselines/reference/for-of33.types +++ b/tests/baselines/reference/for-of33.types @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of33.ts] //// === for-of33.ts === -class StringIterator { ->StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ +class MyStringIterator { +>MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ [Symbol.iterator]() { >[Symbol.iterator] : () => any @@ -21,11 +21,11 @@ class StringIterator { } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : any > : ^^^ ->new StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ ->StringIterator : typeof StringIterator -> : ^^^^^^^^^^^^^^^^^^^^^ +>new MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ +>MyStringIterator : typeof MyStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of34.errors.txt b/tests/baselines/reference/for-of34.errors.txt index 8517429bc65..f2540a15590 100644 --- a/tests/baselines/reference/for-of34.errors.txt +++ b/tests/baselines/reference/for-of34.errors.txt @@ -3,7 +3,7 @@ for-of34.ts(11,10): error TS7022: 'v' implicitly has type 'any' because it does ==== for-of34.ts (2 errors) ==== - class StringIterator { + class MyStringIterator { next() { ~~~~ !!! error TS7023: 'next' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions. @@ -15,6 +15,6 @@ for-of34.ts(11,10): error TS7022: 'v' implicitly has type 'any' because it does } } - for (var v of new StringIterator) { } + for (var v of new MyStringIterator) { } ~ !!! error TS7022: 'v' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. \ No newline at end of file diff --git a/tests/baselines/reference/for-of34.js b/tests/baselines/reference/for-of34.js index d583893db5a..bb674e84e1c 100644 --- a/tests/baselines/reference/for-of34.js +++ b/tests/baselines/reference/for-of34.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of34.ts] //// //// [for-of34.ts] -class StringIterator { +class MyStringIterator { next() { return v; } @@ -11,10 +11,10 @@ class StringIterator { } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } //// [for-of34.js] -class StringIterator { +class MyStringIterator { next() { return v; } @@ -22,4 +22,4 @@ class StringIterator { return this; } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } diff --git a/tests/baselines/reference/for-of34.symbols b/tests/baselines/reference/for-of34.symbols index 5f0f856fc91..d00c6bf2656 100644 --- a/tests/baselines/reference/for-of34.symbols +++ b/tests/baselines/reference/for-of34.symbols @@ -1,28 +1,28 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of34.ts] //// === for-of34.ts === -class StringIterator { ->StringIterator : Symbol(StringIterator, Decl(for-of34.ts, 0, 0)) +class MyStringIterator { +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of34.ts, 0, 0)) next() { ->next : Symbol(StringIterator.next, Decl(for-of34.ts, 0, 22)) +>next : Symbol(MyStringIterator.next, Decl(for-of34.ts, 0, 24)) return v; >v : Symbol(v, Decl(for-of34.ts, 10, 8)) } [Symbol.iterator]() { ->[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of34.ts, 3, 5)) +>[Symbol.iterator] : Symbol(MyStringIterator[Symbol.iterator], Decl(for-of34.ts, 3, 5)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; ->this : Symbol(StringIterator, Decl(for-of34.ts, 0, 0)) +>this : Symbol(MyStringIterator, Decl(for-of34.ts, 0, 0)) } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : Symbol(v, Decl(for-of34.ts, 10, 8)) ->StringIterator : Symbol(StringIterator, Decl(for-of34.ts, 0, 0)) +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of34.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of34.types b/tests/baselines/reference/for-of34.types index ec160d27924..7cd4841204c 100644 --- a/tests/baselines/reference/for-of34.types +++ b/tests/baselines/reference/for-of34.types @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of34.ts] //// === for-of34.ts === -class StringIterator { ->StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ +class MyStringIterator { +>MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ next() { >next : () => any @@ -30,11 +30,11 @@ class StringIterator { } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : any > : ^^^ ->new StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ ->StringIterator : typeof StringIterator -> : ^^^^^^^^^^^^^^^^^^^^^ +>new MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ +>MyStringIterator : typeof MyStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/for-of35.errors.txt b/tests/baselines/reference/for-of35.errors.txt index 19ec2cac8b2..52b8e6d498e 100644 --- a/tests/baselines/reference/for-of35.errors.txt +++ b/tests/baselines/reference/for-of35.errors.txt @@ -3,7 +3,7 @@ for-of35.ts(14,10): error TS7022: 'v' implicitly has type 'any' because it does ==== for-of35.ts (2 errors) ==== - class StringIterator { + class MyStringIterator { next() { ~~~~ !!! error TS7023: 'next' implicitly has return type 'any' because it does not have a return type annotation and is referenced directly or indirectly in one of its return expressions. @@ -18,6 +18,6 @@ for-of35.ts(14,10): error TS7022: 'v' implicitly has type 'any' because it does } } - for (var v of new StringIterator) { } + for (var v of new MyStringIterator) { } ~ !!! error TS7022: 'v' implicitly has type 'any' because it does not have a type annotation and is referenced directly or indirectly in its own initializer. \ No newline at end of file diff --git a/tests/baselines/reference/for-of35.js b/tests/baselines/reference/for-of35.js index d4b803a929e..66b4d298db0 100644 --- a/tests/baselines/reference/for-of35.js +++ b/tests/baselines/reference/for-of35.js @@ -1,7 +1,7 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of35.ts] //// //// [for-of35.ts] -class StringIterator { +class MyStringIterator { next() { return { done: true, @@ -14,10 +14,10 @@ class StringIterator { } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } //// [for-of35.js] -class StringIterator { +class MyStringIterator { next() { return { done: true, @@ -28,4 +28,4 @@ class StringIterator { return this; } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } diff --git a/tests/baselines/reference/for-of35.symbols b/tests/baselines/reference/for-of35.symbols index dd35d74df28..4f8aa152e01 100644 --- a/tests/baselines/reference/for-of35.symbols +++ b/tests/baselines/reference/for-of35.symbols @@ -1,11 +1,11 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of35.ts] //// === for-of35.ts === -class StringIterator { ->StringIterator : Symbol(StringIterator, Decl(for-of35.ts, 0, 0)) +class MyStringIterator { +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of35.ts, 0, 0)) next() { ->next : Symbol(StringIterator.next, Decl(for-of35.ts, 0, 22)) +>next : Symbol(MyStringIterator.next, Decl(for-of35.ts, 0, 24)) return { done: true, @@ -18,17 +18,17 @@ class StringIterator { } [Symbol.iterator]() { ->[Symbol.iterator] : Symbol(StringIterator[Symbol.iterator], Decl(for-of35.ts, 6, 5)) +>[Symbol.iterator] : Symbol(MyStringIterator[Symbol.iterator], Decl(for-of35.ts, 6, 5)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) return this; ->this : Symbol(StringIterator, Decl(for-of35.ts, 0, 0)) +>this : Symbol(MyStringIterator, Decl(for-of35.ts, 0, 0)) } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : Symbol(v, Decl(for-of35.ts, 13, 8)) ->StringIterator : Symbol(StringIterator, Decl(for-of35.ts, 0, 0)) +>MyStringIterator : Symbol(MyStringIterator, Decl(for-of35.ts, 0, 0)) diff --git a/tests/baselines/reference/for-of35.types b/tests/baselines/reference/for-of35.types index d8d5b51f4a1..6f458f5fce0 100644 --- a/tests/baselines/reference/for-of35.types +++ b/tests/baselines/reference/for-of35.types @@ -1,9 +1,9 @@ //// [tests/cases/conformance/es6/for-ofStatements/for-of35.ts] //// === for-of35.ts === -class StringIterator { ->StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ +class MyStringIterator { +>MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ next() { >next : () => any @@ -43,11 +43,11 @@ class StringIterator { } } -for (var v of new StringIterator) { } +for (var v of new MyStringIterator) { } >v : any > : ^^^ ->new StringIterator : StringIterator -> : ^^^^^^^^^^^^^^ ->StringIterator : typeof StringIterator -> : ^^^^^^^^^^^^^^^^^^^^^ +>new MyStringIterator : MyStringIterator +> : ^^^^^^^^^^^^^^^^ +>MyStringIterator : typeof MyStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/generatorReturnTypeInference.types b/tests/baselines/reference/generatorReturnTypeInference.types index e6249102d64..6f13c13bc84 100644 --- a/tests/baselines/reference/generatorReturnTypeInference.types +++ b/tests/baselines/reference/generatorReturnTypeInference.types @@ -40,8 +40,8 @@ function* g002() { // Generator } function* g003() { // Generator ->g003 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g003 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* []; >yield* [] : any diff --git a/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types b/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types index 03155f5fd2b..cd4c2569fbe 100644 --- a/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types +++ b/tests/baselines/reference/generatorReturnTypeInferenceNonStrict.types @@ -40,8 +40,8 @@ function* g002() { // Generator } function* g003() { // Generator ->g003 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g003 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // NOTE: In strict mode, `[]` produces the type `never[]`. // In non-strict mode, `[]` produces the type `undefined[]` which is implicitly any. diff --git a/tests/baselines/reference/generatorTypeCheck22.types b/tests/baselines/reference/generatorTypeCheck22.types index f8f6580b454..3e05be0eaa5 100644 --- a/tests/baselines/reference/generatorTypeCheck22.types +++ b/tests/baselines/reference/generatorTypeCheck22.types @@ -22,8 +22,8 @@ class Baz { z: number } > : ^^^^^^ function* g3() { ->g3 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g3 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield; >yield : any diff --git a/tests/baselines/reference/generatorTypeCheck23.types b/tests/baselines/reference/generatorTypeCheck23.types index 50e76794cc4..2fdf66a6e69 100644 --- a/tests/baselines/reference/generatorTypeCheck23.types +++ b/tests/baselines/reference/generatorTypeCheck23.types @@ -22,8 +22,8 @@ class Baz { z: number } > : ^^^^^^ function* g3() { ->g3 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g3 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield; >yield : any diff --git a/tests/baselines/reference/generatorTypeCheck24.types b/tests/baselines/reference/generatorTypeCheck24.types index d0869e11348..13bfe853c6d 100644 --- a/tests/baselines/reference/generatorTypeCheck24.types +++ b/tests/baselines/reference/generatorTypeCheck24.types @@ -22,8 +22,8 @@ class Baz { z: number } > : ^^^^^^ function* g3() { ->g3 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g3 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield; >yield : any diff --git a/tests/baselines/reference/generatorTypeCheck25.errors.txt b/tests/baselines/reference/generatorTypeCheck25.errors.txt index 2113fedd55f..5a0fdf0fc79 100644 --- a/tests/baselines/reference/generatorTypeCheck25.errors.txt +++ b/tests/baselines/reference/generatorTypeCheck25.errors.txt @@ -1,5 +1,5 @@ -generatorTypeCheck25.ts(4,5): error TS2322: Type '() => Generator' is not assignable to type '() => Iterable'. - Call signature return types 'Generator' and 'Iterable' are incompatible. +generatorTypeCheck25.ts(4,5): error TS2322: Type '() => Generator' is not assignable to type '() => Iterable'. + Call signature return types 'Generator' and 'Iterable' are incompatible. The types returned by '[Symbol.iterator]().next(...)' are incompatible between these types. Type 'IteratorResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. @@ -14,8 +14,8 @@ generatorTypeCheck25.ts(4,5): error TS2322: Type '() => Generator Iterable = function* () { ~~ -!!! error TS2322: Type '() => Generator' is not assignable to type '() => Iterable'. -!!! error TS2322: Call signature return types 'Generator' and 'Iterable' are incompatible. +!!! error TS2322: Type '() => Generator' is not assignable to type '() => Iterable'. +!!! error TS2322: Call signature return types 'Generator' and 'Iterable' are incompatible. !!! error TS2322: The types returned by '[Symbol.iterator]().next(...)' are incompatible between these types. !!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. !!! error TS2322: Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. diff --git a/tests/baselines/reference/generatorTypeCheck25.types b/tests/baselines/reference/generatorTypeCheck25.types index 322bb4b9268..65a5e73672b 100644 --- a/tests/baselines/reference/generatorTypeCheck25.types +++ b/tests/baselines/reference/generatorTypeCheck25.types @@ -24,8 +24,8 @@ class Baz { z: number } var g3: () => Iterable = function* () { >g3 : () => Iterable > : ^^^^^^ ->function* () { yield; yield new Bar; yield new Baz; yield *[new Bar]; yield *[new Baz];} : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>function* () { yield; yield new Bar; yield new Baz; yield *[new Bar]; yield *[new Baz];} : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield; >yield : any diff --git a/tests/baselines/reference/generatorTypeCheck53.types b/tests/baselines/reference/generatorTypeCheck53.types index 308c3c45f0e..96cfa3ff36c 100644 --- a/tests/baselines/reference/generatorTypeCheck53.types +++ b/tests/baselines/reference/generatorTypeCheck53.types @@ -14,8 +14,8 @@ class Baz { z: number } > : ^^^^^^ function* g() { ->g : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield new Foo; >yield new Foo : any diff --git a/tests/baselines/reference/generatorTypeCheck54.types b/tests/baselines/reference/generatorTypeCheck54.types index 3162d1537f1..fc37b2ba451 100644 --- a/tests/baselines/reference/generatorTypeCheck54.types +++ b/tests/baselines/reference/generatorTypeCheck54.types @@ -14,8 +14,8 @@ class Baz { z: number } > : ^^^^^^ function* g() { ->g : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>g : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [new Foo]; >yield* [new Foo] : any diff --git a/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.types b/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.types index 3bf6420170b..9d221f73858 100644 --- a/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.types +++ b/tests/baselines/reference/importHelpersNoHelpersForAsyncGenerators.types @@ -2,8 +2,8 @@ === main.ts === export async function * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ await 1; >await 1 : 1 diff --git a/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types b/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types index 65c655b1ea3..56cc1e8004b 100644 --- a/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types +++ b/tests/baselines/reference/indirectGlobalSymbolPartOfObjectType.types @@ -13,8 +13,8 @@ const Symbol = globalThis.Symbol; > : ^^^^^^^^^^^^^^^^^ [][Symbol.iterator]; ->[][Symbol.iterator] : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>[][Symbol.iterator] : () => ArrayIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >[] : undefined[] > : ^^^^^^^^^^^ >Symbol.iterator : unique symbol diff --git a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types index c4a3eace144..e20de1c2bbd 100644 --- a/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types +++ b/tests/baselines/reference/inferFromGenericFunctionReturnTypes3.types @@ -1,5 +1,8 @@ //// [tests/cases/compiler/inferFromGenericFunctionReturnTypes3.ts] //// +=== Performance Stats === +Type Count: 1,000 + === inferFromGenericFunctionReturnTypes3.ts === // Repros from #5487 diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).js b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).js index b79d0bfee7f..9a580420329 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).js +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).js @@ -37,9 +37,9 @@ class MyMap implements Map { get(key: string): number | undefined { return undefined; } has(key: string): boolean { return false; } set(key: string, value: number): this { return this; } - entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } - keys(): BuiltinIterator { throw new Error("Method not implemented."); } - [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + entries(): MapIterator<[string, number]> { throw new Error("Method not implemented."); } + keys(): MapIterator { throw new Error("Method not implemented."); } + [Symbol.iterator](): MapIterator<[string, number]> { throw new Error("Method not implemented."); } // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` * values() { diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).symbols b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).symbols index c1e1de41c30..1806f8d6458 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).symbols +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).symbols @@ -118,30 +118,27 @@ class MyMap implements Map { >value : Symbol(value, Decl(iterableTReturnTNext.ts, 35, 20)) >this : Symbol(MyMap, Decl(iterableTReturnTNext.ts, 21, 57)) - entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + entries(): MapIterator<[string, number]> { throw new Error("Method not implemented."); } >entries : Symbol(MyMap.entries, Decl(iterableTReturnTNext.ts, 35, 58)) ->BuiltinIterator : Symbol(BuiltinIterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) ->BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) +>MapIterator : Symbol(MapIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) - keys(): BuiltinIterator { throw new Error("Method not implemented."); } ->keys : Symbol(MyMap.keys, Decl(iterableTReturnTNext.ts, 36, 119)) ->BuiltinIterator : Symbol(BuiltinIterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) ->BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) + keys(): MapIterator { throw new Error("Method not implemented."); } +>keys : Symbol(MyMap.keys, Decl(iterableTReturnTNext.ts, 36, 92)) +>MapIterator : Symbol(MapIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) - [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } ->[Symbol.iterator] : Symbol(MyMap[Symbol.iterator], Decl(iterableTReturnTNext.ts, 37, 106)) + [Symbol.iterator](): MapIterator<[string, number]> { throw new Error("Method not implemented."); } +>[Symbol.iterator] : Symbol(MyMap[Symbol.iterator], Decl(iterableTReturnTNext.ts, 37, 79)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ->BuiltinIterator : Symbol(BuiltinIterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) ->BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) +>MapIterator : Symbol(MapIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` * values() { ->values : Symbol(MyMap.values, Decl(iterableTReturnTNext.ts, 38, 129)) +>values : Symbol(MyMap.values, Decl(iterableTReturnTNext.ts, 38, 102)) yield* this._values; >this._values : Symbol(MyMap._values, Decl(iterableTReturnTNext.ts, 25, 36)) diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types index 64293b894db..881e9e6a2af 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=false).types @@ -18,18 +18,18 @@ const r1: number = map.values().next().value; // error when strictBuiltinIterato >map.values().next().value : any >map.values().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values().next : (...[value]: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values().next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>map.values : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...[value]: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : any > : ^^^ @@ -48,18 +48,18 @@ const r2: Next = map.values().next(); // error when strictBuiltinIterato > : ^^^^^^^^^^^^ >map.values().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values().next : (...[value]: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values().next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>map.values : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...[value]: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // based on: https://github.com/graphql/graphql-js/blob/e15c3ec4dc21d9fd1df34fe9798cadf3bf02c6ea/src/execution/__tests__/mapAsyncIterable-test.ts#L175 async function* source() { yield 1; yield 2; yield 3; } @@ -100,18 +100,18 @@ const r3: number | undefined = set.values().next().value; >set.values().next().value : any >set.values().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values().next : (...[value]: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values().next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values() : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>set.values : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...[value]: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : any > : ^^^ @@ -193,9 +193,9 @@ class MyMap implements Map { >this : this > : ^^^^ - entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } ->entries : () => BuiltinIterator<[string, number], BuiltinIteratorReturn> -> : ^^^^^^ + entries(): MapIterator<[string, number]> { throw new Error("Method not implemented."); } +>entries : () => MapIterator<[string, number]> +> : ^^^^^^ >new Error("Method not implemented.") : Error > : ^^^^^ >Error : ErrorConstructor @@ -203,9 +203,9 @@ class MyMap implements Map { >"Method not implemented." : "Method not implemented." > : ^^^^^^^^^^^^^^^^^^^^^^^^^ - keys(): BuiltinIterator { throw new Error("Method not implemented."); } ->keys : () => BuiltinIterator -> : ^^^^^^ + keys(): MapIterator { throw new Error("Method not implemented."); } +>keys : () => MapIterator +> : ^^^^^^ >new Error("Method not implemented.") : Error > : ^^^^^ >Error : ErrorConstructor @@ -213,9 +213,9 @@ class MyMap implements Map { >"Method not implemented." : "Method not implemented." > : ^^^^^^^^^^^^^^^^^^^^^^^^^ - [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } ->[Symbol.iterator] : () => BuiltinIterator<[string, number], BuiltinIteratorReturn> -> : ^^^^^^ + [Symbol.iterator](): MapIterator<[string, number]> { throw new Error("Method not implemented."); } +>[Symbol.iterator] : () => MapIterator<[string, number]> +> : ^^^^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -231,8 +231,8 @@ class MyMap implements Map { // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` * values() { ->values : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* this._values; >yield* this._values : any diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).errors.txt b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).errors.txt index 4912e19f699..00a1ae1a8d3 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).errors.txt +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).errors.txt @@ -5,8 +5,8 @@ iterableTReturnTNext.ts(14,7): error TS2322: Type 'IteratorResult'. - Type '() => Generator' is not assignable to type '() => BuiltinIterator'. - Call signature return types 'Generator' and 'BuiltinIterator' are incompatible. + Type '() => Generator' is not assignable to type '() => MapIterator'. + Call signature return types 'Generator' and 'MapIterator' are incompatible. The types returned by 'next(...)' are incompatible between these types. Type 'IteratorResult' is not assignable to type 'IteratorResult'. Type 'IteratorReturnResult' is not assignable to type 'IteratorResult'. @@ -59,16 +59,16 @@ iterableTReturnTNext.ts(42,7): error TS2416: Property 'values' in type 'MyMap' i get(key: string): number | undefined { return undefined; } has(key: string): boolean { return false; } set(key: string, value: number): this { return this; } - entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } - keys(): BuiltinIterator { throw new Error("Method not implemented."); } - [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + entries(): MapIterator<[string, number]> { throw new Error("Method not implemented."); } + keys(): MapIterator { throw new Error("Method not implemented."); } + [Symbol.iterator](): MapIterator<[string, number]> { throw new Error("Method not implemented."); } // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` * values() { ~~~~~~ !!! error TS2416: Property 'values' in type 'MyMap' is not assignable to the same property in base type 'Map'. -!!! error TS2416: Type '() => Generator' is not assignable to type '() => BuiltinIterator'. -!!! error TS2416: Call signature return types 'Generator' and 'BuiltinIterator' are incompatible. +!!! error TS2416: Type '() => Generator' is not assignable to type '() => MapIterator'. +!!! error TS2416: Call signature return types 'Generator' and 'MapIterator' are incompatible. !!! error TS2416: The types returned by 'next(...)' are incompatible between these types. !!! error TS2416: Type 'IteratorResult' is not assignable to type 'IteratorResult'. !!! error TS2416: Type 'IteratorReturnResult' is not assignable to type 'IteratorResult'. diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).js b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).js index b79d0bfee7f..9a580420329 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).js +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).js @@ -37,9 +37,9 @@ class MyMap implements Map { get(key: string): number | undefined { return undefined; } has(key: string): boolean { return false; } set(key: string, value: number): this { return this; } - entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } - keys(): BuiltinIterator { throw new Error("Method not implemented."); } - [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + entries(): MapIterator<[string, number]> { throw new Error("Method not implemented."); } + keys(): MapIterator { throw new Error("Method not implemented."); } + [Symbol.iterator](): MapIterator<[string, number]> { throw new Error("Method not implemented."); } // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` * values() { diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).symbols b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).symbols index c1e1de41c30..1806f8d6458 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).symbols +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).symbols @@ -118,30 +118,27 @@ class MyMap implements Map { >value : Symbol(value, Decl(iterableTReturnTNext.ts, 35, 20)) >this : Symbol(MyMap, Decl(iterableTReturnTNext.ts, 21, 57)) - entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + entries(): MapIterator<[string, number]> { throw new Error("Method not implemented."); } >entries : Symbol(MyMap.entries, Decl(iterableTReturnTNext.ts, 35, 58)) ->BuiltinIterator : Symbol(BuiltinIterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) ->BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) +>MapIterator : Symbol(MapIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) - keys(): BuiltinIterator { throw new Error("Method not implemented."); } ->keys : Symbol(MyMap.keys, Decl(iterableTReturnTNext.ts, 36, 119)) ->BuiltinIterator : Symbol(BuiltinIterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) ->BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) + keys(): MapIterator { throw new Error("Method not implemented."); } +>keys : Symbol(MyMap.keys, Decl(iterableTReturnTNext.ts, 36, 92)) +>MapIterator : Symbol(MapIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) - [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } ->[Symbol.iterator] : Symbol(MyMap[Symbol.iterator], Decl(iterableTReturnTNext.ts, 37, 106)) + [Symbol.iterator](): MapIterator<[string, number]> { throw new Error("Method not implemented."); } +>[Symbol.iterator] : Symbol(MyMap[Symbol.iterator], Decl(iterableTReturnTNext.ts, 37, 79)) >Symbol.iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Symbol : Symbol(Symbol, Decl(lib.es5.d.ts, --, --), Decl(lib.es2015.symbol.d.ts, --, --), Decl(lib.es2015.symbol.wellknown.d.ts, --, --), Decl(lib.es2019.symbol.d.ts, --, --)) >iterator : Symbol(SymbolConstructor.iterator, Decl(lib.es2015.iterable.d.ts, --, --)) ->BuiltinIterator : Symbol(BuiltinIterator, Decl(lib.es2015.iterable.d.ts, --, --), Decl(lib.esnext.iterator.d.ts, --, --)) ->BuiltinIteratorReturn : Symbol(BuiltinIteratorReturn, Decl(lib.es2015.iterable.d.ts, --, --)) +>MapIterator : Symbol(MapIterator, Decl(lib.es2015.iterable.d.ts, --, --)) >Error : Symbol(Error, Decl(lib.es5.d.ts, --, --), Decl(lib.es5.d.ts, --, --), Decl(lib.es2022.error.d.ts, --, --)) // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` * values() { ->values : Symbol(MyMap.values, Decl(iterableTReturnTNext.ts, 38, 129)) +>values : Symbol(MyMap.values, Decl(iterableTReturnTNext.ts, 38, 102)) yield* this._values; >this._values : Symbol(MyMap._values, Decl(iterableTReturnTNext.ts, 25, 36)) diff --git a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types index 71a1e6da575..a18a9d65133 100644 --- a/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types +++ b/tests/baselines/reference/iterableTReturnTNext(strictbuiltiniteratorreturn=true).types @@ -19,18 +19,18 @@ const r1: number = map.values().next().value; // error when strictBuiltinIterato > : ^^^^^^^^^^^^^^^^^^ >map.values().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values().next : (...[value]: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values().next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>map.values : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...[value]: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : number | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -49,18 +49,18 @@ const r2: Next = map.values().next(); // error when strictBuiltinIterato > : ^^^^^^^^^^^^ >map.values().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values().next : (...[value]: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->map.values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values().next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>map.values() : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>map.values : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >map : Map > : ^^^^^^^^^^^^^^^^^^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...[value]: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ // based on: https://github.com/graphql/graphql-js/blob/e15c3ec4dc21d9fd1df34fe9798cadf3bf02c6ea/src/execution/__tests__/mapAsyncIterable-test.ts#L175 async function* source() { yield 1; yield 2; yield 3; } @@ -105,18 +105,18 @@ const r3: number | undefined = set.values().next().value; > : ^^^^^^^^^^^^^^^^^^ >set.values().next() : IteratorResult > : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values().next : (...[value]: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->set.values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values().next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>set.values() : SetIterator +> : ^^^^^^^^^^^^^^^^^^^ +>set.values : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >set : Set > : ^^^^^^^^^^^ ->values : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->next : (...[value]: [] | [any]) => IteratorResult -> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => SetIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ +>next : (...[value]: [] | [unknown]) => IteratorResult +> : ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >value : number | undefined > : ^^^^^^^^^^^^^^^^^^ @@ -199,9 +199,9 @@ class MyMap implements Map { >this : this > : ^^^^ - entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } ->entries : () => BuiltinIterator<[string, number], BuiltinIteratorReturn> -> : ^^^^^^ + entries(): MapIterator<[string, number]> { throw new Error("Method not implemented."); } +>entries : () => MapIterator<[string, number]> +> : ^^^^^^ >new Error("Method not implemented.") : Error > : ^^^^^ >Error : ErrorConstructor @@ -209,9 +209,9 @@ class MyMap implements Map { >"Method not implemented." : "Method not implemented." > : ^^^^^^^^^^^^^^^^^^^^^^^^^ - keys(): BuiltinIterator { throw new Error("Method not implemented."); } ->keys : () => BuiltinIterator -> : ^^^^^^ + keys(): MapIterator { throw new Error("Method not implemented."); } +>keys : () => MapIterator +> : ^^^^^^ >new Error("Method not implemented.") : Error > : ^^^^^ >Error : ErrorConstructor @@ -219,9 +219,9 @@ class MyMap implements Map { >"Method not implemented." : "Method not implemented." > : ^^^^^^^^^^^^^^^^^^^^^^^^^ - [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } ->[Symbol.iterator] : () => BuiltinIterator<[string, number], BuiltinIteratorReturn> -> : ^^^^^^ + [Symbol.iterator](): MapIterator<[string, number]> { throw new Error("Method not implemented."); } +>[Symbol.iterator] : () => MapIterator<[string, number]> +> : ^^^^^^ >Symbol.iterator : unique symbol > : ^^^^^^^^^^^^^ >Symbol : SymbolConstructor @@ -237,8 +237,8 @@ class MyMap implements Map { // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` * values() { ->values : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>values : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* this._values; >yield* this._values : undefined diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.errors.txt b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.errors.txt index bca4e124b9e..2dae16154f2 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.errors.txt +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.errors.txt @@ -1,4 +1,4 @@ -mappedTypeWithAsClauseAndLateBoundProperty.ts(3,1): error TS2741: Property 'length' is missing in type '{ [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: NumberFormatOptions & DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; }' but required in type 'number[]'. +mappedTypeWithAsClauseAndLateBoundProperty.ts(3,1): error TS2741: Property 'length' is missing in type '{ [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: NumberFormatOptions & DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => ArrayIterator<[number, number]>; keys: () => ArrayIterator; values: () => ArrayIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => ArrayIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; }' but required in type 'number[]'. ==== mappedTypeWithAsClauseAndLateBoundProperty.ts (1 errors) ==== @@ -6,6 +6,6 @@ mappedTypeWithAsClauseAndLateBoundProperty.ts(3,1): error TS2741: Property 'leng declare let src2: { [K in keyof number[] as Exclude]: (number[])[K] }; tgt2 = src2; // Should error ~~~~ -!!! error TS2741: Property 'length' is missing in type '{ [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: NumberFormatOptions & DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; }' but required in type 'number[]'. +!!! error TS2741: Property 'length' is missing in type '{ [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: NumberFormatOptions & DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => ArrayIterator<[number, number]>; keys: () => ArrayIterator; values: () => ArrayIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => ArrayIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; }' but required in type 'number[]'. !!! related TS2728 lib.es5.d.ts:--:--: 'length' is declared here. \ No newline at end of file diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types index 7caab51892d..7dcab74e21c 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty.types @@ -6,14 +6,14 @@ declare let tgt2: number[]; > : ^^^^^^^^ declare let src2: { [K in keyof number[] as Exclude]: (number[])[K] }; ->src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => ArrayIterator<[number, number]>; keys: () => ArrayIterator; values: () => ArrayIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => ArrayIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tgt2 = src2; // Should error ->tgt2 = src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>tgt2 = src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => ArrayIterator<[number, number]>; keys: () => ArrayIterator; values: () => ArrayIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => ArrayIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >tgt2 : number[] > : ^^^^^^^^ ->src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>src2 : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => ArrayIterator<[number, number]>; keys: () => ArrayIterator; values: () => ArrayIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => ArrayIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js index 4aa389086c1..36696aa90cf 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.js @@ -62,13 +62,13 @@ export declare const thing: { findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; - entries: () => BuiltinIterator<[number, number], any, any>; - keys: () => BuiltinIterator; - values: () => BuiltinIterator; + entries: () => ArrayIterator<[number, number]>; + keys: () => ArrayIterator; + values: () => ArrayIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; - [Symbol.iterator]: () => BuiltinIterator; + [Symbol.iterator]: () => ArrayIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; diff --git a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types index 4f712549244..8e0a2e605bb 100644 --- a/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types +++ b/tests/baselines/reference/mappedTypeWithAsClauseAndLateBoundProperty2.types @@ -2,11 +2,11 @@ === mappedTypeWithAsClauseAndLateBoundProperty2.ts === export const thing = (null as any as { [K in keyof number[] as Exclude]: (number[])[K] }); ->thing : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->(null as any as { [K in keyof number[] as Exclude]: (number[])[K] }) : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->null as any as { [K in keyof number[] as Exclude]: (number[])[K] } : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => BuiltinIterator<[number, number], any, any>; keys: () => BuiltinIterator; values: () => BuiltinIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => BuiltinIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>thing : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => ArrayIterator<[number, number]>; keys: () => ArrayIterator; values: () => ArrayIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => ArrayIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>(null as any as { [K in keyof number[] as Exclude]: (number[])[K] }) : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => ArrayIterator<[number, number]>; keys: () => ArrayIterator; values: () => ArrayIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => ArrayIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>null as any as { [K in keyof number[] as Exclude]: (number[])[K] } : { [x: number]: number; toString: () => string; toLocaleString: { (): string; (locales: string | string[], options?: Intl.NumberFormatOptions & Intl.DateTimeFormatOptions): string; }; pop: () => number; push: (...items: number[]) => number; concat: { (...items: ConcatArray[]): number[]; (...items: (number | ConcatArray)[]): number[]; }; join: (separator?: string) => string; reverse: () => number[]; shift: () => number; slice: (start?: number, end?: number) => number[]; sort: (compareFn?: (a: number, b: number) => number) => number[]; splice: { (start: number, deleteCount?: number): number[]; (start: number, deleteCount: number, ...items: number[]): number[]; }; unshift: (...items: number[]) => number; indexOf: (searchElement: number, fromIndex?: number) => number; lastIndexOf: (searchElement: number, fromIndex?: number) => number; every: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): this is S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): boolean; }; some: (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any) => boolean; forEach: (callbackfn: (value: number, index: number, array: number[]) => void, thisArg?: any) => void; map: (callbackfn: (value: number, index: number, array: number[]) => U, thisArg?: any) => U[]; filter: { (predicate: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (predicate: (value: number, index: number, array: number[]) => unknown, thisArg?: any): number[]; }; reduce: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; reduceRight: { (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number): number; (callbackfn: (previousValue: number, currentValue: number, currentIndex: number, array: number[]) => number, initialValue: number): number; (callbackfn: (previousValue: U, currentValue: number, currentIndex: number, array: number[]) => U, initialValue: U): U; }; find: { (predicate: (value: number, index: number, obj: number[]) => value is S, thisArg?: any): S; (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any): number; }; findIndex: (predicate: (value: number, index: number, obj: number[]) => unknown, thisArg?: any) => number; fill: (value: number, start?: number, end?: number) => number[]; copyWithin: (target: number, start: number, end?: number) => number[]; entries: () => ArrayIterator<[number, number]>; keys: () => ArrayIterator; values: () => ArrayIterator; includes: (searchElement: number, fromIndex?: number) => boolean; flatMap: (callback: (this: This, value: number, index: number, array: number[]) => U | readonly U[], thisArg?: This) => U[]; flat: (this: A, depth?: D) => FlatArray[]; [Symbol.iterator]: () => ArrayIterator; readonly [Symbol.unscopables]: { [x: number]: boolean; length?: boolean; toString?: boolean; toLocaleString?: boolean; pop?: boolean; push?: boolean; concat?: boolean; join?: boolean; reverse?: boolean; shift?: boolean; slice?: boolean; sort?: boolean; splice?: boolean; unshift?: boolean; indexOf?: boolean; lastIndexOf?: boolean; every?: boolean; some?: boolean; forEach?: boolean; map?: boolean; filter?: boolean; reduce?: boolean; reduceRight?: boolean; find?: boolean; findIndex?: boolean; fill?: boolean; copyWithin?: boolean; entries?: boolean; keys?: boolean; values?: boolean; includes?: boolean; flatMap?: boolean; flat?: boolean; [Symbol.iterator]?: boolean; readonly [Symbol.unscopables]?: boolean; }; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^ ^^^^ ^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^ ^ ^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^ ^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^ ^^ ^^^ ^^^^^ ^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^ ^^ ^^ ^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^ ^^^ ^^^^^ ^^^^^^^^^^^^ ^^ ^^^^^^^^^^^^^^ ^^^ ^^^^^^^^ ^^^^^^^^^^ ^^ ^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^ ^^ ^^^^^^^^^ ^^^^^^ ^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ >null as any : any diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types index 075659bb6c6..7e3956c6ebc 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions1.types @@ -58,14 +58,14 @@ m.clear(); // Using ES6 iterable m.keys(); ->m.keys() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->m.keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>m.keys() : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>m.keys : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ ->keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ // Using ES6 function function Baz() { } diff --git a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types index 21ebd844500..6901043410e 100644 --- a/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types +++ b/tests/baselines/reference/modularizeLibrary_NoErrorDuplicateLibOptions2.types @@ -58,14 +58,14 @@ m.clear(); // Using ES6 iterable m.keys(); ->m.keys() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->m.keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>m.keys() : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>m.keys : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ ->keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ // Using ES6 function function Baz() { } diff --git a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types index 14688b34b13..a1da8cedb14 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES5UsingES6Lib.types @@ -58,14 +58,14 @@ m.clear(); // Using ES6 iterable m.keys(); ->m.keys() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->m.keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>m.keys() : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>m.keys : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ ->keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ // Using ES6 function function Baz() { } diff --git a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types index 67cc3c013d5..dad02bc4bf6 100644 --- a/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types +++ b/tests/baselines/reference/modularizeLibrary_TargetES6UsingES6Lib.types @@ -58,14 +58,14 @@ m.clear(); // Using ES6 iterable m.keys(); ->m.keys() : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->m.keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>m.keys() : MapIterator +> : ^^^^^^^^^^^^^^^^^^^ +>m.keys : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ >m : Map > : ^^^^^^^^^^^^^^^^^^^ ->keys : () => BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>keys : () => MapIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^ // Using ES6 function function Baz() { } diff --git a/tests/baselines/reference/narrowingPastLastAssignment.types b/tests/baselines/reference/narrowingPastLastAssignment.types index ba185b982df..057c24d7151 100644 --- a/tests/baselines/reference/narrowingPastLastAssignment.types +++ b/tests/baselines/reference/narrowingPastLastAssignment.types @@ -2,7 +2,7 @@ === Performance Stats === Type Count: 1,000 -Instantiation count: 1,000 +Instantiation count: 2,500 === narrowingPastLastAssignment.ts === function action(f: Function) {} diff --git a/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types b/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types index e138921e963..61141eebd4c 100644 --- a/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types +++ b/tests/baselines/reference/parenthesizedJSDocCastAtReturnStatement.types @@ -2,7 +2,7 @@ === Performance Stats === Type Count: 1,000 -Instantiation count: 1,000 +Instantiation count: 2,500 === index.js === /** @type {Map>} */ diff --git a/tests/baselines/reference/parser.asyncGenerators.classMethods.es2018.types b/tests/baselines/reference/parser.asyncGenerators.classMethods.es2018.types index 41859c1f719..1aa65a69c8c 100644 --- a/tests/baselines/reference/parser.asyncGenerators.classMethods.es2018.types +++ b/tests/baselines/reference/parser.asyncGenerators.classMethods.es2018.types @@ -221,8 +221,8 @@ class C16 { > : ^^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield * []; >yield * [] : any diff --git a/tests/baselines/reference/parser.asyncGenerators.functionDeclarations.es2018.types b/tests/baselines/reference/parser.asyncGenerators.functionDeclarations.es2018.types index 145171838a8..8b708f94c95 100644 --- a/tests/baselines/reference/parser.asyncGenerators.functionDeclarations.es2018.types +++ b/tests/baselines/reference/parser.asyncGenerators.functionDeclarations.es2018.types @@ -142,8 +142,8 @@ async function * f15() { } === yieldStarWithValueIsOk.ts === async function * f16() { ->f16 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f16 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield * []; >yield * [] : any diff --git a/tests/baselines/reference/parser.asyncGenerators.functionExpressions.es2018.types b/tests/baselines/reference/parser.asyncGenerators.functionExpressions.es2018.types index 9082a5732d5..036bdb2f62b 100644 --- a/tests/baselines/reference/parser.asyncGenerators.functionExpressions.es2018.types +++ b/tests/baselines/reference/parser.asyncGenerators.functionExpressions.es2018.types @@ -188,10 +188,10 @@ const f15 = async function * () { }; === yieldStarWithValueIsOk.ts === const f16 = async function * () { ->f16 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->async function * () { yield * [];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f16 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield * [];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield * []; >yield * [] : any diff --git a/tests/baselines/reference/parser.asyncGenerators.objectLiteralMethods.es2018.types b/tests/baselines/reference/parser.asyncGenerators.objectLiteralMethods.es2018.types index a1c287cfa1f..0a67b43853d 100644 --- a/tests/baselines/reference/parser.asyncGenerators.objectLiteralMethods.es2018.types +++ b/tests/baselines/reference/parser.asyncGenerators.objectLiteralMethods.es2018.types @@ -247,14 +247,14 @@ const o15 = { }; === yieldStarWithValueIsOk.ts === const o16 = { ->o16 : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->{ async * f() { yield * []; }} : { f(): AsyncGenerator; } -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>o16 : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>{ async * f() { yield * []; }} : { f(): AsyncGenerator; } +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ async * f() { ->f : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>f : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield * []; >yield * [] : any diff --git a/tests/baselines/reference/regexMatchAll-esnext.types b/tests/baselines/reference/regexMatchAll-esnext.types index 80790de1128..af8bf8d1466 100644 --- a/tests/baselines/reference/regexMatchAll-esnext.types +++ b/tests/baselines/reference/regexMatchAll-esnext.types @@ -2,12 +2,12 @@ === regexMatchAll-esnext.ts === const matches = /\w/g[Symbol.matchAll]("matchAll"); ->matches : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->/\w/g[Symbol.matchAll]("matchAll") : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->/\w/g[Symbol.matchAll] : (str: string) => BuiltinIterator -> : ^ ^^ ^^^^^ +>matches : RegExpStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>/\w/g[Symbol.matchAll]("matchAll") : RegExpStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>/\w/g[Symbol.matchAll] : (str: string) => RegExpStringIterator +> : ^ ^^ ^^^^^ >/\w/g : RegExp > : ^^^^^^ >Symbol.matchAll : unique symbol @@ -26,8 +26,8 @@ const array = [...matches]; > : ^^^^^^^^^^^^^^^^^^ >...matches : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->matches : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>matches : RegExpStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const { index, input } = array[0]; >index : number diff --git a/tests/baselines/reference/regexMatchAll.types b/tests/baselines/reference/regexMatchAll.types index 3237c73dba1..9b937a0577e 100644 --- a/tests/baselines/reference/regexMatchAll.types +++ b/tests/baselines/reference/regexMatchAll.types @@ -2,12 +2,12 @@ === regexMatchAll.ts === const matches = /\w/g[Symbol.matchAll]("matchAll"); ->matches : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->/\w/g[Symbol.matchAll]("matchAll") : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->/\w/g[Symbol.matchAll] : (str: string) => BuiltinIterator -> : ^ ^^ ^^^^^ +>matches : RegExpStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>/\w/g[Symbol.matchAll]("matchAll") : RegExpStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>/\w/g[Symbol.matchAll] : (str: string) => RegExpStringIterator +> : ^ ^^ ^^^^^ >/\w/g : RegExp > : ^^^^^^ >Symbol.matchAll : unique symbol @@ -26,8 +26,8 @@ const array = [...matches]; > : ^^^^^^^^^^^^^^^^^^ >...matches : RegExpMatchArray > : ^^^^^^^^^^^^^^^^ ->matches : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>matches : RegExpStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const { index, input } = array[0]; >index : number diff --git a/tests/baselines/reference/stringMatchAll.types b/tests/baselines/reference/stringMatchAll.types index 13e45697d8b..0de59f913a9 100644 --- a/tests/baselines/reference/stringMatchAll.types +++ b/tests/baselines/reference/stringMatchAll.types @@ -2,16 +2,16 @@ === stringMatchAll.ts === const matches = "matchAll".matchAll(/\w/g); ->matches : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->"matchAll".matchAll(/\w/g) : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ->"matchAll".matchAll : (regexp: RegExp) => BuiltinIterator -> : ^ ^^ ^^^^^ +>matches : RegExpStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>"matchAll".matchAll(/\w/g) : RegExpStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>"matchAll".matchAll : (regexp: RegExp) => RegExpStringIterator +> : ^ ^^ ^^^^^ >"matchAll" : "matchAll" > : ^^^^^^^^^^ ->matchAll : (regexp: RegExp) => BuiltinIterator -> : ^ ^^ ^^^^^ +>matchAll : (regexp: RegExp) => RegExpStringIterator +> : ^ ^^ ^^^^^ >/\w/g : RegExp > : ^^^^^^ @@ -22,8 +22,8 @@ const array = [...matches]; > : ^^^^^^^^^^^^^^^^^ >...matches : RegExpExecArray > : ^^^^^^^^^^^^^^^ ->matches : BuiltinIterator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>matches : RegExpStringIterator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ const { index, input } = array[0]; >index : number diff --git a/tests/baselines/reference/substitutionTypePassedToExtends.types b/tests/baselines/reference/substitutionTypePassedToExtends.types index a5d81c4699c..102d4d17d56 100644 --- a/tests/baselines/reference/substitutionTypePassedToExtends.types +++ b/tests/baselines/reference/substitutionTypePassedToExtends.types @@ -2,7 +2,7 @@ === Performance Stats === Type Count: 500 -> 1,000 -Instantiation count: 100 -> 1,000 +Instantiation count: 100 -> 2,500 === substitutionTypePassedToExtends.ts === type Foo1 = [A, B] extends unknown[][] ? Bar1<[A, B]> : 'else' diff --git a/tests/baselines/reference/types.asyncGenerators.es2018.1.types b/tests/baselines/reference/types.asyncGenerators.es2018.1.types index 2d2f8df98e4..1cb91c6012c 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.1.types +++ b/tests/baselines/reference/types.asyncGenerators.es2018.1.types @@ -61,8 +61,8 @@ async function * inferReturnType5() { > : ^ } async function * inferReturnType6() { ->inferReturnType6 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>inferReturnType6 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [1, 2]; >yield* [1, 2] : any @@ -74,8 +74,8 @@ async function * inferReturnType6() { > : ^ } async function * inferReturnType7() { ->inferReturnType7 : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>inferReturnType7 : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [Promise.resolve(1)]; >yield* [Promise.resolve(1)] : any @@ -144,8 +144,8 @@ const assignability2: () => AsyncIterableIterator = async function * () const assignability3: () => AsyncIterableIterator = async function * () { >assignability3 : () => AsyncIterableIterator > : ^^^^^^ ->async function * () { yield* [1, 2];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* [1, 2];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [1, 2]; >yield* [1, 2] : any @@ -160,8 +160,8 @@ const assignability3: () => AsyncIterableIterator = async function * () const assignability4: () => AsyncIterableIterator = async function * () { >assignability4 : () => AsyncIterableIterator > : ^^^^^^ ->async function * () { yield* [Promise.resolve(1)];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* [Promise.resolve(1)];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [Promise.resolve(1)]; >yield* [Promise.resolve(1)] : any @@ -234,8 +234,8 @@ const assignability7: () => AsyncIterable = async function * () { const assignability8: () => AsyncIterable = async function * () { >assignability8 : () => AsyncIterable > : ^^^^^^ ->async function * () { yield* [1, 2];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* [1, 2];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [1, 2]; >yield* [1, 2] : any @@ -250,8 +250,8 @@ const assignability8: () => AsyncIterable = async function * () { const assignability9: () => AsyncIterable = async function * () { >assignability9 : () => AsyncIterable > : ^^^^^^ ->async function * () { yield* [Promise.resolve(1)];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* [Promise.resolve(1)];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [Promise.resolve(1)]; >yield* [Promise.resolve(1)] : any @@ -324,8 +324,8 @@ const assignability12: () => AsyncIterator = async function * () { const assignability13: () => AsyncIterator = async function * () { >assignability13 : () => AsyncIterator > : ^^^^^^ ->async function * () { yield* [1, 2];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* [1, 2];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [1, 2]; >yield* [1, 2] : any @@ -340,8 +340,8 @@ const assignability13: () => AsyncIterator = async function * () { const assignability14: () => AsyncIterator = async function * () { >assignability14 : () => AsyncIterator > : ^^^^^^ ->async function * () { yield* [Promise.resolve(1)];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* [Promise.resolve(1)];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* [Promise.resolve(1)]; >yield* [Promise.resolve(1)] : any diff --git a/tests/baselines/reference/types.asyncGenerators.es2018.2.errors.txt b/tests/baselines/reference/types.asyncGenerators.es2018.2.errors.txt index 4aa4491e423..130ef20c6f1 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.2.errors.txt +++ b/tests/baselines/reference/types.asyncGenerators.es2018.2.errors.txt @@ -8,8 +8,8 @@ types.asyncGenerators.es2018.2.ts(10,7): error TS2322: Type '() => AsyncGenerato Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. Type 'string' is not assignable to type 'number'. -types.asyncGenerators.es2018.2.ts(13,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. - Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. +types.asyncGenerators.es2018.2.ts(13,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. + Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. The types returned by 'next(...)' are incompatible between these types. Type 'Promise>' is not assignable to type 'Promise>'. Type 'IteratorResult' is not assignable to type 'IteratorResult'. @@ -32,8 +32,8 @@ types.asyncGenerators.es2018.2.ts(19,7): error TS2322: Type '() => AsyncGenerato Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. Type 'string' is not assignable to type 'number'. -types.asyncGenerators.es2018.2.ts(22,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. - Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. +types.asyncGenerators.es2018.2.ts(22,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. + Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. The types returned by '[Symbol.asyncIterator]().next(...)' are incompatible between these types. Type 'Promise>' is not assignable to type 'Promise>'. Type 'IteratorResult' is not assignable to type 'IteratorResult'. @@ -56,8 +56,8 @@ types.asyncGenerators.es2018.2.ts(28,7): error TS2322: Type '() => AsyncGenerato Type 'IteratorYieldResult' is not assignable to type 'IteratorResult'. Type 'IteratorYieldResult' is not assignable to type 'IteratorYieldResult'. Type 'string' is not assignable to type 'number'. -types.asyncGenerators.es2018.2.ts(31,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. - Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. +types.asyncGenerators.es2018.2.ts(31,7): error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. + Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. The types returned by 'next(...)' are incompatible between these types. Type 'Promise>' is not assignable to type 'Promise>'. Type 'IteratorResult' is not assignable to type 'IteratorResult'. @@ -118,8 +118,8 @@ types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[ }; const assignability2: () => AsyncIterableIterator = async function * () { ~~~~~~~~~~~~~~ -!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. -!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. +!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterableIterator'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterableIterator' are incompatible. !!! error TS2322: The types returned by 'next(...)' are incompatible between these types. !!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. !!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. @@ -154,8 +154,8 @@ types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[ }; const assignability5: () => AsyncIterable = async function * () { ~~~~~~~~~~~~~~ -!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. -!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. +!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterable'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterable' are incompatible. !!! error TS2322: The types returned by '[Symbol.asyncIterator]().next(...)' are incompatible between these types. !!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. !!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. @@ -190,8 +190,8 @@ types.asyncGenerators.es2018.2.ts(74,12): error TS2504: Type '{}' must have a '[ }; const assignability8: () => AsyncIterator = async function * () { ~~~~~~~~~~~~~~ -!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. -!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. +!!! error TS2322: Type '() => AsyncGenerator' is not assignable to type '() => AsyncIterator'. +!!! error TS2322: Call signature return types 'AsyncGenerator' and 'AsyncIterator' are incompatible. !!! error TS2322: The types returned by 'next(...)' are incompatible between these types. !!! error TS2322: Type 'Promise>' is not assignable to type 'Promise>'. !!! error TS2322: Type 'IteratorResult' is not assignable to type 'IteratorResult'. diff --git a/tests/baselines/reference/types.asyncGenerators.es2018.2.types b/tests/baselines/reference/types.asyncGenerators.es2018.2.types index 1f65af986e9..466a9ef6e70 100644 --- a/tests/baselines/reference/types.asyncGenerators.es2018.2.types +++ b/tests/baselines/reference/types.asyncGenerators.es2018.2.types @@ -61,8 +61,8 @@ const assignability1: () => AsyncIterableIterator = async function * () const assignability2: () => AsyncIterableIterator = async function * () { >assignability2 : () => AsyncIterableIterator > : ^^^^^^ ->async function * () { yield* ["a", "b"];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* ["a", "b"];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* ["a", "b"]; >yield* ["a", "b"] : any @@ -112,8 +112,8 @@ const assignability4: () => AsyncIterable = async function * () { const assignability5: () => AsyncIterable = async function * () { >assignability5 : () => AsyncIterable > : ^^^^^^ ->async function * () { yield* ["a", "b"];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* ["a", "b"];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* ["a", "b"]; >yield* ["a", "b"] : any @@ -163,8 +163,8 @@ const assignability7: () => AsyncIterator = async function * () { const assignability8: () => AsyncIterator = async function * () { >assignability8 : () => AsyncIterator > : ^^^^^^ ->async function * () { yield* ["a", "b"];} : () => AsyncGenerator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>async function * () { yield* ["a", "b"];} : () => AsyncGenerator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ yield* ["a", "b"]; >yield* ["a", "b"] : any diff --git a/tests/baselines/reference/yieldExpressionInnerCommentEmit.types b/tests/baselines/reference/yieldExpressionInnerCommentEmit.types index bba612bd5c7..58f588f237f 100644 --- a/tests/baselines/reference/yieldExpressionInnerCommentEmit.types +++ b/tests/baselines/reference/yieldExpressionInnerCommentEmit.types @@ -2,8 +2,8 @@ === yieldExpressionInnerCommentEmit.ts === function * foo2() { ->foo2 : () => Generator -> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ +>foo2 : () => Generator +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ /*comment1*/ yield 1; >yield 1 : any diff --git a/tests/cases/compiler/builtinIterator.ts b/tests/cases/compiler/builtinIterator.ts index 3b20d9fe53d..e80bda3e44a 100644 --- a/tests/cases/compiler/builtinIterator.ts +++ b/tests/cases/compiler/builtinIterator.ts @@ -72,5 +72,5 @@ class BadIterator3 extends Iterator { declare const g1: Generator; const iter1 = Iterator.from(g1); -declare const iter2: BuiltinIterator; +declare const iter2: IteratorObject; const iter3 = iter2.flatMap(() => g1); \ No newline at end of file diff --git a/tests/cases/compiler/iterableTReturnTNext.ts b/tests/cases/compiler/iterableTReturnTNext.ts index f51ecdbf019..f17276e4c67 100644 --- a/tests/cases/compiler/iterableTReturnTNext.ts +++ b/tests/cases/compiler/iterableTReturnTNext.ts @@ -38,9 +38,9 @@ class MyMap implements Map { get(key: string): number | undefined { return undefined; } has(key: string): boolean { return false; } set(key: string, value: number): this { return this; } - entries(): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } - keys(): BuiltinIterator { throw new Error("Method not implemented."); } - [Symbol.iterator](): BuiltinIterator<[string, number], BuiltinIteratorReturn> { throw new Error("Method not implemented."); } + entries(): MapIterator<[string, number]> { throw new Error("Method not implemented."); } + keys(): MapIterator { throw new Error("Method not implemented."); } + [Symbol.iterator](): MapIterator<[string, number]> { throw new Error("Method not implemented."); } // error when strictBuiltinIteratorReturn is true because values() has implicit `void` return, which isn't assignable to `undefined` * values() { diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of14.ts b/tests/cases/conformance/es6/for-ofStatements/for-of14.ts index f79794d59d5..a20b564163c 100644 --- a/tests/cases/conformance/es6/for-ofStatements/for-of14.ts +++ b/tests/cases/conformance/es6/for-ofStatements/for-of14.ts @@ -1,9 +1,9 @@ //@target: ES6 -class StringIterator { +class MyStringIterator { next() { return ""; } } var v: string; -for (v of new StringIterator) { } // Should fail because the iterator is not iterable \ No newline at end of file +for (v of new MyStringIterator) { } // Should fail because the iterator is not iterable \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of15.ts b/tests/cases/conformance/es6/for-ofStatements/for-of15.ts index b2e788bdef2..7c30b32593b 100644 --- a/tests/cases/conformance/es6/for-ofStatements/for-of15.ts +++ b/tests/cases/conformance/es6/for-ofStatements/for-of15.ts @@ -1,5 +1,5 @@ //@target: ES6 -class StringIterator { +class MyStringIterator { next() { return ""; } @@ -9,4 +9,4 @@ class StringIterator { } var v: string; -for (v of new StringIterator) { } // Should fail \ No newline at end of file +for (v of new MyStringIterator) { } // Should fail \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of16.ts b/tests/cases/conformance/es6/for-ofStatements/for-of16.ts index b63e061425e..a5918dd9406 100644 --- a/tests/cases/conformance/es6/for-ofStatements/for-of16.ts +++ b/tests/cases/conformance/es6/for-ofStatements/for-of16.ts @@ -1,11 +1,11 @@ //@target: ES6 -class StringIterator { +class MyStringIterator { [Symbol.iterator]() { return this; } } var v: string; -for (v of new StringIterator) { } // Should fail +for (v of new MyStringIterator) { } // Should fail -for (v of new StringIterator) { } // Should still fail (related errors should still be shown even though type is cached). \ No newline at end of file +for (v of new MyStringIterator) { } // Should still fail (related errors should still be shown even though type is cached). \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of18.ts b/tests/cases/conformance/es6/for-ofStatements/for-of18.ts index 647ae314b4d..88f18cc88c3 100644 --- a/tests/cases/conformance/es6/for-ofStatements/for-of18.ts +++ b/tests/cases/conformance/es6/for-ofStatements/for-of18.ts @@ -1,5 +1,5 @@ //@target: ES6 -class StringIterator { +class MyStringIterator { next() { return { value: "", @@ -12,4 +12,4 @@ class StringIterator { } var v: string; -for (v of new StringIterator) { } // Should succeed \ No newline at end of file +for (v of new MyStringIterator) { } // Should succeed \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of25.ts b/tests/cases/conformance/es6/for-ofStatements/for-of25.ts index 61e6a58ce30..f63137c6cfc 100644 --- a/tests/cases/conformance/es6/for-ofStatements/for-of25.ts +++ b/tests/cases/conformance/es6/for-ofStatements/for-of25.ts @@ -1,9 +1,9 @@ //@target: ES6 -class StringIterator { +class MyStringIterator { [Symbol.iterator]() { return x; } } var x: any; -for (var v of new StringIterator) { } \ No newline at end of file +for (var v of new MyStringIterator) { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of26.ts b/tests/cases/conformance/es6/for-ofStatements/for-of26.ts index 4414fdc1592..8dd94be9901 100644 --- a/tests/cases/conformance/es6/for-ofStatements/for-of26.ts +++ b/tests/cases/conformance/es6/for-ofStatements/for-of26.ts @@ -1,5 +1,5 @@ //@target: ES6 -class StringIterator { +class MyStringIterator { next() { return x; } @@ -9,4 +9,4 @@ class StringIterator { } var x: any; -for (var v of new StringIterator) { } \ No newline at end of file +for (var v of new MyStringIterator) { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of27.ts b/tests/cases/conformance/es6/for-ofStatements/for-of27.ts index f7244eed34c..a87960cd441 100644 --- a/tests/cases/conformance/es6/for-ofStatements/for-of27.ts +++ b/tests/cases/conformance/es6/for-ofStatements/for-of27.ts @@ -1,6 +1,6 @@ //@target: ES6 -class StringIterator { +class MyStringIterator { [Symbol.iterator]: any; } -for (var v of new StringIterator) { } \ No newline at end of file +for (var v of new MyStringIterator) { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of28.ts b/tests/cases/conformance/es6/for-ofStatements/for-of28.ts index e1b86f6135f..bb241e389ac 100644 --- a/tests/cases/conformance/es6/for-ofStatements/for-of28.ts +++ b/tests/cases/conformance/es6/for-ofStatements/for-of28.ts @@ -1,9 +1,9 @@ //@target: ES6 -class StringIterator { +class MyStringIterator { next: any; [Symbol.iterator]() { return this; } } -for (var v of new StringIterator) { } \ No newline at end of file +for (var v of new MyStringIterator) { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of30.ts b/tests/cases/conformance/es6/for-ofStatements/for-of30.ts index 3d8ac3a93af..019f71a0f4c 100644 --- a/tests/cases/conformance/es6/for-ofStatements/for-of30.ts +++ b/tests/cases/conformance/es6/for-ofStatements/for-of30.ts @@ -1,5 +1,5 @@ //@target: ES6 -class StringIterator { +class MyStringIterator { next() { return { done: false, @@ -14,4 +14,4 @@ class StringIterator { } } -for (var v of new StringIterator) { } \ No newline at end of file +for (var v of new MyStringIterator) { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of31.ts b/tests/cases/conformance/es6/for-ofStatements/for-of31.ts index 1e8d7e10630..847d7d0dd7c 100644 --- a/tests/cases/conformance/es6/for-ofStatements/for-of31.ts +++ b/tests/cases/conformance/es6/for-ofStatements/for-of31.ts @@ -1,5 +1,5 @@ //@target: ES6 -class StringIterator { +class MyStringIterator { next() { return { // no done property @@ -12,4 +12,4 @@ class StringIterator { } } -for (var v of new StringIterator) { } \ No newline at end of file +for (var v of new MyStringIterator) { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of33.ts b/tests/cases/conformance/es6/for-ofStatements/for-of33.ts index f0af5c4a408..f952c23e09c 100644 --- a/tests/cases/conformance/es6/for-ofStatements/for-of33.ts +++ b/tests/cases/conformance/es6/for-ofStatements/for-of33.ts @@ -1,9 +1,9 @@ //@target: ES6 //@noImplicitAny: true -class StringIterator { +class MyStringIterator { [Symbol.iterator]() { return v; } } -for (var v of new StringIterator) { } \ No newline at end of file +for (var v of new MyStringIterator) { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of34.ts b/tests/cases/conformance/es6/for-ofStatements/for-of34.ts index b38a6a68bf6..d7cecf6a40f 100644 --- a/tests/cases/conformance/es6/for-ofStatements/for-of34.ts +++ b/tests/cases/conformance/es6/for-ofStatements/for-of34.ts @@ -1,6 +1,6 @@ //@target: ES6 //@noImplicitAny: true -class StringIterator { +class MyStringIterator { next() { return v; } @@ -10,4 +10,4 @@ class StringIterator { } } -for (var v of new StringIterator) { } \ No newline at end of file +for (var v of new MyStringIterator) { } \ No newline at end of file diff --git a/tests/cases/conformance/es6/for-ofStatements/for-of35.ts b/tests/cases/conformance/es6/for-ofStatements/for-of35.ts index 041f611699e..148260323f6 100644 --- a/tests/cases/conformance/es6/for-ofStatements/for-of35.ts +++ b/tests/cases/conformance/es6/for-ofStatements/for-of35.ts @@ -1,6 +1,6 @@ //@target: ES6 //@noImplicitAny: true -class StringIterator { +class MyStringIterator { next() { return { done: true, @@ -13,4 +13,4 @@ class StringIterator { } } -for (var v of new StringIterator) { } \ No newline at end of file +for (var v of new MyStringIterator) { } \ No newline at end of file diff --git a/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck10.ts b/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck10.ts index b832d57855e..f5f96e5c44a 100644 --- a/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck10.ts +++ b/tests/cases/conformance/statements/for-ofStatements/ES5For-ofTypeCheck10.ts @@ -1,7 +1,7 @@ //@target: ES5 // In ES3/5, you cannot for...of over an arbitrary iterable. -class StringIterator { +class MyStringIterator { next() { return { done: true, @@ -13,4 +13,4 @@ class StringIterator { } } -for (var v of new StringIterator) { } \ No newline at end of file +for (var v of new MyStringIterator) { } \ No newline at end of file From 99878128f032786bd3ad1295402a04ca7002eeb2 Mon Sep 17 00:00:00 2001 From: Jake Bailey <5341706+jakebailey@users.noreply.github.com> Date: Tue, 6 Aug 2024 15:01:46 -0700 Subject: [PATCH 89/89] Don't treat an instantiation expression as an assertion in skipOuterExpressions (#59538) --- src/compiler/factory/nodeFactory.ts | 2 + src/compiler/factory/utilities.ts | 3 +- src/compiler/transformers/ts.ts | 2 +- src/compiler/types.ts | 6 +- tests/baselines/reference/api/typescript.d.ts | 5 +- ...gnmentToInstantiationExpression.errors.txt | 26 ++++++++ .../assignmentToInstantiationExpression.js | 23 +++++++ ...ssignmentToInstantiationExpression.symbols | 32 ++++++++++ .../assignmentToInstantiationExpression.types | 61 +++++++++++++++++++ .../assignmentToInstantiationExpression.ts | 12 ++++ 10 files changed, 166 insertions(+), 6 deletions(-) create mode 100644 tests/baselines/reference/assignmentToInstantiationExpression.errors.txt create mode 100644 tests/baselines/reference/assignmentToInstantiationExpression.js create mode 100644 tests/baselines/reference/assignmentToInstantiationExpression.symbols create mode 100644 tests/baselines/reference/assignmentToInstantiationExpression.types create mode 100644 tests/cases/compiler/assignmentToInstantiationExpression.ts diff --git a/src/compiler/factory/nodeFactory.ts b/src/compiler/factory/nodeFactory.ts index c90e4c71f19..8f3b15690f7 100644 --- a/src/compiler/factory/nodeFactory.ts +++ b/src/compiler/factory/nodeFactory.ts @@ -6553,6 +6553,8 @@ export function createNodeFactory(flags: NodeFactoryFlags, baseFactory: BaseNode return updateSatisfiesExpression(outerExpression, expression, outerExpression.type); case SyntaxKind.NonNullExpression: return updateNonNullExpression(outerExpression, expression); + case SyntaxKind.ExpressionWithTypeArguments: + return updateExpressionWithTypeArguments(outerExpression, expression, outerExpression.typeArguments); case SyntaxKind.PartiallyEmittedExpression: return updatePartiallyEmittedExpression(outerExpression, expression); } diff --git a/src/compiler/factory/utilities.ts b/src/compiler/factory/utilities.ts index 852017bd501..d6d0de9e515 100644 --- a/src/compiler/factory/utilities.ts +++ b/src/compiler/factory/utilities.ts @@ -630,9 +630,10 @@ export function isOuterExpression(node: Node, kinds = OuterExpressionKinds.All): return (kinds & OuterExpressionKinds.Parentheses) !== 0; case SyntaxKind.TypeAssertionExpression: case SyntaxKind.AsExpression: - case SyntaxKind.ExpressionWithTypeArguments: case SyntaxKind.SatisfiesExpression: return (kinds & OuterExpressionKinds.TypeAssertions) !== 0; + case SyntaxKind.ExpressionWithTypeArguments: + return (kinds & OuterExpressionKinds.ExpressionsWithTypeArguments) !== 0; case SyntaxKind.NonNullExpression: return (kinds & OuterExpressionKinds.NonNullAssertions) !== 0; case SyntaxKind.PartiallyEmittedExpression: diff --git a/src/compiler/transformers/ts.ts b/src/compiler/transformers/ts.ts index 668da90d8e6..d2b3e1121f4 100644 --- a/src/compiler/transformers/ts.ts +++ b/src/compiler/transformers/ts.ts @@ -1689,7 +1689,7 @@ export function transformTypeScript(context: TransformationContext) { } function visitParenthesizedExpression(node: ParenthesizedExpression): Expression { - const innerExpression = skipOuterExpressions(node.expression, ~OuterExpressionKinds.Assertions); + const innerExpression = skipOuterExpressions(node.expression, ~(OuterExpressionKinds.Assertions | OuterExpressionKinds.ExpressionsWithTypeArguments)); if (isAssertionExpression(innerExpression) || isSatisfiesExpression(innerExpression)) { // Make sure we consider all nested cast expressions, e.g.: // (-A).x; diff --git a/src/compiler/types.ts b/src/compiler/types.ts index 564fa64e129..9b0ab54b0aa 100644 --- a/src/compiler/types.ts +++ b/src/compiler/types.ts @@ -8476,11 +8476,12 @@ export const enum OuterExpressionKinds { TypeAssertions = 1 << 1, NonNullAssertions = 1 << 2, PartiallyEmittedExpressions = 1 << 3, + ExpressionsWithTypeArguments = 1 << 4, Assertions = TypeAssertions | NonNullAssertions, - All = Parentheses | Assertions | PartiallyEmittedExpressions, + All = Parentheses | Assertions | PartiallyEmittedExpressions | ExpressionsWithTypeArguments, - ExcludeJSDocTypeAssertion = 1 << 4, + ExcludeJSDocTypeAssertion = 1 << 31, } /** @internal */ @@ -8490,6 +8491,7 @@ export type OuterExpression = | SatisfiesExpression | AsExpression | NonNullExpression + | ExpressionWithTypeArguments | PartiallyEmittedExpression; /** @internal */ diff --git a/tests/baselines/reference/api/typescript.d.ts b/tests/baselines/reference/api/typescript.d.ts index 8275e422282..0e82d5ba678 100644 --- a/tests/baselines/reference/api/typescript.d.ts +++ b/tests/baselines/reference/api/typescript.d.ts @@ -7346,9 +7346,10 @@ declare namespace ts { TypeAssertions = 2, NonNullAssertions = 4, PartiallyEmittedExpressions = 8, + ExpressionsWithTypeArguments = 16, Assertions = 6, - All = 15, - ExcludeJSDocTypeAssertion = 16, + All = 31, + ExcludeJSDocTypeAssertion = -2147483648, } type ImmediatelyInvokedFunctionExpression = CallExpression & { readonly expression: FunctionExpression; diff --git a/tests/baselines/reference/assignmentToInstantiationExpression.errors.txt b/tests/baselines/reference/assignmentToInstantiationExpression.errors.txt new file mode 100644 index 00000000000..ba7138811a1 --- /dev/null +++ b/tests/baselines/reference/assignmentToInstantiationExpression.errors.txt @@ -0,0 +1,26 @@ +assignmentToInstantiationExpression.ts(2,1): error TS2364: The left-hand side of an assignment expression must be a variable or a property access. +assignmentToInstantiationExpression.ts(6,1): error TS2454: Variable 'getValue' is used before being assigned. +assignmentToInstantiationExpression.ts(6,1): error TS2364: The left-hand side of an assignment expression must be a variable or a property access. +assignmentToInstantiationExpression.ts(10,1): error TS2364: The left-hand side of an assignment expression must be a variable or a property access. + + +==== assignmentToInstantiationExpression.ts (4 errors) ==== + let obj: { fn?: () => T } = {}; + obj.fn = () => 1234; + ~~~~~~~~~~~~~~ +!!! error TS2364: The left-hand side of an assignment expression must be a variable or a property access. + + + let getValue: () => T; + getValue = () => 1234; + ~~~~~~~~ +!!! error TS2454: Variable 'getValue' is used before being assigned. + ~~~~~~~~~~~~~~~~ +!!! error TS2364: The left-hand side of an assignment expression must be a variable or a property access. + + + let getValue2!: () => T; + getValue2 = () => 1234; + ~~~~~~~~~~~~~~~~~ +!!! error TS2364: The left-hand side of an assignment expression must be a variable or a property access. + \ No newline at end of file diff --git a/tests/baselines/reference/assignmentToInstantiationExpression.js b/tests/baselines/reference/assignmentToInstantiationExpression.js new file mode 100644 index 00000000000..e9a1d61ba0f --- /dev/null +++ b/tests/baselines/reference/assignmentToInstantiationExpression.js @@ -0,0 +1,23 @@ +//// [tests/cases/compiler/assignmentToInstantiationExpression.ts] //// + +//// [assignmentToInstantiationExpression.ts] +let obj: { fn?: () => T } = {}; +obj.fn = () => 1234; + + +let getValue: () => T; +getValue = () => 1234; + + +let getValue2!: () => T; +getValue2 = () => 1234; + + +//// [assignmentToInstantiationExpression.js] +"use strict"; +var obj = {}; +(obj.fn) = function () { return 1234; }; +var getValue; +(getValue) = function () { return 1234; }; +var getValue2; +(getValue2) = function () { return 1234; }; diff --git a/tests/baselines/reference/assignmentToInstantiationExpression.symbols b/tests/baselines/reference/assignmentToInstantiationExpression.symbols new file mode 100644 index 00000000000..9a4c902040a --- /dev/null +++ b/tests/baselines/reference/assignmentToInstantiationExpression.symbols @@ -0,0 +1,32 @@ +//// [tests/cases/compiler/assignmentToInstantiationExpression.ts] //// + +=== assignmentToInstantiationExpression.ts === +let obj: { fn?: () => T } = {}; +>obj : Symbol(obj, Decl(assignmentToInstantiationExpression.ts, 0, 3)) +>fn : Symbol(fn, Decl(assignmentToInstantiationExpression.ts, 0, 10)) +>T : Symbol(T, Decl(assignmentToInstantiationExpression.ts, 0, 17)) +>T : Symbol(T, Decl(assignmentToInstantiationExpression.ts, 0, 17)) + +obj.fn = () => 1234; +>obj.fn : Symbol(fn, Decl(assignmentToInstantiationExpression.ts, 0, 10)) +>obj : Symbol(obj, Decl(assignmentToInstantiationExpression.ts, 0, 3)) +>fn : Symbol(fn, Decl(assignmentToInstantiationExpression.ts, 0, 10)) + + +let getValue: () => T; +>getValue : Symbol(getValue, Decl(assignmentToInstantiationExpression.ts, 4, 3)) +>T : Symbol(T, Decl(assignmentToInstantiationExpression.ts, 4, 15)) +>T : Symbol(T, Decl(assignmentToInstantiationExpression.ts, 4, 15)) + +getValue = () => 1234; +>getValue : Symbol(getValue, Decl(assignmentToInstantiationExpression.ts, 4, 3)) + + +let getValue2!: () => T; +>getValue2 : Symbol(getValue2, Decl(assignmentToInstantiationExpression.ts, 8, 3)) +>T : Symbol(T, Decl(assignmentToInstantiationExpression.ts, 8, 17)) +>T : Symbol(T, Decl(assignmentToInstantiationExpression.ts, 8, 17)) + +getValue2 = () => 1234; +>getValue2 : Symbol(getValue2, Decl(assignmentToInstantiationExpression.ts, 8, 3)) + diff --git a/tests/baselines/reference/assignmentToInstantiationExpression.types b/tests/baselines/reference/assignmentToInstantiationExpression.types new file mode 100644 index 00000000000..76db87269b4 --- /dev/null +++ b/tests/baselines/reference/assignmentToInstantiationExpression.types @@ -0,0 +1,61 @@ +//// [tests/cases/compiler/assignmentToInstantiationExpression.ts] //// + +=== assignmentToInstantiationExpression.ts === +let obj: { fn?: () => T } = {}; +>obj : { fn?: () => T; } +> : ^^^^^^^ ^^^ +>fn : (() => T) | undefined +> : ^^ ^^^^^^^ ^^^^^^^^^^^^^ +>{} : {} +> : ^^ + +obj.fn = () => 1234; +>obj.fn = () => 1234 : () => number +> : ^^^^^^^^^^^^ +>obj.fn : (() => number) | undefined +> : ^^^^^^^^^^^^^^^^^^^^^^^^^^ +>obj.fn : (() => T) | undefined +> : ^^ ^^^^^^^ ^^^^^^^^^^^^^ +>obj : { fn?: () => T; } +> : ^^^^^^^ ^^^ +>fn : (() => T) | undefined +> : ^^ ^^^^^^^ ^^^^^^^^^^^^^ +>() => 1234 : () => number +> : ^^^^^^^^^^^^ +>1234 : 1234 +> : ^^^^ + + +let getValue: () => T; +>getValue : () => T +> : ^ ^^^^^^^ + +getValue = () => 1234; +>getValue = () => 1234 : () => number +> : ^^^^^^^^^^^^ +>getValue : () => number +> : ^^^^^^^^^^^^ +>getValue : () => T +> : ^ ^^^^^^^ +>() => 1234 : () => number +> : ^^^^^^^^^^^^ +>1234 : 1234 +> : ^^^^ + + +let getValue2!: () => T; +>getValue2 : () => T +> : ^ ^^^^^^^ + +getValue2 = () => 1234; +>getValue2 = () => 1234 : () => number +> : ^^^^^^^^^^^^ +>getValue2 : () => number +> : ^^^^^^^^^^^^ +>getValue2 : () => T +> : ^ ^^^^^^^ +>() => 1234 : () => number +> : ^^^^^^^^^^^^ +>1234 : 1234 +> : ^^^^ + diff --git a/tests/cases/compiler/assignmentToInstantiationExpression.ts b/tests/cases/compiler/assignmentToInstantiationExpression.ts new file mode 100644 index 00000000000..1ebf1f4fbce --- /dev/null +++ b/tests/cases/compiler/assignmentToInstantiationExpression.ts @@ -0,0 +1,12 @@ +// @strict: true + +let obj: { fn?: () => T } = {}; +obj.fn = () => 1234; + + +let getValue: () => T; +getValue = () => 1234; + + +let getValue2!: () => T; +getValue2 = () => 1234;